
# 在ECS上通过委托的临时安全凭证访问其他云服务
华为云弹性云服务器（Elastic Cloud Server，以下简称ECS）是一种云上可随时自助获取、可弹性伸缩的计算服务。本文将指导用户创建ECS委托，并获取委托的临时安全凭证。
#### 应用场景
假如您是一位开发者，开发了一个应用程序，这个应用程序运行在ECS实例上，应用程序的代码中涉及调用API访问华为云服务。此时，因为华为云服务要求访问请求方出示访问凭证，所以您的API调用将会面临提供访问凭证的问题。
访问凭证按照时效性可分为永久凭证和临时凭证，相较于永久性访问凭证，例如用户名和密码，临时安全凭证因为有效期短且刷新频率高，所以安全性更高。因此，您的应用程序若想要以更安全的方式访问云服务，需要获取临时安全凭证，而IAM的委托功能，则支持通过ECS委托获取临时安全凭证。
图1应用程序获取临时安全凭证   
![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000002416534889.png "点击放大")
如[图1]所示，以访问数据库服务举例。因为数据库服务要求访问请求方提供访问凭证，所以应用程序需要获得委托的临时的AK、SK。应用程序与ECS元数据服务通信，ECS元数据服务再与IAM通信，拿到临时AK、SK后返回给应用程序。然后，应用程序将临时AK、SK作为访问凭证出示给数据库服务，数据库服务收到请求后，先校验访问凭证是否合法，凭证通过校验后，ECS实例上的应用程序才能访问数据库服务。
#### 解决方案
针对以上应用场景，可使用IAM对ECS云服务的委托来获取临时安全凭证。在IAM上对ECS云服务授权，并对应用程序所在的ECS实例进行授权委托管理。ECS实例获得委托权限之后，应用程序可申请指定委托的临时安全凭证，从而以临时安全凭证为凭证安全访问华为云资源。详细方案如下：
1. 创建ECS云服务委托。账号在IAM控制台创建委托，指定委托对象为ECS云服务。委托创建时，选择权限策略，选择可访问的资源范围，不同的委托对应不同的权限策略。
2. ECS实例配置委托。在ECS实例的配置项中选择上一步创建的委托，一个ECS实例只可以选择一个委托。
3. 获取委托的临时安全凭证。ECS实例配置了委托参数后，就获得了委托权限。此时，ECS实例上运行的应用程序可获取委托的临时安全凭证。拥有临时安全凭证的应用程序可与华为云服务进行交互，交互行为遵循账号授予的权限策略和资源使用范围。
 
图2ECS委托   
![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000002382858704.png "点击放大")
#### 操作流程
图3ECS委托操作流程   
![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000002416498261.png "点击放大")
#### 实施步骤
如[图3]所示，配置ECS弹性云服务器委托分为创建ECS云服务委托、ECS实例配置委托、获取委托的临时安全凭证三步。详细步骤如下：
1. 管理员创建ECS云服务委托。
   
   1. 管理员登录统一身份认证服务控制台。
   
   2. 在统一身份认证服务的左侧导航窗格中，选择"委托"页签，单击"创建委托"。
   
   3. 在创建委托页面，设置"委托名称"
   
   4. "委托类型"选择"云服务"，在"云服务"中选择"弹性云服务器 ECS 裸金属服务器 BMS"。
      图4创建委托   
      ![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000002537944999.png "点击放大") 
   
   5. 选择"持续时间"。
   
   6. （可选）填写"委托描述"。建议填写描述信息。
   
   7. 单击"完成"。
   
   8. 在授权的确认弹窗中，单击"立即授权"。
   
   9. 勾选需要授予委托的权限，单击"下一步"，选择权限的作用范围，给委托授权。
   
   10. 单击"确定"，委托创建完成。
   
   
   
   
2. 管理员或拥有ECS权限的IAM用户为ECS实例配置委托。 
   - 若ECS实例未创建，则参考[自定义购买弹性云服务器](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)，购买并配置ECS云服务器，在高级配置过程中，单击下拉列表选择[步骤1]创建的委托，获取相应权限。
     图5选择委托   
     ![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000001927816860.png "点击放大") 
   
   - 若ECS实例已创建，可按照如下流程配置ECS实例委托：
   
   
   1. 进入ECS产品页，单击ECS实例名，进入配置页面。
      图6单击ECS实例名   
      ![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000001954946969.png "点击放大") 
   
   2. 管理信息栏目下，单击![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000001258817678.png)，为ECS实例选择委托。
      图7为ECS实例选择委托   
      ![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000001954837113.png "点击放大") 
   
   3. 根据委托名选择[步骤1]创建的委托。
      图8选择委托   
      ![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000001927856042.png "点击放大") 
   
   4. 单击![](https://support.huaweicloud.com/bestpractice-iam/zh-cn_image_0000001258662922.png)，完成配置
   
   
   
   
3. **应用程序获取临时凭证** 。
   
   运行在ECS实例上的应用程序调用获取委托临时安全凭证的API，即可获得临时安全凭证，之后可使用该凭证访问其他的华为云服务。AK、SK获取方法如下，如需了解详情，可参见[元数据获取](https://support.huaweicloud.com/usermanual-ecs/ecs_03_0166.html#section7)。
   - URI
   
   
   /openstack/latest/securitykey
   - 方法
   
   
   支持GET请求
   - 示例
   
   
   Linux操作系统：
   **curl http://169.254.169.254/openstack/latest/securitykey**
   Windows操作系统：
   **Invoke-RestMethod http://169.254.169.254/openstack/latest/securitykey**
   ![](https://support.huaweicloud.com/bestpractice-iam/public_sys-resources/note_3.0-zh-cn.png)
   ECS会为您自动轮换这些临时安全凭证，从而确保每次申请的临时凭证安全、有效。
   
   
 
