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"}
            }
        }
    ]
}

더 알아보기 (Learn more)