IAM: 특정 값을 가진 특정 태그 추가하기

IAM: 특정 값을 가진 특정 태그 추가하기

이 예시는 모든 IAM 사용자나 역할에 CostCenter 태그 키와 A-123 또는 B-456 태그 값만 추가할 수 있게 허용하는 자격 증명 기반 정책을 만드는 방법을 보여드려요. 이 정책을 사용해서 태그를 특정 태그 키와 태그 값 집합으로 제한할 수 있어요. 이 정책은 프로그래매틱 액세스와 콘솔 액세스 모두에 대한 권한을 정의해요.

출처: 문서

본문

예시 정책에서 이탤릭체로 표시된 자리표시자 텍스트를 본인 정보로 바꾼 뒤, create a policy 또는 edit a policy의 지침을 따라 적용하면 돼요.

ConsoleDisplay 스테이트먼트는 계정의 모든 사용자와 역할에 대한 태그를 볼 수 있게 해줘요. AddTag 스테이트먼트의 첫 번째 조건은 StringEquals 조건 연산자를 사용해요. 요청에 나열된 태그 값 중 하나를 가진 CostCenter 태그 키가 포함되면 조건은 true를 반환해요.

두 번째 조건은 ForAllValues:StringEquals 조건 연산자를 사용해요. 요청의 모든 태그 키가 정책의 키와 일치하면 조건은 true를 반환해요. 즉 요청에 있는 유일한 태그 키가 CostCenter여야 한다는 뜻이에요. ForAllValues 사용에 대해 더 알아보려면 Set operators for multivalued context keys 문서를 참고하세요.

{
    "Version":"2012-10-17",
    "Statement": [
        {
            "Sid": "ConsoleDisplay",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:GetUser",
                "iam:ListRoles",
                "iam:ListRoleTags",
                "iam:ListUsers",
                "iam:ListUserTags"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AddTag",
            "Effect": "Allow",
            "Action": [
                "iam:TagUser",
                "iam:TagRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CostCenter": [
                        "A-123",
                        "B-456"
                    ]
                },
                "ForAllValues:StringEquals": {"aws:TagKeys": "CostCenter"}
            }
        }
    ]
}

더 알아보기 (Learn more)