开发者社区> 问答> 正文

访问控制授权策略管理

授权策略是一组权限的集合,它以阿里云定义的 授权策略语言 来描述。通过给用户或群组附加授权策略,用户或群组中的所有用户就能获得授权策略中指定的访问权限。
RAM 支持两种类型的授权策略: 系统授权策略自定义授权策略。本文系统介绍了授权策略的管理方法,具体包括: 查看系统授权策略,以及 创建修改删除 自定义授权策略。
系统授权策略
系统授权策略是阿里云提供的一组通用授权策略,主要针对不同产品的 [backcolor=transparent]只读权限 或 [backcolor=transparent]所有权限。对于阿里云提供的这组授权策略,

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

查看系统授权策略
如果要查看阿里云支持的所有系统授权策略,请登录到 RAM 控制台,并进入 [backcolor=transparent]授权策略管理 页面,在 [backcolor=transparent]系统授权策略 子页下,通过系统授权策略列表查看或搜索。
自定义授权策略
由于系统授权策略的授权粒度比较粗,如果这种粗粒度授权策略不能满足您的需要,那么您可以创建自定义授权策略。比如,您想控制对某个具体的 ECS 实例的操作权限,或者您要求访问者的资源操作请求必须来自于指定的 IP 地址,您必须使用自定义授权策略才能满足这种细粒度要求。
应用场景
如果您有更细粒度的授权需求,比如授权用户 bob 只能对 oss://sample_bucket/bob/ 下的所有对象执行只读操作,而且限制 IP 来源必须为您的公司网络 (通过搜索引擎查询 “我的IP” 可以获知您的公司网络 IP 地址),那么您可以通过创建自定义授权策略来进行访问控制。
创建自定义授权策略
在创建自定义授权策略时,您需要了解授权策略语言的基本结构和语法,相关内容的详细描述请参考 授权策略语言描述
操作步骤
在了解授权策略语言之后,您通过 RAM 控制台可以很方便地创建满足上述需求的自定义授权策略。
  1. 登录到 RAM 控制台
  2. 单击 [backcolor=transparent]策略管理 > [backcolor=transparent]自定义授权策略。
  3. 单击 [backcolor=transparent]新建授权策略,打开新建授权策略弹窗,如下图所示:
  4. 选择一个模板(这里选择 AliyunOSSReadOnlyAccess),我们可以基于该模板进行 Policy 编辑,如下图所示:
    我们修改了自定义的授权策略名称,备注和策略内容。上图策略内容中的选中部分是我们新增的细粒度授权限制内容。
    代码样例如下所示:[backcolor=transparent] [backcolor=transparent]{
  5. [backcolor=transparent]   [backcolor=transparent]"Version"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"1"[backcolor=transparent],
  6. [backcolor=transparent]   [backcolor=transparent]"Statement"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent][
  7. [backcolor=transparent]     [backcolor=transparent]{
  8. [backcolor=transparent]       [backcolor=transparent]"Action"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent][
  9. [backcolor=transparent]         [backcolor=transparent]"oss:Get*"[backcolor=transparent],
  10. [backcolor=transparent]         [backcolor=transparent]"oss:List*"
  11. [backcolor=transparent]       [backcolor=transparent]],
  12. [backcolor=transparent]       [backcolor=transparent]"Effect"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"Allow"[backcolor=transparent],
  13. [backcolor=transparent]       [backcolor=transparent]"Resource"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"acs:oss:*:*:samplebucket/bob/*"[backcolor=transparent],
  14. [backcolor=transparent]       [backcolor=transparent]"Condition"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]{
  15. [backcolor=transparent]         [backcolor=transparent]"IpAddress"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]{
  16. [backcolor=transparent]           [backcolor=transparent]"acs:SourceIp"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"127.0.27.1"
  17. [backcolor=transparent]         [backcolor=transparent]}
  18. [backcolor=transparent]       [backcolor=transparent]}
  19. [backcolor=transparent]     [backcolor=transparent]}
  20. [backcolor=transparent]   [backcolor=transparent]]
  21. [backcolor=transparent] [backcolor=transparent]}

单击 [backcolor=transparent]新建授权策略,完成新建自定义授权策略。
后续操作
如果将这个自定义的授权策略附加给用户 bob,那么 bob 对oss://samplebucket/bob/ 下的对象有只读操作权限,且限制条件是必须从您的公司网络(假设为 121.0.27.1)进行访问。
具体操作请参考 RAM 授权
修改自定义授权策略
当用户的权限发生变更时,比如新增或撤销权限,您需要修改授权策略。当您修改授权策略时可能会遇到以下问题:
  • 希望一段时间后,老的授权策略还能继续使用。
  • 修改完成后,您发现授权策略修改错了,需要回滚。

授权策略具备 [backcolor=transparent]版本管理 机制,用于解决在使用中存在的问题:
  • 您可以为一个授权策略保留多个版本。
  • 如果超出限制,您需要自主删除不需要的版本。
  • 对于一个存在多版本的授权策略,只有一个版本是活跃的,即默认版本。

操作步骤
  1. 登录到 RAM 控制台
  2. 单击 [backcolor=transparent]策略管理 > [backcolor=transparent]自定义授权策略。
  3. 通过 [backcolor=transparent]授权策略名称(可使用关键字查询)找到需要管理的授权策略,单击其名称或对应操作列下的 [backcolor=transparent]查看。
  4. 在左侧导航栏单击 [backcolor=transparent]版本管理。

  5. 如上图所示,在 [backcolor=transparent]版本管理 页面,您可以:
    • 选择 [backcolor=transparent]查看 所有历史版本的策略内容。
    • 将非默认版本策略 [backcolor=transparent]设为当前 版本(即默认版本)。
    • 选择 [backcolor=transparent]删除 非默认版本策略。

删除自定义授权策略
您可以创建多个自定义授权策略,每个策略也可以维护多个版本。当您不再需要自定义授权策略时,您应该将授权策略删除。
前提
在删除某个授权策略前,应保证:
  • 当前授权策略不存在多版本,只有一个默认版本。若该授权策略存在多个版本,您必须先删除除默认版本之外的所有版本。
  • 当前授权策略未被引用(即附加给用户、用户组或角色)。若该授权策略已被引用,您可以:在该授权策略的 [backcolor=transparent]引用记录 中 [backcolor=transparent]解除授权。
  • 还可以选择在删除过程中 [backcolor=transparent]强制解除关联关系。

操作步骤
  1. 登录到 RAM 控制台
  2. 单击 [backcolor=transparent]策略管理 > [backcolor=transparent]自定义授权策略。
  3. 通过 [backcolor=transparent]授权策略名称(可使用关键字查询)找到需要删除的授权策略,单击其对应操作列下的 [backcolor=transparent]删除。
  4. 确认删除授权策略,可选择勾选 [backcolor=transparent]强制解除关联关系(该策略有被引用记录时强制删除引用关系)。

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

展开
收起
反向一觉 2017-10-31 14:45:14 2775 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
《云防火墙实现多账号统一管控》 立即下载
自主管理身份:分布式数字身份和可验证凭证 立即下载
低代码开发师(初级)实战教程 立即下载