开发者社区 问答 正文

访问控制Policy 基本元素

RAM 中使用授权策略(Policy)来描述授权的具体内容,授权内容包含以下基本因素:效力(Effect)、资源(Resource)、对资源所授予的操作权限(Action)以及限制条件(Condition)。

效力(Effect)
授权效力包括两种:允许(Allow)和拒绝(Deny)。

资源(Resource)
资源是指被授权的具体对象。
比如,访问策略“允许张三对资源 SampleBucket 执行 GetBucket 操作”中的资源是“SampleBucket”。

操作权限(Action)
操作方法是指对具体资源的操作。
比如,访问策略“允许张三对资源 SampleBucket 执行 GetBucket 操作”中的操作是“GetBucket”。

限制条件(Condition)
限制条件是指授权生效的限制条件。
比如,访问策略“允许张三在2011年12月31日之前对资源 SampleBucket 执行 GetBucket 操作”中的限制条件是“在2011年12月31日之前”。

授权策略样例
下面是一个权限策略实例,它描述的含义:允许对 OSS 的 samplebucket 进行只读操作,条件是请求者的 IP 来源为 42.160.1.0。

  1. [backcolor=transparent]{
  2. [backcolor=transparent]    [backcolor=transparent]"Version"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"1"[backcolor=transparent],
  3. [backcolor=transparent]    [backcolor=transparent]"Statement"[backcolor=transparent]:
  4. [backcolor=transparent]    [backcolor=transparent][{
  5. [backcolor=transparent]        [backcolor=transparent]"Effect"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"Allow"[backcolor=transparent],
  6. [backcolor=transparent]        [backcolor=transparent]"Action"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]"oss:List*"[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"oss:Get*"[backcolor=transparent]],
  7. [backcolor=transparent]        [backcolor=transparent]"Resource"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]"acs:oss:*:*:samplebucket"[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"acs:oss:*:*:samplebucket/*"[backcolor=transparent]],
  8. [backcolor=transparent]        [backcolor=transparent]"Condition"[backcolor=transparent]:
  9. [backcolor=transparent]        [backcolor=transparent]{
  10. [backcolor=transparent]            [backcolor=transparent]"IpAddress"[backcolor=transparent]:
  11. [backcolor=transparent]            [backcolor=transparent]{
  12. [backcolor=transparent]                [backcolor=transparent]"acs:SourceIp"[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]"42.160.1.0"
  13. [backcolor=transparent]            [backcolor=transparent]}
  14. [backcolor=transparent]        [backcolor=transparent]}
  15. [backcolor=transparent]    [backcolor=transparent]}]
  16. [backcolor=transparent]}

展开
收起
反向一觉 2017-10-31 14:54:36 2300 分享 版权
阿里云 AI 助理回答

您提供的授权策略样例是一个JSON格式的阿里云Resource Access Management(RAM)策略文档,用于控制对阿里云对象存储服务(OSS)资源的访问权限。下面是对这个策略样例的详细解析:

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "oss:List*",
                "oss:Get*"
            ],
            "Resource": [
                "acs:oss:*:*:samplebucket",
                "acs:oss:*:*:samplebucket/*"
            ],
            "Condition": {
                "IpAddress": {
                    "acs:SourceIp": "42.160.1.0"
                }
            }
        }
    ]
}
  • Version: 指定策略文档的版本,这里是"1",表示使用的是第一版策略语言。

  • Statement: 策略中的一个或多个声明块,每个声明定义了一组访问控制规则。

    • Effect: 此声明的效果,可以是"Allow"(允许)或"Deny"(拒绝)。此例中为"Allow",意味着满足条件时允许执行指定操作。

    • Action: 允许或拒绝的操作列表。这里包括了以"oss:List*"和"oss:Get*"开头的所有操作,意味着允许列出(如ListBuckets, ListObjects等)和获取(如GetObject, GetBucketACL等)OSS资源的权限。

    • Resource: 资源路径,指定了策略适用的具体资源。这里有两个条目:

    • "acs:oss:*:*:samplebucket":匹配名为samplebucket的OSS bucket。
    • "acs:oss:*:*:samplebucket/*":匹配samplebucket下的所有对象。星号(*)作为通配符,表示任何对象。

    • Condition: 条件限制,只有当这些条件被满足时,该策略才生效。本例中的条件是"IpAddress",进一步限制了请求者的IP地址必须为"42.160.1.0",即只有来自这个IP的请求才能执行上述允许的操作。

综上所述,这个策略定义了:允许任何用户(在RAM用户体系中,通过其他方式确定具体用户),当其请求来源于IP地址42.160.1.0时,对名为samplebucket的OSS bucket及其内部的所有对象进行只读操作(包括查看、下载等)。这是一种基于IP地址的细粒度访问控制策略,增强了安全性。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答