全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
云服务器 ECS

通过控制台使用实例 RAM 角色

更新时间:2017-11-14 10:02:55

使用限制

使用实例 RAM 角色存在如下限制:

  • 只有专有网络 (VPC) 网络类型的 ECS 实例才能使用实例 RAM 角色。
  • 一个 ECS 实例一次只能授予一个实例 RAM 角色。
  • 当您给 ECS 实例授予了实例 RAM 角色后,并希望在 ECS 实例内部部署的应用程序中访问云产品的 API 时,您需要通过 Metadata 获取实例 RAM 角色的临时授权 Token。参阅 获取临时授权 Token
  • 如果您是通过 RAM 用户子账号使用实例 RAM 角色,您需要通过云账号 授权 RAM 用户使用实例 RAM 角色

前提条件

您已经开通 RAM 服务,参阅 RAM 文档 开通方法 开通 RAM 服务。

使用说明

1. 创建实例 RAM 角色

  1. 登录 RAM 控制台
  2. 在导航窗格中,单击 角色管理
  3. 在角色管理页面,单击 新建角色
  4. 在弹窗中:
    1. 角色类型 选择 服务角色
    2. 类型信息 选择 ECS 云服务器
    3. 输入角色名称及备注,如 EcsRamRoleDocumentTesting。
      Creation
    4. 单击 确认 完成新建。

2. 授权实例 RAM 角色

  1. 登录 RAM 控制台
  2. 在导航窗格中,单击 策略管理
  3. 策略管理 页面,单击 新建授权策略
  4. 在弹窗中:
    1. 权限策略模板 选择 空白模板
    2. 输入 授权策略名称策略内容,如 EcsRamRoleDocumentTestingPolicy。

      关于如何编写策略内容,您可以参阅 RAM 文档 Policy 语法结构PolicyAuthorization

    3. 单击 新建授权策略 完成授权。
  5. 在导航窗格中,单击 角色管理
  6. 角色管理 页面,选择创建好的角色,如 EcsRamRoleDocumentTesting,单击 授权
  7. 输入创建的 授权策略名称,如 EcsRamRoleDocumentTestingPolicy。
  8. 单击符号 > 选中策略名,单击 确认
    Authorize

3. 授予实例 RAM 角色

方式一:通过控制台授予实例 RAM 角色

  1. 登录 ECS 控制台
  2. 在导航窗格中,单击 实例
  3. 选择地域。
  4. 找到要操作的 ECS 实例,选择 更多 > 授予/收回 RAM 角色
  5. 在弹窗中,选择创建好的实例 RAM 角色,如 EcsRamRoleDocumentTesting,单击 确定 完成授予。
    Attach

方式二:创建 ECS 实例时授予 RAM 角色

  1. 登录 ECS 控制台
  2. 在导航窗格中,单击 实例
  3. 单击 创建实例
  4. 可参阅 创建 ECS 实例 设置实例的相关信息,并在 RAM 角色 属性中为实例选择已创建好的实例 RAM 角色,如 EcsRamRoleDocumentTesting。
    CreateInstance

实例创建后,会拥有该实例 RAM 角色策略中所授权的权限。

4. (可选)收回实例 RAM 角色

  1. 登录 ECS 控制台
  2. 在导航窗格中,单击 实例
  3. 选择地域。
  4. 选择一个已经授予 RAM 角色的 ECS 实例,选择 更多 > 授予/收回 RAM 角色
  5. 操作类型 选择 收回,单击 确定 即可收回实例 RAM 角色。
    Detach

5. (可选)更换实例 RAM 角色

  1. 登录 ECS 控制台
  2. 在导航窗格中,单击 实例
  3. 选择地域。
  4. 选择一个已经授予 RAM 角色的 ECS 实例,选择 更多 > 授予/收回 RAM 角色
  5. 操作类型 选择 授予,在已有 RAM 角色 中选择其他实例 RAM 角色,单击 确定 即可更换当前 RAM 角色。
    Replace

6. (可选)获取临时授权 Token

您可以获得实例 RAM 角色的临时授权 Token,该临时授权 Token 可以执行实例 RAM 角色的权限和资源,并且该临时授权 Token 会自动周期性地更新。示例:

  1. 远程连接并登录到 ECS 实例。
  2. 检索名为 EcsRamRoleDocumentTesting 的实例 RAM 角色的临时授权 Token:
    • Linux 实例: 执行命令 curl http://100.100.100.200/latest/meta-data/Ram/security-credentials/EcsRamRoleDocumentTesting
    • Windows 实例:参阅 实例元数据
  3. 获得临时授权 Token。返回示例如下:

    1. {
    2. "AccessKeyId" : "XXXXXXXXX",
    3. "AccessKeySecret" : "XXXXXXXXX",
    4. "Expiration" : "2017-11-01T05:20:01Z",
    5. "SecurityToken" : "XXXXXXXXX",
    6. "LastUpdated" : "2017-10-31T23:20:01Z",
    7. "Code" : "Success"
    8. }

7. (可选)授权 RAM 用户使用实例 RAM 角色

注意:当您授权 RAM 用户使用实例 RAM 角色时,您必须授权 RAM 用户对该实例 RAM 角色的 PassRole 权限。其中,PassRole 决定该 RAM 用户能否直接执行角色策略赋予的权限。

登录 RAM 控制台,参阅 给 RAM 用户授权 完成授权,授权策略如下所示:

  1. {
  2. "Version": "2016-10-17",
  3. "Statement": [
  4. {
  5. "Effect": "Allow",
  6. "Action": [
  7. "ecs: [ECS RAM Action]",
  8. "ecs: CreateInstance",
  9. "ecs: AttachInstanceRamRole",
  10. "ecs: DetachInstanceRAMRole"
  11. ],
  12. "Resource": "*"
  13. },
  14. {
  15. "Effect": "Allow",
  16. "Action": "ram:PassRole",
  17. "Resource": "*"
  18. }
  19. ]
  20. }

其中,[ECS RAM Action] 表示可授权 RAM 用户的权限,请参阅 RAM 中可对 ECS 实例进行授权的 Action

参考链接

本文导读目录