# 临时安全凭证概述
#### 临时安全凭证介绍
当您使用API方式访问华为云时，您可以使用[Security Token Service（STS）](https://support.huaweicloud.com/api-iam5/iam_02_1128.html)创建临时安全凭证，并将这些临时安全凭证提供给受信任的用户，用于访问您的华为云资源。临时安全凭证的工作方式与[永久访问密钥](https://support.huaweicloud.com/usermanual-iam5/iam_01_1150.html)基本一致，仅存在以下差异：
- 临时安全凭证是短期凭证。临时安全凭证的有效时间配置为几分钟到几小时。一旦临时安全凭证到期，华为云将不再接受这些临时安全凭证进行签名的API请求。
- 临时安全凭证不会进行存储，而是动态生成。临时安全凭证到期前，只要用户仍然拥有使用密钥的权限，就可以请求获取新的临时安全凭证。
- 临时安全凭证包含临时AK/SK和会话令牌security_token，相比于永久访问密钥，在使用时除了使用临时AK/SK对请求签名之外，还需要额外将security_token传入X-Security-Token的Header头。
因此，与永久访问密钥相比，临时安全凭证具有以下优势：
- 不必随应用程序分配或嵌入永久访问密钥。
- 临时安全凭证的生命周期较短，因此相比永久访问密钥更加安全。
 
#### 临时安全凭证与区域
临时安全凭证由STS生成，STS属于区域级服务，您可以选择任何部署STS区域的终端节点进行STS API调用。建议将调用请求发送到地理位置离您较近的区域，以减少延迟。无论您的临时安全凭证来自于哪个区域，其都会在所有区域内生效。有关更多信息，请参阅[地区和终端节点](https://console.huaweicloud.com/apiexplorer/#/endpoint/STS)。
#### 临时安全凭证的版本迭代
创建临时安全凭证目前存在两套API，分别是STS和IAM的API，请求路径分别以v5和v3.0开头，详情见下方表格。这两套API创建出来的临时安全凭证都包含会话令牌security_token，STS API生成的令牌security_token被称为STS Security Token，IAM API生成的令牌security_token被称为IAM Security Token。STS Security Token相比IAM Security Token在安全性、权限控制灵活性上更有优势，因为STS Security Token承载了更多的上下文信息，包括但不局限于：绑定的身份策略、调用者的身份信息、会话策略、标签等内容，能表达更加丰富的认证信息，同时也使用了更加安全的加解密策略。因此您在获取委托临时安全凭证时，我们更建议您使用STS API生成临时安全凭证，本章后续内容只介绍STS API的使用。
表1STS API与IAM API对应关系 
| STS API（推荐使用）                                                                                                                                                                                                                           || IAM API                                                                                                                                                                                                ||
|:---|---|:---|---|
| **API名称**                                                                                  | **使用场景介绍**                                                                                                   | **API 名称**                                                                                   | **使用场景介绍**                                                                |
| [AssumeAgency API](https://support.huaweicloud.com/api-iam5/AssumeAgency.html)   | 在IAM新版控制台中，想要使用信任委托且信任主体为普通账号时，可以使用该STS API获取信任委托的临时安全凭证。（为了兼容存量普通委托，当普通委托类型为普通账号时，也可以使用该STS API获取普通委托的临时安全凭证。） | [CreateTemporaryAccessKeyByAgency](https://support.huaweicloud.com/api-iam/iam_04_0101.html)  | 在IAM旧版控制台中，想要使用普通委托且委托类型为普通账号时，可以使用该IAM API获取普通委托的临时安全凭证。                    |
| AssumeAgencyWithSAML                                                                      | 在IAM新版控制台中，想要使用信任委托且信任主体为SAML类型身份提供商时，可以使用该STS API获取信任委托的临时安全凭证。                                              | [CreateTemporaryAccessKeyByAgency](https://support.huaweicloud.com/api-iam/iam_04_0003.html) | 在IAM旧版控制台中，想要使用基于SAML协议的虚拟用户或IAM用户SSO的身份提供商时，可以使用该IAM API获取身份提供商的临时安全凭证。  |
| AssumeAgencyWithOIDC                                                                        | 在IAM新版控制台中，想要使用信任委托且信任主体为OIDC类型身份提供商时，可以使用该STS API获取信任委托的临时安全凭证。                                              | [CreateTemporaryAccessKeyByAgency](https://support.huaweicloud.com/api-iam/iam_04_0003.html)  | 在IAM旧版控制台中，想要使用基于OIDC协议的虚拟用户或IAM用户SSO的身份提供商时，可以使用该IAM API获取身份提供商的临时安全凭证。 |
   
![](https://support.huaweicloud.com/usermanual-iam5/public_sys-resources/note_3.0-zh-cn.png)
1. 针对上述表格中的几种使用场景，获取IAM Security Token均是使用CreateTemporaryAccessKeyByAgency API，可以单击表格中的CreateTemporaryAccessKeyByAgency API查看不同场景的具体使用方式。
2. AssumeAgencyWithSAML和AssumeAgencyWithOIDC API使用的是基于信任委托SSO的身份提供商，详情请参见[身份提供商](https://support.huaweicloud.com/usermanual-iam5/iam_01_1306.html)。CreateTemporaryAccessKeyByAgency API使用的是基于虚拟用户或IAM用户SSO的身份提供商，详情请参见旧版[身份提供商](https://support.huaweicloud.com/usermanual-iam/iam_08_0001.html)。
 
#### 约束与限制
使用临时安全凭证可以访问大多数华为云服务，部分云服务当前并不支持STS API（AssumeAgency、AssumeAgencyWithOIDC、AssumeAgencyWithSAML）生成的临时安全凭证，支持的服务列表请参阅《统一身份认证用户指南（新版）》的"[支持身份策略与信任委托的云服务列表](https://support.huaweicloud.com/usermanual-iam5/iam_01_1224.html)"章节。如果您需要使用的云服务当前不支持STS服务API生成的临时安全凭证，可以切换到CreateTemporaryAccessKeyByAgency API进行使用。
#### 相关文档
- [通过委托或者信任委托获取临时安全凭证](https://support.huaweicloud.com/api-iam5/AssumeAgency.html)
- [使用访问凭证访问华为云OpenAPI最佳实践](https://support.huaweicloud.com/bestpractice-iam5/iam_05_0113.html)
 
