IAM: 특정 태그를 가진 사용자에게 특정 태그 추가하기
IAM: 특정 태그를 가진 사용자에게 특정 태그 추가하기
이 예시는 IAM 사용자에게 Department 태그 키에 Marketing, Development, 또는 QualityAssurance 태그 값을 추가할 수 있게 허용하는 자격 증명 기반 정책을 만드는 방법을 보여드려요. 그 사용자에게는 이미 JobFunction = Manager 태그 키-값 쌍이 있어야 해요. 이 정책을 사용해서 관리자(매니저)가 세 부서 중 하나에만 속하도록 요구할 수 있어요. 이 정책은 프로그래매틱 액세스와 콘솔 액세스 모두에 대한 권한을 정의해요.
출처: 문서
본문
예시 정책에서 이탤릭체로 표시된 자리표시자 텍스트를 본인 정보로 바꾼 뒤, create a policy 또는 edit a policy의 지침을 따라 적용하면 돼요.
ListTagsForAllUsers 스테이트먼트는 계정의 모든 사용자에 대한 태그를 볼 수 있게 해줘요. TagManagerWithSpecificDepartment 스테이트먼트의 첫 번째 조건은 StringEquals 조건 연산자를 사용해요. 조건의 두 부분이 모두 true일 때 조건은 true를 반환해요. 태그를 추가할 사용자에게는 이미 JobFunction=Manager 태그가 있어야 하고, 요청에는 나열된 태그 값 중 하나를 가진 Department 태그 키가 포함되어야 해요.
두 번째 조건은 ForAllValues:StringEquals 조건 연산자를 사용해요. 요청의 모든 태그 키가 정책의 키와 일치하면 조건은 true를 반환해요. 즉 요청에 있는 유일한 태그 키가 Department여야 한다는 뜻이에요. ForAllValues 사용에 대해 더 알아보려면 Set operators for multivalued context keys 문서를 참고하세요.
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "ListTagsForAllUsers",
"Effect": "Allow",
"Action": [
"iam:ListUserTags",
"iam:ListUsers"
],
"Resource": "*"
},
{
"Sid": "TagManagerWithSpecificDepartment",
"Effect": "Allow",
"Action": "iam:TagUser",
"Resource": "*",
"Condition": {"StringEquals": {
"iam:ResourceTag/JobFunction": "Manager",
"aws:RequestTag/Department": [
"Marketing",
"Development",
"QualityAssurance"
]
},
"ForAllValues:StringEquals": {"aws:TagKeys": "Department"}
}
}
]
}