

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 의 태그 AWS KMS
<a name="tagging-keys"></a>

*태그*는 AWS 리소스에 할당(또는 AWS 할당)할 수 있는 선택적 메타데이터 레이블입니다. 각 태그는*태그 키* 및 *태그 값*으로 구성되며, 둘 다 대소 문자를 구분하는 문자열입니다. 태그 값은 빈(null) 문자열일 수도 있습니다. 리소스의 각 태그에는 서로 다른 태그 키가 있어야 하지만 여러 AWS 리소스에 동일한 태그를 추가할 수 있습니다. 각 리소스에는 최대 50개의 사용자 생성 태그가 포함될 수 있습니다.

태그 키 또는 태그 값에 기밀 또는 민감한 정보를 포함하지 마세요. 태그는 결제를 AWS 서비스포함하여 많은 사용자가 액세스할 수 있습니다.

에서는 KMS 키를 생성할 때 고객 관리형 키에 태그를 추가하고 [삭제 보류](key-state.md) 중이 아닌 한 기존 KMS 키에 태그를 지정하거나 태그를 해제할 AWS KMS수 있습니다. 다른 에서는 별칭, 사용자 지정 키 스토어 AWS 관리형 키AWS 소유 키또는 KMS 키에 태그를 지정할 수 없습니다 AWS 계정. 태그는 선택 사항이지만 매우 유용할 수 있습니다.

예를 들어 Alpha 프로젝트에 사용하는 모든 KMS 키와 Amazon S3 버킷에 `"Project"="Alpha"` 태그를 추가할 수 있습니다.

```
TagKey   = "Project"
TagValue = "Alpha"
```

형식 및 구문을 포함한 태그에 대한 일반적인 내용은의 [AWS 리소스 태그 지정](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)을 참조하세요*Amazon Web Services 일반 참조*.

태그는 다음을 지원합니다.
+  AWS 리소스를 식별하고 구성합니다. 많은 AWS 서비스가 태그 지정을 지원하므로 서로 다른 서비스의 리소스에 동일한 태그를 할당하여 리소스가 관련이 있음을 나타낼 수 있습니다. 예를 들어 KMS 키와 Amazon Elastic Block Store(Amazon EBS) 볼륨 또는 AWS Secrets Manager 보안 암호에 동일한 태그를 할당할 수 있습니다. 태그를 사용하여 자동화를 위해 KMS 키를 식별할 수도 있습니다.
+  AWS 비용을 추적합니다. AWS 리소스에 태그를 추가하면는 태그별로 집계된 사용량 및 비용이 포함된 비용 할당 보고서를 AWS 생성합니다. 이 기능을 사용하여 프로젝트, 애플리케이션 또는 비용 센터의 AWS KMS 비용을 추적할 수 있습니다.

  비용 할당 태그 사용에 대한 자세한 내용은 *AWS Billing 사용자 설명서*의 [비용 할당 태그 사용](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)을 참조하세요. 태그 키 및 태그 값에 대한 규칙에 대한 자세한 내용은 *AWS Billing 사용 설명서*의 [사용자 정의 태그 제한](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)을 참조하세요.
+  AWS 리소스에 대한 액세스를 제어합니다. 태그를 기반으로 KMS 키에 대한 액세스를 허용하고 거부하는 것은 [속성 기반 액세스 제어](abac.md)(ABAC) AWS KMS 지원의 일부입니다. 태그를 AWS KMS keys 기반으로에 대한 액세스를 제어하는 방법에 대한 자세한 내용은 섹션을 참조하세요[태그를 사용하여 KMS 키에 대한 액세스 제어](tag-authorization.md). 태그를 사용하여 AWS 리소스에 대한 액세스를 제어하는 방법에 대한 자세한 내용은 *IAM 사용 설명서*의 [AWS 리소스 태그를 사용하여 리소스에 대한 액세스 제어를 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html).

AWS KMS 는 [TagResource](ct-tagresource.md), [UntagResource](ct-untagresource.md) 또는 [ListResourceTags](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListResourceTags.html) 작업을 사용할 때 AWS CloudTrail 로그에 항목을 기록합니다.

**Topics**
+ [태그에 대한 액세스 제어](tag-permissions.md)
+ [KMS 키에 태그 추가](add-tags.md)
+ [KMS 키와 연결된 태그 편집](edit-tags.md)
+ [KMS 키와 연결된 태그 제거](remove-tags.md)
+ [KMS 키와 연결된 태그 보기](view-tags.md)
+ [태그를 사용하여 KMS 키에 대한 액세스 제어](tag-authorization.md)

# 태그에 대한 액세스 제어
<a name="tag-permissions"></a>

 AWS KMS 콘솔에서 또는 API를 사용하여 태그를 추가, 확인 및 삭제하려면 보안 주체에 태그 지정 권한이 필요합니다. [키 정책](key-policies.md)에서 이러한 권한을 제공할 수 있습니다. IAM 정책([VPC 엔드포인트 정책](https://docs.aws.amazon.com/vpc/latest/privatelink/interface-endpoints.html#edit-vpc-endpoint-policy) 포함)에서도 이를 제공할 수 있지만, 이는 [키 정책에서 허용](key-policy-default.md#allow-iam-policies)하는 경우에만 가능합니다. [AWSKeyManagementServicePowerUser](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSKeyManagementServicePowerUser) 관리형 정책은 보안 주체가 계정이 액세스할 수 있는 모든 KMS 키에 대해 태그를 지정하고 태그를 해제하고 나열할 수 있도록 허용합니다.

태그에 AWS 전역 조건 키를 사용하여 이러한 권한을 제한할 수도 있습니다. AWS KMS에서 이러한 조건은 태그 지정 작업(예: [TagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_TagResource.html) 및 [UntagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_UntagResource.html))에 대한 액세스를 제어할 수 있습니다.

**참고**  
보안 주체에게 태그 및 별칭을 관리할 수 있는 권한을 부여하는 데 주의해야 합니다. 태그나 별칭을 변경하면 고객 관리형 키의 권한을 허용하거나 거부할 수 있습니다. 자세한 내용은 [에 대한 ABAC AWS KMS](abac.md) 및 [태그를 사용하여 KMS 키에 대한 액세스 제어](tag-authorization.md) 섹션을 참조하세요.

예제 정책과 자세한 내용은 *IAM 사용 설명서*의 [태그 키를 기반으로 액세스 제어](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-tag-keys) 섹션을 참조하십시오.

태그를 만들고 관리할 수 있는 권한은 다음과 같습니다.

**kms:TagResource**  
보안 주체가 태그를 추가하거나 편집할 수 있습니다. KMS 키를 생성하는 동안 태그를 추가하려면 보안 주체에 특정 KMS 키로 제한되지 않는 IAM 정책에 대한 권한이 있어야 합니다.

**kms:ListResourceTags**  
보안 주체가 KMS 키의 태그를 볼 수 있도록 허용합니다.

**kms:UntagResource**  
보안 주체가 KMS 키에서 태그를 삭제할 수 있도록 허용합니다.

## 정책에서 태그 지정 권한
<a name="tag-permission-examples"></a>

키 정책 또는 IAM 정책에서 태그 지정 권한을 제공할 수 있습니다. 예를 들어 다음 예제 키 정책은 KMS 키에 대한 태그 지정 권한을 사용자에게 제공합니다. 예를 들어 관리자 또는 개발자 역할로 가정할 수 있는 모든 사용자에게 태그를 볼 수 있는 권한을 제공합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Id": "example-key-policy",
  "Statement": [
    { 
      "Sid": "EnableIAMUserPermissions",
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::111122223333:root"},
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Sid": "AllowAllTaggingPermissions",
      "Effect": "Allow",
      "Principal": {"AWS": [
        "arn:aws:iam::111122223333:user/LeadAdmin",
        "arn:aws:iam::111122223333:user/SupportLead"
      ]},
      "Action": [
          "kms:TagResource",
          "kms:ListResourceTags",
          "kms:UntagResource"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AllowRolesViewTags",
      "Effect": "Allow",
      "Principal": {"AWS": [
        "arn:aws:iam::111122223333:role/Administrator",
        "arn:aws:iam::111122223333:role/Developer"
      ]},
      "Action": "kms:ListResourceTags",
      "Resource": "*"
    }
  ]
}
```

------

보안 주체에게 여러 KMS 키에 대한 태그 지정 권한을 부여하려면 IAM 정책을 사용할 수 있습니다. 이 정책이 유효하려면 각 KMS 키의 키 정책으로 인해 계정이 IAM 정책을 사용하여 KMS 키에 대한 액세스를 제어할 수 있어야 합니다.

예를 들어, 다음 IAM 정책은 보안 주체가 KMS 키를 생성할 수 있도록 허용합니다. 또한 지정된 계정의 모든 KMS 키에 태그를 만들고 관리할 수 있습니다. 이 조합을 통해 보안 주체가 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 작업의 [태그](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html#KMS-CreateKey-request-Tags) 파라미터를 사용하여 KMS 키를 만드는 동안 KMS 키에 태그를 추가할 수 있습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMPolicyCreateKeys",
      "Effect": "Allow",
      "Action": "kms:CreateKey",
      "Resource": "*"
    },
    {
      "Sid": "IAMPolicyTags",
      "Effect": "Allow",
      "Action": [
        "kms:TagResource",
        "kms:UntagResource",
        "kms:ListResourceTags"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*"
    }    
  ]
}
```

------

## 태그 지정 권한 제한
<a name="tag-permissions-conditions"></a>

[정책 조건](policy-conditions.md)을 사용하여 태그 지정 권한을 제한할 수 있습니다. 다음 정책 조건을 `kms:TagResource` 및 `kms:UntagResource` 권한에 적용할 수 있습니다. 예를 들어, `aws:RequestTag/tag-key` 조건을 사용하여 보안 주체가 특정 태그만 추가하거나 보안 주체가 특정 태그 키를 사용하여 태그를 추가하지 못하도록 할 수 있습니다. 또는 `kms:KeyOrigin` 조건을 사용하여 보안 주체가 [가져온 키 구성 요소](importing-keys.md)가 있는 KMS 키에 태그를 지정하거나 태그를 해제하지 못하도록 할 수 있습니다.
+ [aws:RequestTag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag)
+ [aws:ResourceTag/*tag-key*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag)(IAM 정책만 해당)
+ [aws:TagKeys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tag-keys)
+ [kms:CallerAccount](conditions-kms.md#conditions-kms-caller-account)
+ [kms:KeySpec](conditions-kms.md#conditions-kms-key-spec)
+ [kms:KeyUsage](conditions-kms.md#conditions-kms-key-usage)
+ [kms:KeyOrigin](conditions-kms.md#conditions-kms-key-origin)
+ [kms:ViaService](conditions-kms.md#conditions-kms-via-service)

태그를 사용하여 KMS 키에 대한 액세스를 제어할 때 가장 좋은 방법은 `aws:RequestTag/tag-key` 또 는`aws:TagKeys` 조건 키를 사용하여 허용되는 태그 (또는 태그 키)를 결정하는 것입니다.

예를 들어 다음 IAM 정책은 이전 것과 비슷합니다. 그러나 이 정책은 보안 주체가 `Project` 태그 키가 있는 태그에 대해서만 태그(`TagResource`)를 생성하고 태그 `UntagResource`를 삭제할 수 있도록 허용합니다.

왜냐하면 `TagResource` 및 `UntagResource` 요청에는 여러 태그가 포함될 수 있으므로 `ForAllValues` 또는 `ForAnyValue` 집합 연산자와 [aws:TagKeys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys) 조건을 지정해야 합니다. `ForAnyValue` 연산자를 사용하려면 요청의 태그 키 중 적어도 하나가 정책의 태그 키 중 하나와 일치해야 합니다. `ForAllValues` 연산자를 사용하려면 요청의 모든 태그 키가 정책의 태그 키 중 하나와 일치해야 합니다. `ForAllValues` 연산자는 요청에 태그가 없는 경우에도 `true`를 반환하지만 태그가 지정되지 않으면 TagResource 및 UntagResource가 실패합니다. 집합 연산자에 대한 자세한 내용은* IAM 사용 설명서*의 [여러 키 및 값 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html#reference_policies_multi-key-or-value-conditions)을 참조하십시오.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMPolicyCreateKey",
      "Effect": "Allow",
      "Action": "kms:CreateKey",
      "Resource": "*"
    },
    {
      "Sid": "IAMPolicyViewAllTags",
      "Effect": "Allow",
      "Action": "kms:ListResourceTags",
      "Resource": "arn:aws:kms:*:111122223333:key/*"
    },
    {
      "Sid": "IAMPolicyManageTags",
      "Effect": "Allow",
      "Action": [
        "kms:TagResource",
        "kms:UntagResource"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*",
      "Condition": {
          "ForAllValues:StringEquals": {"aws:TagKeys": "Project"}
      }
    }
  ]
}
```

------

# KMS 키에 태그 추가
<a name="add-tags"></a>

태그는 AWS 리소스를 식별하고 구성하는 데 도움이 됩니다. [KMS 키를 생성](create-keys.md)할 때 고객 관리형 키에 태그를 추가하거나 기존 KMS 키에 태그를 추가할 수 있습니다. 태그를 지정할 수 없습니다 AWS 관리형 키.

다음 절차에서는 콘솔 및 AWS KMS API를 사용하여 고객 관리형 키에 AWS KMS 태그를 추가하는 방법을 보여줍니다. AWS KMS API 예제에서는 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)를 사용하지만 지원되는 모든 프로그래밍 언어를 사용할 수 있습니다.

**Topics**
+ [KMS 키 생성 중 태그 추가](#tag-on-create)
+ [기존 KMS 키에 태그 추가](#tag-exisiting)

## KMS 키 생성 중 태그 추가
<a name="tag-on-create"></a>

 AWS KMS 콘솔 또는 [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 작업을 사용하여 키를 생성할 때 KMS 키에 태그를 추가할 수 있습니다. KMS 키를 생성할 때 태그를 추가하려면 KMS 키를 생성하는 데 필요한 권한 외에 IAM 정책에 `kms:TagResource` 권한이 있어야 합니다. 최소한 권한에 계정 및 리전의 모든 KMS 키가 포함되어야 합니다. 자세한 내용은 [태그에 대한 액세스 제어](tag-permissions.md)을 참조하세요.

### AWS KMS 콘솔 사용
<a name="tag-on-create-console"></a>

콘솔에서 KMS 키를 생성할 때 태그를 추가하려면 콘솔에서 KMS 키에 태그를 추가하고 KMS 키를 생성하는 데 필요한 권한 외에 KMS 키를 보는 데 필요한 권한이 있어야 합니다. 최소한 권한에 계정 및 리전의 모든 KMS 키가 포함되어야 합니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) AWS Key Management Service (AWS KMS) 콘솔을 엽니다.

1. 를 변경하려면 페이지 오른쪽 상단에 있는 리전 선택기를 AWS 리전사용합니다.

1. 탐색 창에서 **고객 관리형 키**를 선택합니다. ( AWS 관리형 키의 태그를 관리할 수 없습니다.)

1. 키 유형을 선택한 다음 **다음(Next)**를 선택합니다.

1. 별칭과 설명(선택 사항)을 입력합니다.

1. 태그 키와 태그 값(선택 사항)을 입력합니다. 태그를 추가하려면 **태그 추가**를 선택합니다. 태그를 삭제하려면 **제거(Remove)**를 선택합니다. 새 KMS 키에 태그를 지정했으면 **다음(Next)**를 선택합니다.

1. KMS 키 만들기를 마칩니다.

### AWS KMS API 사용
<a name="tagging-keys-create-key"></a>

[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 작업을 사용하여 키를 생성할 때 태그를 지정하려면 이 작업의 `Tags` 파라미터를 사용하세요.

`CreateKey` 의 값은`Tags` 파라미터 값은 대소문자를 구분하는 태그 키 및 태그 값 페어 모음입니다. KMS 키의 각 태그에는 다른 태그 이름이 있어야 합니다. 태그 값은 null이거나 빈 문자열일 수 있습니다.

예를 들어 다음 AWS CLI 명령은 `Project:Alpha` 태그가 있는 대칭 암호화 KMS 키를 생성합니다. 두 개 이상의 키-값 페어를 지정할 때는 공백을 사용하여 각 페어를 구분합니다.

```
$ aws kms create-key --tags TagKey=Project,TagValue=Alpha
```

이 명령이 성공하면 새 KMS 키에 대한 정보가 있는 `KeyMetadata` 객체를 반환합니다. 그러나 `KeyMetadata`에는 태그가 포함되지 않습니다. 태그를 가져오려면 [ListResourceTags](view-tags.md#tagging-keys-list-resource-tags) 작업을 사용합니다.

## 기존 KMS 키에 태그 추가
<a name="tag-exisiting"></a>

 AWS KMS 콘솔에서 또는 [TagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_TagResource.html) 작업을 사용하여 기존 고객 관리형 KMS 키에 태그를 추가할 수 있습니다. 태그를 추가하려면 KMS 키에 대한 태그 지정 권한이 필요합니다. KMS 키의 키 정책이나, 키 정책에서 허용하는 경우 KMS 키가 포함된 IAM 정책에서 이 권한을 얻을 수 있습니다.

### AWS KMS 콘솔 사용
<a name="tag-existing-console"></a>

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) AWS Key Management Service (AWS KMS) 콘솔을 엽니다.

1. 를 변경하려면 페이지 오른쪽 상단에 있는 리전 선택기를 AWS 리전사용합니다.

1. 탐색 창에서 **고객 관리형 키**를 선택합니다. ( AWS 관리형 키의 태그를 관리할 수 없습니다.)

1. 테이블 필터를 사용하여 특정 태그가 있는 KMS 키만 표시할 수 있습니다. 자세한 내용은 [AWS KMS 콘솔을 사용하여 태그 보기](view-tags.md#view-tag-console)를 참조하세요.

1. KMS 키의 별칭 옆의 확인란을 선택합니다.

1. [**Key actions**], [**Add or edit tags**]를 선택합니다.

1. KMS 키의 세부 정보 페이지에서 **태그** 탭을 선택합니다.
   + 첫 번째 태그를 생성하려면 **태그 생성**을 선택하고 태그 키(필수)와 태그 값(선택 사항)을 입력한 다음, **저장**을 선택합니다.

     태그 값을 비워 두면 실제 태그 값은 null 또는 빈 문자열입니다.
   + 태그를 추가하려면 **편집**을 선택하고 **태그 추가**를 선택하고 태그 키와 태그 값을 입력한 다음, **저장**을 선택합니다.

1. 변경 사항을 저장하려면 **변경 사항 저장**을 선택합니다.

### AWS KMS API 사용
<a name="tagging-keys-tag-resource"></a>

[TagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_TagResource.html) 작업은 KMS 키에 하나 이상의 태그를 추가합니다. 이 작업을 사용하여 다른 AWS 계정의 태그를 추가할 수 없습니다. TagResource 작업을 사용하여 기존 태그를 편집할 수도 있습니다. 자세한 내용은 [KMS 키와 연결된 태그 편집](edit-tags.md) 단원을 참조하십시오.

태그를 추가하려면 새 태그 키와 태그 값을 지정합니다. KMS 키의 각 태그에는 다른 태그 키가 있어야 합니다. 태그 값은 null이거나 빈 문자열일 수 있습니다.

예를 들어 다음 명령은 예제 KMS 키에 **Purpose** 및 **Department** 태그를 추가합니다.

```
$ aws kms tag-resource \
         --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
         --tags TagKey=Purpose,TagValue=Pretest TagKey=Department,TagValue=Finance
```

이 명령이 제대로 실행되면 메타데이터를 반환하지 않습니다. KMS 키에 지정된 태그를 보려면 [ListResourceTags](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListResourceTags.html) 작업을 사용합니다.

# KMS 키와 연결된 태그 편집
<a name="edit-tags"></a>

태그는 AWS 리소스를 식별하고 구성하는 데 도움이 됩니다. AWS KMS 콘솔에서 또는 [TagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_TagResource.html) 작업을 사용하여 고객 관리형 KMS 키와 연결된 태그를 편집할 수 있습니다. 의 태그는 편집할 수 없습니다 AWS 관리형 키.

다음 절차에서는 KMS 키와 연결된 태그를 편집하는 방법을 보여줍니다. AWS KMS API 예제들은 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)를 사용하지만, 사용자는 지원되는 프로그래밍 언어라면 무엇이든 사용할 수 있습니다.

## AWS KMS 콘솔 사용
<a name="edit-tag-console"></a>

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) AWS Key Management Service (AWS KMS) 콘솔을 엽니다.

1. 를 변경하려면 페이지 오른쪽 상단에 있는 리전 선택기를 AWS 리전사용합니다.

1. 탐색 창에서 **고객 관리형 키**를 선택합니다. (의 태그는 편집할 수 없음 AWS 관리형 키)

1. 테이블 필터를 사용하여 특정 태그가 있는 KMS 키만 표시할 수 있습니다. 자세한 내용은 [AWS KMS 콘솔을 사용하여 태그 보기](view-tags.md#view-tag-console)를 참조하세요.

1. KMS 키의 별칭 옆의 확인란을 선택합니다.

1. [**Key actions**], [**Add or edit tags**]를 선택합니다.

1. KMS 키의 세부 정보 페이지에서 **태그** 탭을 선택합니다.
   + 태그의 이름이나 값을 변경하려면 **편집**을 선택하여 변경을 한 다음, **저장**을 선택합니다.

1. 변경 사항을 저장하려면 **변경 사항 저장**을 선택합니다.

## AWS KMS API 사용
<a name="tag-existing-api"></a>

[TagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_TagResource.html) 작업은 고객 관리형 키에 하나 이상의 태그를 추가합니다. 그러나 **TagResource**를 사용해 기존 태그의 태그 값을 변경할 수도 있습니다. 이 작업을 사용하여 다른 AWS 계정의 태그를 추가 또는 편집할 수 없습니다.

태그를 편집하려면 기존 태그 키와 새 태그 값을 지정합니다. KMS 키의 각 태그에는 다른 태그 키가 있어야 합니다. 태그 값은 null이거나 빈 문자열일 수 있습니다.

예를 들어 이 명령은 `Purpose` 태그 값을 `Pretest`에서 `Test`로 바꿉니다.

```
$ aws kms tag-resource \
         --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
         --tags TagKey=Purpose,TagValue=Test
```

# KMS 키와 연결된 태그 제거
<a name="remove-tags"></a>

태그는 AWS 리소스를 식별하고 구성하는 데 도움이 됩니다. AWS KMS 콘솔에서 또는 [UntagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_UntagResource.html) 작업을 사용하여 고객 관리형 KMS 키와 연결된 태그를 제거할 수 있습니다. 의 태그는 편집하거나 제거할 수 없습니다 AWS 관리형 키.

다음 절차에서는 KMS 키에서 태그를 제거하는 방법을 보여줍니다. AWS KMS API 예제들은 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)를 사용하지만, 사용자는 지원되는 프로그래밍 언어라면 무엇이든 사용할 수 있습니다.

## AWS KMS 콘솔 사용
<a name="delete-tag-console"></a>

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) AWS Key Management Service (AWS KMS) 콘솔을 엽니다.

1. 를 변경하려면 페이지 오른쪽 상단에 있는 리전 선택기를 AWS 리전사용합니다.

1. 탐색 창에서 **고객 관리형 키**를 선택합니다. ( AWS 관리형 키의 태그를 관리할 수 없습니다.)

1. 테이블 필터를 사용하여 특정 태그가 있는 KMS 키만 표시할 수 있습니다. 자세한 내용은 [AWS KMS 콘솔을 사용하여 태그 보기](view-tags.md#view-tag-console)를 참조하세요.

1. KMS 키의 별칭 옆의 확인란을 선택합니다.

1. [**Key actions**], [**Add or edit tags**]를 선택합니다.

1. KMS 키의 세부 정보 페이지에서 **태그** 탭을 선택합니다.
   + 태그를 삭제하려면 **편집**을 선택합니다. 태그 행에서 **제거**를 선택한 다음 **저장**을 선택합니다.

1. 변경 사항을 저장하려면 **변경 사항 저장**을 선택합니다.

## AWS KMS API 사용
<a name="tagging-keys-untag-resource"></a>

[UntagResource](https://docs.aws.amazon.com/kms/latest/APIReference/API_UntagResource.html) 작업은 KMS 키에서 태그를 삭제합니다. 삭제할 태그를 식별하려면 태그 키를 지정합니다. 이 작업을 사용하여 다른 AWS 계정의 KMS 키에서 태그를 삭제할 수 없습니다.

성공하면 `UntagResource` 작업은 어떠한 출력도 반환하지 않습니다. 또한 지정된 태그 키가 KMS 키에서 발견되지 않으면 예외를 발생시키거나 응답을 반환하지 않습니다. 작업이 작동했는지 확인하려면 [ListResourceTags](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListResourceTags.html) 작업을 수행합니다.

예를 들어 이 명령은 KMS 키에서 **Purpose** 태그와 해당 값을 삭제합니다.

```
$ aws kms untag-resource --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --tag-keys Purpose
```

# KMS 키와 연결된 태그 보기
<a name="view-tags"></a>

태그는 AWS 리소스를 식별하고 구성하는 데 도움이 됩니다. AWS KMS 콘솔에서 또는 [ListResourceTags](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListResourceTags.html) 작업을 사용하여 고객 관리형 KMS 키와 연결된 태그를 볼 수 있습니다.

다음 절차에서는 특정 KMS 키와 연결된 태그를 찾는 방법을 보여줍니다. AWS KMS API 예제에서는 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)를 사용하지만 지원되는 모든 프로그래밍 언어를 사용할 수 있습니다.

## AWS KMS 콘솔 사용
<a name="view-tag-console"></a>

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) AWS Key Management Service (AWS KMS) 콘솔을 엽니다.

1. 를 변경하려면 페이지 오른쪽 상단에 있는 리전 선택기를 AWS 리전사용합니다.

1. 탐색 창에서 **고객 관리형 키**를 선택합니다. ( AWS 관리형 키의 태그를 관리할 수 없습니다.)

1. 테이블 필터를 사용하여 특정 태그가 있는 KMS 키만 표시할 수 있습니다.

   특정 태그가 있는 KMS 키만 표시하려면 필터 상자를 선택하고 태그 키를 선택한 다음 실제 태그 값 중에서 선택합니다. 태그 값의 전부 또는 일부를 입력할 수도 있습니다.

   결과 테이블에는 선택한 태그가 있는 모든 KMS 키가 표시됩니다. 그러나 태그를 표시하지는 않습니다. 태그를 보려면 KMS 키의 키 ID 또는 별칭을 선택하고 세부 정보 페이지에서 **태그(Tags)** 탭을 클릭합니다. **일반 구성** 섹션 아래에 탭이 표시됩니다.

   이 필터에는 태그 키와 태그 값이 모두 필요합니다. 태그 키만 입력하거나 값만 입력하여 KMS 키를 찾을 수 없습니다. 태그 키 또는 값의 전체 또는 일부를 기준으로 태그를 필터링하려면 [ListResourceTags](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListResourceTags.html) 작업을 사용하여 태그가 지정된 KMS 키를 가져온 다음 프로그래밍 언어의 필터링 기능을 사용합니다.

1. KMS 키의 별칭 옆의 확인란을 선택합니다.

1. [**Key actions**], [**Add or edit tags**]를 선택합니다.

1. KMS 키의 세부 정보 페이지에서 **태그** 탭을 선택합니다.

## AWS KMS API 사용
<a name="tagging-keys-list-resource-tags"></a>

[ListResourceTags](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListResourceTags.html) 작업은 KMS 키에 지정된 태그를 가져옵니다. `KeyId` 파라미터가 필요합니다. 이 작업을 사용하여 다른 AWS 계정의 KMS 키에 있는 태그를 볼 수 없습니다.

예를 들어 다음 명령은 예제 KMS 키에 대한 태그를 가져옵니다.

```
$ aws kms list-resource-tags --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
       
  "Truncated": false,
  "Tags": [
      {
        "TagKey": "Project",
        "TagValue": "Alpha"
     },
     {
       "TagKey": "Purpose",
       "TagValue": "Test"
     },
     {
       "TagKey": "Department",
       "TagValue": "Finance"
     }
  ]
}
```

# 태그를 사용하여 KMS 키에 대한 액세스 제어
<a name="tag-authorization"></a>

KMS 키의 태그를 AWS KMS keys 기반으로에 대한 액세스를 제어할 수 있습니다. 예를 들어 보안 주체가 특정 태그가 있는 KMS 키만 활성화 및 비활성화할 수 있도록 허용하는 IAM 정책을 작성할 수 있습니다. 또는 IAM 정책을 사용하여 KMS 키에 특정 태그가 없으면 보안 주체가 암호화 작업에서 KMS 키를 사용하지 못하도록 할 수 있습니다.

이 기능은 [속성 기반 액세스 제어](abac.md)(ABAC) AWS KMS 지원의 일부입니다. 태그를 사용하여 리소스에 AWS 대한 액세스를 제어하는 방법에 대한 자세한 내용은 *IAM 사용 설명서*의 [ABAC란 무엇입니까 AWS? 및 리소스 태그를 사용하여 리소스에 대한](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) [액세스 제어를 참조하세요 AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html). ABAC와 관련된 액세스 문제를 해결하는 방법에 대한 자세한 내용은 [에 대한 ABAC 문제 해결 AWS KMS](troubleshooting-tags-aliases.md) 섹션을 참조하십시오.

**참고**  
태그 및 별칭 변경으로 KMS 키 인증에 영향을 미치는 데 최대 5분이 소요될 수 있습니다. 최근 변경 사항은 권한 부여에 영향을 미치기 전에 API 작업에서 볼 수 있습니다.

AWS KMS 는 KMS 키의 태그를 기반으로 KMS 키에 대한 액세스를 제어할 수 있는 [aws:ResourceTag/*tag-*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag)key 전역 조건 컨텍스트 키를 지원합니다. [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 여러 KMS 키가 동일한 태그를 가질 수 있으므로 이 기능을 사용하면 선택한 KMS 키 집합에 사용 권한을 적용할 수 있습니다. 태그를 변경하여 집합의 KMS 키를 쉽게 변경할 수도 있습니다.

에서 AWS KMS`aws:ResourceTag/tag-key` 조건 키는 IAM 정책에서만 지원됩니다. 하나의 KMS 키에만 적용되는 키 정책이나 [ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html) 또는 [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html) 작업처럼 특정 KMS 키를 사용하지 않은 작업에서는 지원되지 않습니다.

태그를 사용하여 액세스를 제어하면 사용 권한을 단순하고 확장 가능하며 유연하게 관리할 수 있습니다. 그러나 제대로 설계되고 관리되지 않으면 실수로 KMS 키에 대한 액세스를 허용하거나 거부할 수 있습니다. 태그를 사용하여 액세스를 제어하는 경우 다음 방법을 고려하세요.
+ [최소 권한 액세스](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)를 강화하는 최고의 방식은 태그를 사용하는 것입니다. IAM 보안 주체에 사용하거나 관리해야 하는 KMS 키에만 필요한 권한만 부여합니다. 예를 들어 태그를 사용하여 프로젝트에 사용되는 KMS 키에 레이블을 지정합니다. 그런 다음 프로젝트 팀에 프로젝트 태그와 함께 KMS 키만 사용할 수 있는 권한을 부여합니다.
+ 보안 주체에게 태그를 추가, 편집 및 삭제할 수 있는 `kms:TagResource` 및 `kms:UntagResource` 권한을 부여할 때는 주의해야 합니다. 태그를 사용하여 KMS 키에 대한 액세스를 제어하는 경우 태그를 변경하면 보안 주체에게 사용 권한이 없는 KMS 키를 사용할 수 있는 권한이 부여될 수도 있습니다. 또한 다른 보안 주체가 작업을 수행하는 데 필요한 KMS 키에 대한 액세스를 거부할 수도 있습니다. 키 정책을 변경하거나 권한 부여를 생성할 권한이 없는 키 관리자는 태그를 관리할 권한이 있는 경우 KMS 키에 대한 액세스를 제어할 수 있습니다.

  가능하면 정책 조건(예: `aws:RequestTag/tag-key` 또는 `aws:TagKeys`)을 사용하여 [보안 주체의 태그 지정 권한을](tag-permissions.md#tag-permissions-conditions)를 특정 KMS 키의 특정 태그 또는 태그 패턴으로 제한합니다.
+ 현재 태그 지정 및 태그 해제 권한이 AWS 계정 있는의 보안 주체를 검토하고 필요한 경우 해당 보안 주체를 조정합니다. 예를 들어, [키 관리자에 대한 콘솔 기본 키 정책](key-policy-default.md#key-policy-default-allow-administrators)에는 해당 KMS 키에 대한 `kms:TagResource` 및 `kms:UntagResource` 권한이 포함됩니다. IAM 정책은 모든 KMS 키에 대한 태그 및 태그 해제 권한을 허용할 수 있습니다. 예를 들어 [AWSKeyManagementServicePowerUser](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSKeyManagementServicePowerUser) 관리형 정책은 보안 주체가 모든 KMS 키에 대해 태그를 지정하고 태그를 해제하고 나열할 수 있도록 허용합니다.
+ 태그에 의존하는 정책을 설정하기 전에에서 KMS 키의 태그를 검토합니다 AWS 계정. 포함하려는 태그에만 정책을 적용해야 합니다. [CloudTrail 로그](logging-using-cloudtrail.md) 및 [CloudWatch 경보](monitoring-overview.md)를 사용하여 KMS 키에 대한 액세스에 영향을 줄 수 있는 태그 변경 사항을 알립니다.
+ 태그 기반 정책 조건은 패턴 일치를 사용하며 태그의 특정 인스턴스에 연결되어 있지 않습니다. 태그 기반 조건 키를 사용하는 정책은 패턴과 일치하는 모든 새 태그와 기존 태그에 영향을 줍니다. 정책 조건과 일치하는 태그를 삭제했다가 다시 만들면 이전 태그와 마찬가지로 조건이 새 태그에 적용됩니다.

예를 들어 다음과 같은 IAM 정책을 살펴보십시오. 이를 통해 보안 주체는 아시아 태평양(싱가포르) 지역이고 `"Project"="Alpha"` 태그가 있는 계정의 KMS 키에서만 [GenerateDataKeyWithoutPlaintext](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html) 및 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) 작업을 호출할 수 있습니다. 이 정책은 예제 Alpha 프로젝트의 역할에 연결할 수 있습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMPolicyWithResourceTag",
      "Effect": "Allow",
      "Action": [
        "kms:GenerateDataKeyWithoutPlaintext",
        "kms:Decrypt"
      ],
      "Resource": "arn:aws:kms:ap-southeast-1:111122223333:key/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Project": "Alpha"
        }
      }
    }
  ]
}
```

------

다음 예제 IAM 정책은 보안 주체가 특정 암호화 작업에 대해 계정의 모든 KMS 키를 사용하도록 허용합니다. 그러나 보안 주체가 `"Type"="Reserved"` 태그가 있거나 `"Type"` 태그가 없는 KMS 키에서 이러한 암호화 작업을 사용하는 것은 허용되지 않습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IAMAllowCryptographicOperations",
      "Effect": "Allow",
      "Action": [
        "kms:Encrypt",
        "kms:GenerateDataKey*",
        "kms:Decrypt",
        "kms:ReEncrypt*"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*"
    },
    {
      "Sid": "IAMDenyOnTag",
      "Effect": "Deny",
      "Action": [
        "kms:Encrypt",
        "kms:GenerateDataKey*",
        "kms:Decrypt",
        "kms:ReEncrypt*"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Type": "Reserved"
        }
      }
    },
    {
      "Sid": "IAMDenyNoTag",
      "Effect": "Deny",
      "Action": [
        "kms:Encrypt",
        "kms:GenerateDataKey*",
        "kms:Decrypt",
        "kms:ReEncrypt*"
      ],
      "Resource": "arn:aws:kms:*:111122223333:key/*",
      "Condition": {
        "Null": {
          "aws:ResourceTag/Type": "true"
        }
      }
    }
  ]
}
```

------