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

您可以在控制台创建、授权实例 RAM 角色,并将其授予实例。

使用限制

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

前提条件

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

步骤1:创建实例 RAM 角色

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

步骤2: 授权实例 RAM 角色

  1. 登录RAM 控制台。
  2. 在导航窗格中,单击策略管理
  3. 策略管理页面,单击新建授权策略
  4. 在弹窗中:
    1. 权限策略模板选择空白模板
    2. 输入授权策略名称策略内容,如 EcsRamRoleDocumentTestingPolicy。
      说明 关于如何编写策略内容,您可以参见 RAM 文档Policy语法结构。

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

步骤3:授予实例 RAM 角色

  • 方式一:通过控制台授予实例 RAM 角色
    1. 登录云服务器 ECS 管理控制台。
    2. 在导航窗格中,单击实例
    3. 选择地域。
    4. 找到要操作的 ECS 实例,选择更多 > 实例设置 > 授予/收回 RAM 角色
    5. 在弹窗中,选择创建好的实例 RAM 角色,如 EcsRamRoleDocumentTesting,单击确定完成授予。
  • 方式二:创建 ECS 实例时授予 RAM 角色
    1. 登录云服务器 ECS 管理控制台。
    2. 在导航窗格中,单击实例
    3. 单击创建实例
    4. 可参见步骤 2:创建ECS实例设置实例的相关信息,并在RAM 角色属性中为实例选择已创建好的实例 RAM 角色,如 EcsRamRoleDocumentTesting。
  • 实例创建后,会拥有该实例 RAM 角色策略中所授权的权限。

步骤4:(可选)收回实例 RAM 角色

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

步骤5:(可选)更换实例 RAM 角色

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

步骤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。返回示例如下:
    
    {
    "AccessKeyId" : "XXXXXXXXX",
    "AccessKeySecret" : "XXXXXXXXX",
    "Expiration" : "2017-11-01T05:20:01Z",
    "SecurityToken" : "XXXXXXXXX",
    "LastUpdated" : "2017-10-31T23:20:01Z",
    "Code" : "Success"
    }

步骤7: (可选)授权 RAM 用户使用实例 RAM 角色

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

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

{
        "Version": "2016-10-17",
        "Statement": [
            {
            "Effect": "Allow",
            "Action": [
                "ecs: [ECS RAM Action]",
                "ecs: CreateInstance",
                "ecs: AttachInstanceRamRole",
                "ecs: DetachInstanceRAMRole"
            ],
            "Resource": "*"
            },
            {
        "Effect": "Allow",
        "Action": "ram:PassRole",
        "Resource": "*"
            }
        ]
}

其中,[ECS RAM Action] 表示可授权 RAM 用户的权限,请参见鉴权规则。

相关文档

  • 您也可以通过API使用实例RAM角色。
  • 您也许想借助实例 RAM 角色访问其它云产品 API。

发布者:佚, 佚名,转转请注明出处:https://www.cms2.cn/aliyun/2322.html

发表评论

邮箱地址不会被公开。 必填项已用*标注