全部产品
访问控制

授权策略管理

更新时间:2017-09-15 10:25:18   分享:   

授权策略是一组权限的集合,它以阿里云定义的 授权策略语言 来描述。通过给用户或群组附加授权策略,用户或群组中的所有用户就能获得授权策略中指定的访问权限。

RAM 支持两种类型的授权策略:系统授权策略自定义授权策略。本文系统介绍了授权策略的管理方法,具体包括:查看 系统授权策略,以及 创建修改删除 自定义授权策略。

系统授权策略

系统授权策略是阿里云提供的一组通用授权策略,主要针对不同产品的 只读权限所有权限。对于阿里云提供的这组授权策略,

  • 用户只能用于授权,而不能编辑和修改。
  • 阿里云会自动进行更新或修改。

查看系统授权策略

如果要查看阿里云支持的所有系统授权策略,请登录到 RAM 控制台,并进入 授权策略管理 页面,在 系统授权策略 子页下,通过系统授权策略列表查看或搜索。

自定义授权策略

由于系统授权策略的授权粒度比较粗,如果这种粗粒度授权策略不能满足您的需要,那么您可以创建自定义授权策略。比如,您想控制对某个具体的 ECS 实例的操作权限,或者您要求访问者的资源操作请求必须来自于指定的 IP 地址,您必须使用自定义授权策略才能满足这种细粒度要求。

应用场景

如果您有更细粒度的授权需求,比如授权用户 bob 只能对 oss://sample_bucket/bob/ 下的所有对象执行只读操作,而且限制 IP 来源必须为您的公司网络 (通过搜索引擎查询 “我的IP” 可以获知您的公司网络 IP 地址),那么您可以通过创建自定义授权策略来进行访问控制。

创建自定义授权策略

在创建自定义授权策略时,您需要了解授权策略语言的基本结构和语法,相关内容的详细描述请参考 授权策略语言描述

操作步骤

在了解授权策略语言之后,您通过 RAM 控制台可以很方便地创建满足上述需求的自定义授权策略。

  1. 登录到 RAM 控制台

  2. 单击 策略管理 > 自定义授权策略

  3. 单击 新建授权策略,打开新建授权策略弹窗,如下图所示:

    选择策略模板

  4. 选择一个模板(这里选择 AliyunOSSReadOnlyAccess),我们可以基于该模板进行 Policy 编辑,如下图所示:

    编辑自定义策略

    我们修改了自定义的授权策略名称,备注和策略内容。上图策略内容中的选中部分是我们新增的细粒度授权限制内容。

    代码样例如下所示:

    1. {
    2. "Version": "1",
    3. "Statement": [
    4. {
    5. "Action": [
    6. "oss:Get*",
    7. "oss:List*"
    8. ],
    9. "Effect": "Allow",
    10. "Resource": "acs:oss:*:*:samplebucket/bob/*",
    11. "Condition": {
    12. "IpAddress": {
    13. "acs:SourceIp": "127.0.27.1"
    14. }
    15. }
    16. }
    17. ]
    18. }
  5. 单击 新建授权策略,完成新建自定义授权策略。

后续操作

如果将这个自定义的授权策略附加给用户 bob,那么 bob 对oss://samplebucket/bob/ 下的对象有只读操作权限,且限制条件是必须从您的公司网络(假设为 121.0.27.1)进行访问。

具体操作请参考 RAM 授权

修改自定义授权策略

当用户的权限发生变更时,比如新增或撤销权限,您需要修改授权策略。当您修改授权策略时可能会遇到以下问题:

  • 希望一段时间后,老的授权策略还能继续使用。
  • 修改完成后,您发现授权策略修改错了,需要回滚。

授权策略具备 版本管理 机制,用于解决在使用中存在的问题:

  • 您可以为一个授权策略保留多个版本。
  • 如果超出限制,您需要自主删除不需要的版本。
  • 对于一个存在多版本的授权策略,只有一个版本是活跃的,即默认版本。

操作步骤

  1. 登录到 RAM 控制台

  2. 单击 策略管理 > 自定义授权策略

  3. 通过 授权策略名称(可使用关键字查询)找到需要管理的授权策略,单击其名称或对应操作列下的 查看

  4. 在左侧导航栏单击 版本管理

    策略版本管理

  5. 如上图所示,在 版本管理 页面,您可以:

    • 选择 查看 所有历史版本的策略内容。
    • 将非默认版本策略 设为当前 版本(即默认版本)。
    • 选择 删除 非默认版本策略。

删除自定义授权策略

您可以创建多个自定义授权策略,每个策略也可以维护多个版本。当您不再需要自定义授权策略时,您应该将授权策略删除。

前提

在删除某个授权策略前,应保证:

  • 当前授权策略不存在多版本,只有一个默认版本。若该授权策略存在多个版本,您必须先删除除默认版本之外的所有版本。

  • 当前授权策略未被引用(即附加给用户、用户组或角色)。若该授权策略已被引用,您可以:

    • 在该授权策略的 引用记录解除授权
    • 还可以选择在删除过程中 强制解除关联关系

操作步骤

  1. 登录到 RAM 控制台

  2. 单击 策略管理 > 自定义授权策略

  3. 通过 授权策略名称(可使用关键字查询)找到需要删除的授权策略,单击其对应操作列下的 删除

  4. 确认删除授权策略,可选择勾选 强制解除关联关系(该策略有被引用记录时强制删除引用关系)。

至此,您已成功删除一条自定义授权策略。

本文导读目录
本文导读目录
以上内容是否对您有帮助?