

# 태그를 사용하여 IAM 사용자 및 역할에 대한 액세스 제어
<a name="access_iam-tags"></a>

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

**참고**  
태그 키 및 태그 키 값의 대소문자 구분에 대한 자세한 내용은 [Case sensitivity](id_tags.md#case-sensitivity)을(를) 참조하세요.

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

태그를 기반으로 액세스를 제어하려면 정책의 [조건 요소](reference_policies_elements_condition.md)에 태그 정보를 제공하세요. IAM 정책을 생성할 때 IAM 태그 및 연관된 태그 조건 키를 사용하여 다음 중 하나에 대한 액세스를 제어할 수 있습니다.
+ **[리소스](access_tags.md#access_tags_control-resources)** - 태그를 기반으로 사용자 또는 역할 리소스에 대한 액세스를 제어합니다. 이를 위해 **aws:ResourceTag/{{key-name}}** 조건 키를 사용하여 리소스에 연결해야 하는 태그 키 값 페어를 지정합니다. 자세한 내용은 [AWS 리소스에 대한 액세스 제어](access_tags.md#access_tags_control-resources) 섹션을 참조하세요.
+ **[요청](access_tags.md#access_tags_control-requests)** – IAM 요청에 어떤 태그가 전달될 수 있는지를 제어합니다. 이를 수행하려면 **aws:RequestTag/{{key-name}}** 조건 키를 사용하여 어떤 태그를 IAM 사용자 또는 역할에서 추가, 변경 또는 제거할 수 있는지 지정합니다. 이 키는 IAM 리소스 및 기타 AWS 리소스에서 동일한 방식으로 사용됩니다. 자세한 내용은 [AWS 요청 중 액세스 제어](access_tags.md#access_tags_control-requests) 섹션을 참조하세요.
+ **[보안 주체](#access_iam-tags_control-principals)** - 요청을 하는 사람(보안 주체)이 자신의 IAM 사용자 또는 역할에 연결된 태그를 기반으로 수행할 수 있는 권한을 제어합니다. 이를 위해 **aws:PrincipalTag/{{key-name}}** 조건 키를 사용하여 요청이 허용되기 전에 IAM 사용자 또는 역할에 연결해야 하는 태그를 지정합니다.
+ **[권한 부여 프로세스의 일부](#access_iam-tags_control-tag-keys)** - **aws:TagKeys** 조건 키를 사용하여 특정 태그 키를 요청 또는 보안 주체에서 사용할 수 있는지 여부를 제어합니다. 이 경우 키 값은 중요하지 않습니다. 이 키는 IAM 및 기타 AWS 서비스에 대해서도 유사하게 동작합니다. 그러나 IAM에서 사용자를 태그 지정하면 보안 주체가 모든 서비스에 대한 요청을 할 수 있는지 여부도 제어할 수 있습니다. 자세한 내용은 [태그 키를 기반으로 액세스 제어](access_tags.md#access_tags_control-tag-keys) 섹션을 참조하세요.

시각적 편집기를 사용하거나 JSON을 사용하거나 기존 관리형 정책을 가져와서 IAM 정책을 생성할 수 있습니다. 자세한 내용은 섹션을 참조하세요[고객 관리형 정책으로 사용자 지정 IAM 권한 정의](access_policies_create.md)

**참고**  
IAM 역할을 맡거나 사용자를 연동할 때 [세션 태그](id_session-tags.md)를 전달할 수도 있습니다. 세션 중에만 유효합니다.

## IAM 보안 주체에 대한 액세스 제어
<a name="access_iam-tags_control-principals"></a>

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

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

------
#### [ JSON ]

****  

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

------

## 태그 키를 기반으로 액세스 제어
<a name="access_iam-tags_control-tag-keys"></a>

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

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

------
#### [ JSON ]

****  

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

------