
# 比较STS临时安全凭证
华为云STS提供多种API操作来获取临时安全凭证。下表对比了这些API的核心功能，帮助您根据具体需求（如跨账号访问、联邦身份认证）选择合适的API。
表1STS提供的API的核心功能 
| STS API              | 调用者身份                   | 凭证有效期 (最小 \| 最大 \| 默认)  | 是否支持MFA 多因素认证 | 是否支持会话策略 |
|:---|:---|:---|:---|:---|
| AssumeAgency         | IAM用户或已拥有临时安全凭证的IAM委托   | 15m\|**最大会话持续时长设置**\|1h | 是             | 是        |
| AssumeAgencyWithSAML | 任何用户（需提供来自身份提供商的SAML响应） | 15m\|**最大会话持续时长设置**\|1h | 否             | 是        |
| AssumeAgencyWithOIDC | 任何用户（需提供来自身份提供商的OIDC令牌） | 15m\|**最大会话持续时长设置**\|1h | 否             | 是        |
   
![](https://support.huaweicloud.com/usermanual-iam5/public_sys-resources/note_3.0-zh-cn.png)
- **MFA 多因素认证：**在调用AssumeAgency API时，您可以传递MFA认证码作为请求参数。这确保了只有在用户通过多因素身份验证后才能使用生成的临时安全凭证。
- **会话策略：** 指在创建临时安全凭证时传递的参数。传递会话策略后，STS服务不会授予临时安全凭证超过原有身份（委托或用户）范围的权限，而是取其与身份策略的**交集**。
- **最大会话持续时长：**调用API获取临时安全凭证时，可使用duration_seconds参数指定获得的临时安全凭证的有效时长。但是其有效时长范围不会超过该委托定义的"最大会话持续时长"设置。此外，调用AssumeAgencyWithSAML API获取的临时安全凭证的有效时长除了受上述"最大会话持续时长"限制之外，还受请求体中的duration_seconds参数、SAML响应中的SessionDuration属性和SessionNotOnOrAfter属性共同控制，取其最小值作为最终生成的临时安全凭证的有效时长。
 
**使用建议** ：
- 跨账号访问：首选AssumeAgency。
- 企业级身份集成：使用AssumeAgencyWithSAML(如 AD FS, Okta)。
- 移动应用或 Web 应用：使用AssumeAgencyWithOIDC(如 Google, GitHub 认证)。
 
