

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 中的標籤 AWS KMS
<a name="tagging-keys"></a>

*標籤*是您可以指派 （或 AWS 可指派） 給 AWS 資源的選用中繼資料標籤。每個標籤皆包含*標籤索引鍵*和*標籤值*，它們都是區分大小寫的字串。此標籤值可以是空 (null) 字串。資源上的每個標籤都必須有不同的標籤索引鍵，但您可以將相同的標籤新增至多個 AWS 資源。每個資源最多可以有 50 個使用者建立的標籤。

請勿在標籤金鑰或標籤值包含機密或敏感資訊。許多 都可以存取標籤 AWS 服務，包括帳單。

在 中 AWS KMS，您可以在建立 KMS 金鑰時將標籤新增至客戶受管金鑰，並標記或取消標記現有的 KMS 金鑰，除非它們正在[等待刪除](key-state.md)。您無法在其他 中標記別名 AWS 受管金鑰AWS 擁有的金鑰、自訂金鑰存放區或 KMS 金鑰 AWS 帳戶。標籤是選用的，但它們可以非常有用。

例如，您可以將 `"Project"="Alpha"` 標籤新增至您用於 Alpha 專案的所有 KMS 金鑰和 Amazon S3 儲存貯體。

```
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 金鑰時新增標籤，主體必須在 IAM 政策中具有不限於特定 KMS 金鑰的許可。

**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 金鑰時新增標籤。

------
#### [ 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 政策與前一個類似。不過，此政策允許主體建立標籤 (`TagResource`) 並僅為具有 `Project` 標籤索引鍵的標籤刪除標籤 `UntagResource`。

由於 `TagResource` 和 `UntagResource` 請求可以包含多個標籤，您必須指定具有 [aws:TagKeys](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys) 條件的 `ForAllValues` 或 `ForAnyValue` 集合運算子。`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 金鑰所需的`kms:TagResource`許可之外，您還必須在 IAM 政策中擁有許可。此許可至少必須涵蓋帳戶和區域中的所有 KMS 金鑰。如需詳細資訊，請參閱[控制對標籤的存取](tag-permissions.md)。

### 使用 AWS KMS 主控台
<a name="tag-on-create-console"></a>

若要在主控台中建立 KMS 金鑰時新增標籤，除了標記和建立 KMS 金鑰所需的許可之外，您還必須具有在主控台中檢視 KMS 金鑰所需的許可。此許可至少必須涵蓋帳戶和區域中的所有 KMS 金鑰。

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 的 AWS Key Management Service (AWS KMS) 主控台。

1. 若要變更 AWS 區域，請使用頁面右上角的區域選擇器。

1. 在導覽窗格中，選擇 **Customer managed keys** (客戶受管金鑰)。(您無法管理 AWS 受管金鑰的標籤)

1. 選擇金鑰類型，然後選擇 **Next** (下一頁)。

1. 輸入別名和選用描述。

1. 輸入標籤索引鍵和選用的標籤值。若要新增其他標籤，請選擇 **Add tag** (新增標籤)。若要移除標籤，請選擇 **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 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 的 AWS Key Management Service (AWS KMS) 主控台。

1. 若要變更 AWS 區域，請使用頁面右上角的區域選擇器。

1. 在導覽窗格中，選擇 **Customer managed keys** (客戶受管金鑰)。(您無法管理 AWS 受管金鑰的標籤)

1. 您可以使用資料表篩選器，只顯示具有特定標籤的 KMS 金鑰。如需詳細資訊，請參閱[使用 AWS KMS 主控台檢視標籤](view-tags.md#view-tag-console)。

1. 選取 KMS 金鑰別名旁的核取方塊。

1. 選擇 **Key actions (金鑰動作)**、**Add or edit tags (新增或編輯標籤)**。

1. 在 KMS 金鑰的詳細資訊頁面上，選擇 **Tags** (標籤) 索引標籤。
   + 若要建立您的第一個標籤，請選擇 **Cretate tag** (建立標籤)，輸入標籤索引鍵 (必要) 和標籤值 (選用)，然後選擇 **Save** (儲存)。

     如果您將標籤值保留空白，則實際標籤值為 null 或空字串。
   + 若要新增標籤，請選擇 **Edit** (編輯)，選擇 **Add tag** (新增標籤)，輸入標籤索引鍵和標籤值，然後選擇 **Save** (儲存)。

1. 若要儲存您所做的變更，請選擇 **Save changes (儲存變更)**。

### 使用 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 或空字串。

例如，下列命令會將 **Purpose** 和 **Department** 標籤新增至範例 KMS 金鑰。

```
$ 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 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 的 AWS Key Management Service (AWS KMS) 主控台。

1. 若要變更 AWS 區域，請使用頁面右上角的區域選擇器。

1. 在導覽窗格中，選擇 **Customer managed keys** (客戶受管金鑰)。（您無法編輯 的標籤 AWS 受管金鑰)

1. 您可以使用資料表篩選器，只顯示具有特定標籤的 KMS 金鑰。如需詳細資訊，請參閱[使用 AWS KMS 主控台檢視標籤](view-tags.md#view-tag-console)。

1. 選取 KMS 金鑰別名旁的核取方塊。

1. 選擇 **Key actions (金鑰動作)**、**Add or edit tags (新增或編輯標籤)**。

1. 在 KMS 金鑰的詳細資訊頁面上，選擇 **Tags** (標籤) 索引標籤。
   + 若要變更標籤的名稱或值，請選擇 **Edit (編輯)**，完成您要的變更，然後選擇 **Save (儲存)**。

1. 若要儲存您所做的變更，請選擇 **Save changes (儲存變更)**。

## 使用 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 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 的 AWS Key Management Service (AWS KMS) 主控台。

1. 若要變更 AWS 區域，請使用頁面右上角的區域選擇器。

1. 在導覽窗格中，選擇 **Customer managed keys** (客戶受管金鑰)。(您無法管理 AWS 受管金鑰的標籤)

1. 您可以使用資料表篩選器，只顯示具有特定標籤的 KMS 金鑰。如需詳細資訊，請參閱[使用 AWS KMS 主控台檢視標籤](view-tags.md#view-tag-console)。

1. 選取 KMS 金鑰別名旁的核取方塊。

1. 選擇 **Key actions (金鑰動作)**、**Add or edit tags (新增或編輯標籤)**。

1. 在 KMS 金鑰的詳細資訊頁面上，選擇 **Tags** (標籤) 索引標籤。
   + 若要刪除標籤，請選擇 **Edit (編輯)**。在標籤列，選擇 **Remove (移除)**，然後選擇 **Save (儲存)**。

1. 若要儲存您所做的變更，請選擇 **Save changes (儲存變更)**。

## 使用 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 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) 的 AWS Key Management Service (AWS KMS) 主控台。

1. 若要變更 AWS 區域，請使用頁面右上角的區域選擇器。

1. 在導覽窗格中，選擇 **Customer managed keys** (客戶受管金鑰)。(您無法管理 AWS 受管金鑰的標籤)

1. 您可以使用資料表篩選器，只顯示具有特定標籤的 KMS 金鑰。

   若只要顯示具有特定標籤的 KMS 金鑰，請選擇篩選方塊、選擇標籤索引鍵，然後從實際標籤值中選擇。您也可以輸入全部或部分的標籤值。

   產生的資料表會顯示具有所選標籤的所有 KMS 金鑰。但不會顯示標籤。若要查看標籤，請選擇 KMS 金鑰的金鑰 ID 或別名，然後在其詳細資訊頁面上選擇 **Tags** (標籤) 索引標籤。索引標籤會顯示在 **General Configuration** (一般組態) 區段下。

   此篩選條件需要標籤索引鍵和標籤值。只輸入標籤索引鍵或只輸入其值，就無法找到 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 金鑰的詳細資訊頁面上，選擇 **Tags** (標籤) 索引標籤。

## 使用 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>

您可以 AWS KMS keys 根據 KMS 金鑰上的標籤控制對 的存取。例如，您可以撰寫 IAM 政策，允許主體僅啟用和停用具有特定標籤的 KMS 金鑰。或者，您可以使用 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 金鑰授權上。最近的變更可能會在 API 操作中可見，然後才會影響授權。

AWS KMS 支援 [aws：ResourceTag/*tag-key*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag) [全域條件內容金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)，可讓您根據 KMS 金鑰上的標籤控制對 KMS 金鑰的存取。由於多個 KMS 金鑰可以具有相同的標籤，所以此功能可讓您將許可套用至一組精選 KMS 金鑰。您也可以透過變更其標籤，輕鬆變更集合中的 KMS 金鑰。

在 中 AWS KMS，只有在 IAM 政策中支援 `aws:ResourceTag/tag-key`條件金鑰。只適用於單一 KMS 金鑰的金鑰政策，或不使用特定 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 金鑰。如果您使用標籤來控制存取，請考慮下列實務。
+ 使用標籤來強化[最低權限存取](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"
        }
      }
    }
  ]
}
```

------