태그를 사용하여 IAM 사용자 및 역할에 대한 액세스 제어 - AWS Identity and Access Management

태그를 사용하여 IAM 사용자 및 역할에 대한 액세스 제어

다음 섹션의 정보를 사용하여 IAM 사용자 및 역할에 액세스할 수 있는 사람과 사용자 및 역할이 액세스할 수 있는 리소스를 제어합니다. 다른 IAM 리소스를 비롯하여, 다른 AWS 리소스에 대한 액세스 제어와 관련한 자세한 일반 정보 및 예는 태그를 사용한 AWS 리소스 액세스 제어 섹션을 참조하세요.

태그는 IAM 리소스에 연결하거나 요청에 전달하거나 요청을 하는 보안 주체에 연결할 수 있습니다. IAM 사용자 또는 역할은 리소스 및 보안 주체 둘 다일 수 있습니다. 예를 들어 사용자가 사용자 그룹을 나열하도록 허용하는 정책을 작성할 수 있습니다. 이 작업은 요청을 하는 사용자(보안 주체)가 보려는 사용자와 동일한 project=blue 태그를 갖고 있는 경우에만 허용됩니다. 이 예에서 사용자는 동일한 프로젝트에서 작업하는 동안 자신을 비롯하여 모든 사용자에 대한 그룹 구성원 자격을 볼 수 있습니다.

태그를 기반으로 액세스를 제어하려면 정책의 조건 요소에 태그 정보를 제공하세요. IAM 정책을 생성할 때 IAM 태그 및 연관된 태그 조건 키를 사용하여 다음 중 하나에 대한 액세스를 제어할 수 있습니다.

  • 리소스 - 태그를 기반으로 사용자 또는 역할 리소스에 대한 액세스를 제어합니다. 이를 위해 aws:ResourceTag/key-name 조건 키를 사용하여 리소스에 연결해야 하는 태그 키 값 페어를 지정합니다. 자세한 정보는 AWS 리소스에 대한 액세스 제어을 참조하십시오.

  • 요청 – IAM 요청에 어떤 태그가 전달될 수 있는지를 제어합니다. 이를 수행하려면 aws:RequestTag/key-name 조건 키를 사용하여 어떤 태그를 IAM 사용자 또는 역할에서 추가, 변경 또는 제거할 수 있는지 지정합니다. 이 키는 IAM 리소스 및 기타 AWS 리소스에서 동일한 방식으로 사용됩니다. 자세한 정보는 AWS 요청 중 액세스 제어을 참조하십시오.

  • 보안 주체 - 요청을 하는 사람(보안 주체)이 자신의 IAM 사용자 또는 역할에 연결된 태그를 기반으로 수행할 수 있는 권한을 제어합니다. 이를 위해 aws:PrincipalTag/key-name 조건 키를 사용하여 요청이 허용되기 전에 IAM 사용자 또는 역할에 연결해야 하는 태그를 지정합니다.

  • 권한 부여 프로세스의 일부 - aws:TagKeys 조건 키를 사용하여 특정 태그 키를 리소스, 요청 또는 보안 주체에서 사용할 수 있는지 여부를 제어합니다. 이 경우 키 값은 중요하지 않습니다. 이 키는 IAM 리소스 및 기타 AWS 리소스에서 비슷하게 작동합니다. 그러나 IAM에서 사용자를 태그 지정하면 보안 주체가 모든 서비스에 대한 요청을 할 수 있는지 여부도 제어할 수 있습니다. 자세한 정보는 태그 키를 기반으로 액세스 제어을 참조하십시오.

시각적 편집기를 사용하거나 JSON을 사용하거나 기존 관리형 정책을 가져와서 IAM 정책을 생성할 수 있습니다. 자세한 내용은 섹션을 참조하세요IAM 정책 생성

IAM 보안 주체에 대한 액세스 제어

보안 주체가 자신의 자격 증명에 연결된 태그를 기반으로 수행할 수 있는 권한을 제어할 수 있습니다.

이 예제는 이 계정의 모든 사용자가 동일한 프로젝트에서 작업하는 동안 자신을 포함한 모든 사용자의 그룹 멤버십을 볼 수 있도록 허용하는 아이덴티티 기반 정책을 생성하는 방법을 보여줍니다. 이 작업은 사용자의 리소스 태그와 보안 주체의 태그가 태그 키 project와 동일한 값을 가질 경우에만 허용됩니다. 이 정책을 사용하려면 정책 예제의 기울임꼴 자리 표시자 텍스트를 본인의 정보로 대체하세요. 그런 다음 정책 생성 또는 정책 편집의 지침을 따릅니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "iam:ListGroupsForUser", "Resource": "arn:aws:iam::111222333444:user/*", "Condition": { "StringEquals": {"aws:ResourceTag/project": "${aws:PrincipalTag/project}"} } }] }

태그 키를 기반으로 액세스 제어

IAM 정책에서 태그를 사용하여 리소스, 요청 또는 보안 주체에 특정 태그 키를 사용할 수 있는지 여부를 제어할 수 있습니다.

이 예제는 사용자의 temporary 키를 포함한 태그만 제거할 수 있는 아이덴티티 기반 정책을 생성하는 방법을 보여줍니다. 이 정책을 사용하려면 정책 예제의 기울임꼴 자리 표시자 텍스트를 본인의 정보로 대체하세요. 그런 다음 정책 생성 또는 정책 편집의 지침을 따릅니다.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:UntagUser", "Resource": "*", "Condition": {"ForAllValues:StringEquals": {"aws:TagKeys": ["temporary"]}} }] }