全部产品
阿里云办公

使用 RAM 控制资源访问

更新时间:2018-02-01 10:39:12

访问控制服务 (RAM) 是阿里云为客户提供的 用户身份管理资源访问控制 服务。使用 RAM,您可以创建、管理子账号,并可以控制这些子账号对主账号名下的资源具有的操作权限。当企业账号存在多用户协同操作资源时,使用 RAM 可以避免多用户共享云账号密钥,主账号可以按需为子账号分配最小权限,从而降低企业信息安全风险。

使用访问控制服务(RAM),可以控制子账号可以执行的 ROS 操作,也可以控制子账号可以对哪些资源栈(Stack)下的资源进行操作。这样,就能以 ROS 的资源栈(Stack)为单位对资源集合进行统一的权限控制和管理。

有关访问控制服务(RAM)的更多信息,请参见 RAM 用户指南

如何使用 RAM 控制资源访问?

  1. 使用您的阿里云主账号登录 RAM 控制台

  2. 单击左侧导航栏中 设置, 对 RAM 进行初始设置, 包括企业别名设置、子账号密码强度设置,和子账号安全设置。如操作中有问题,请参见 RAM 初始设置

  3. 单击左侧导航栏中 用户管理,然后新建子账号,及为子账号设置登录密码和 AccessKey。具体操作流程,请参见 创建 RAM 用户

  4. 创建 ROS 相关操作的自定义授权策略,即子账号可以对哪些资源栈进行哪些操作的授权策略(您也可以事先创建好自定义 ROS 授权策略)。具体操作步骤,请参见 创建自定义授权策略

    授权策略语言,请参见 Policy 基本元素Policy 语法结构

    以下为创建 ROS 相关的自定义授权策略可用到的操作名称、描述、和示例。

    使用以下表格列出的可选操作,作为策略中的 ActionResource 元素的内容,可以组合出多种授权策略。 Action 元素表示授权的操作;Resource 表示授权操作的资源。

    ROS 相关操作列表

    操作 描述
    ros:DescribeStacks 查看资源栈列表。
    ros:CreateStack 创建资源栈。
    ros:DeleteStack 删除资源栈。
    ros:UpdateStack 更新资源栈。
    ros:CancelUpdateStack 取消资源栈更新。
    ros:AbandonStack 丢弃资源栈。
    ros:ValidateTemplate 校验模板。
    ros:DescribeStackDetail 查看资源栈详情。
    ros:DescribeStackResources 查看资源列表。
    ros:DescribeStackResourceDetail 查看资源详情。
    ros:DescribeStackEvents 查看事件列表。
    ros:DescribeStackTemplate 查看模板内容。

    ROS 资源描述符

    RAM 的策略定义中,可以通过下面的方式描述 ROS 资源栈,其中的变量可以用星号 (*)来表示所有。

    如授权查看某一地域内的资源栈列表和详情的描述结构为:

    1. acs:ros:{region_id}:{owner_id}:stack/{stack_name}/{stack_id}

    示例:

    1. acs:ros:cn-beijing:*:stack/myStack/94dd5431-2df6-4415-81ca-732a7082252a

    策略示例:授予查看资源栈的策略

    1. {
    2. "Statement": [
    3. {
    4. "Action": [
    5. "ros:DescribeStacks",
    6. "ros:DescribeStackDetail"
    7. ],
    8. "Effect": "Allow",
    9. "Resource": "acs:ros:cn-beijing:*:stack/*"
    10. }
    11. ],
    12. "Version": "1"
    13. }

    该策略授予查看 cn-beijing 区域的所有资源栈列表和资源栈详情的权限。其中,星号是一个通配符,它表示账号下 cn-beijing 地域的所有资源栈。

    策略示例:授予创建和查看资源栈的策略

    1. {
    2. "Statement": [
    3. {
    4. "Action": [
    5. "ros:CreateStack",
    6. "ros:DescribeStacks",
    7. "ros:DescribeStackDetail",
    8. "ros:ValidateTemplate"
    9. ],
    10. "Effect": "Allow",
    11. "Resource": "*"
    12. }
    13. ],
    14. "Version": "1"
    15. }

    通过该策略,可以授予用户在所有区域创建和查看资源栈的权限。

    策略示例:授予指定用户更新指定资源栈的策略

    1. {
    2. "Statement": [
    3. {
    4. "Action": [
    5. "ros:UpdateStack"
    6. ],
    7. "Effect": "Allow",
    8. "Resource": "acs:ros:cn-beijing:123456789:stack/myStack/94dd5431-2df6-4415-81ca-732a7082252a"
    9. }
    10. ],
    11. "Version": "1"
    12. }

    该策略授予 ID 为 123456789 的用户可以对名称为 myStack,ID 为 94dd5431-2df6-4415-81ca-732a7082252a 的资源栈进行更新操作。

  5. 用户管理群组管理 页面列表中,找到要授权的子账号或群组,并给其授予权限。