유사한 권한을 부여하는 Policy를 생성할 때, Role/User 별로 다르게  Resource 또는 권한을 설정해야 될 때가 있다.

 

아래의 예제는 1개의 Policy를 2개의 Role에 Attach 한 후, Attach된 Role에 따라서 권한을 사용할 수 있게 설정하는 방법이다.

 

Condition을 통해서 설정이 가능하다.

아래의 예제와 같이 다음의 설정 추가로, EC2 Role 별로 다른 권한을 사용하게 할 수 있다.

"Condition":{

  "ArnEquals":{

   "aws:PrincipalArn": "...."

  }

}

 

# 예제

 

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject",
"s3:GetObjectVersion"
],
"Resource": [
"arn:aws:s3:::s3-dev",
"arn:aws:s3:::s3-dev/*"
],
"Condition": {
"ArnEquals": {
"aws:PrincipalArn": "arn:aws:iam::111111111:role/role-ec2-dev"
}
}
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:ListBucket",
"s3:DeleteObject",
"s3:GetObjectVersion"
],
"Resource": [
"arn:aws:s3:::s3-qa",
"arn:aws:s3:::s3-qa/*"
],
"Condition": {
"ArnEquals": {
"aws:PrincipalArn": "arn:aws:iam::111111111:role/role-ec2-qa"
}
}
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*"
}
]
}

유사한 권한을 부여하는 Policy를 생성할 때, Role/User 별로 다르게  Resource 또는 권한을 설정해야 될 때가 있다.

 

아래의 예제는 1개의 Policy를 2개의 Role에 Attach 한 후, Attach된 Role에 따라서 권한을 사용할 수 있게 설정하는 방법이다.

 

Condition을 통해서 설정이 가능하다.

아래의 예제와 같이 다음의 설정 추가로, EC2 Role 별로 다른 권한을 사용하게 할 수 있다.

"Condition":{

  "ArnEquals":{

   "aws:PrincipalArn": "...."

  }

}

 

# 예제