导航

AWS - Policy structure.

Policy 的语法:他是按照Json的方式组织的,包括一到多个申明,每个申明按照以下方式:

{
  "Statement":[{
    "Effect":"effect",
    "Action":"action",
    "Resource":"arn",
    "Condition":{
      "condition":{
        "key":"value"
        }
      }
    }
  ]
}

每个申明(statement)包括4个元素:

Effect:它包括"Allow" 和 "Deny"两个部分。默认情况下,IAM 用户没有权限使用资源和API.

Action: 用来说明我们要授权或拒绝使用的API行为

Resource: resouce 受到 Action的影响。有些Amazon EC 2 API action 允许你包括特定的资源到Policy里,你可以通过action来创建或修改他们。要想申明一个资源,我们需要使用他的"Amazon Resource Name"(ARN).

Condition:  这是可选的。

 

一些例子:

多个actions: "Action": ["ec2:action1", "ec2.action2"]

"Action" : "ec2:Describe*"  或者 "Action"" "ec2:*"

AWS EC2支持这些 actions, 包括AcceptVpcPeeringConnection, AllocateAddress, .... http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Operations.html

 

介绍一下 ARN(Amazon Resource Names for Amazon EC2)

ARN 的格式一般为:

arn:aws:[service]:[region]:[account]:resourceType/resourcePath

service: 例如"ec2",

region: 例如"us-east-1"

account: AWS的账号ID, 不包括连字符(123456789012)

resourceType: 例如(instance)

resourcePath: 可以为*

一些例子:

"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/i-1a2b3c4d"

"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*"

"Resource": "*"

 

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policy-structure.html#policy-syntax

 

posted on 2014-12-29 17:07  水中游  阅读(249)  评论(0)    收藏  举报