

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

# 控制金鑰刪除的存取權
<a name="deleting-keys-adding-permission"></a>

如果您使用 IAM 政策來允許 AWS KMS 許可，則已允許具有 AWS 管理員存取權 (`"Action": "*"`) 或 AWS KMS 完整存取權 (`"Action": "kms:*"`) 的 IAM 身分排程和取消金鑰刪除 KMS 金鑰。若要允許金鑰管理員排程和取消金鑰政策中的金鑰刪除，請使用 AWS KMS 主控台或 AWS KMS API。

通常，只有金鑰管理員才有權排程或取消金鑰刪除。不過，您可以將 `kms:ScheduleKeyDeletion` 和 `kms:CancelKeyDeletion` 許可新增至金鑰政策或 IAM 政策，從而將這些許可授予給其他 IAM 身分。您也可利用此 [`kms:ScheduleKeyDeletionPendingWindowInDays`](conditions-kms.md#conditions-kms-schedule-key-deletion-pending-window-in-days) 條件金鑰，針對主體對 [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html) 請求指定的 `PendingWindowInDays` 參數值加以進一步限制。

## 允許金鑰管理員排程和取消金鑰刪除
<a name="allow-key-deletion"></a>

### 使用 AWS KMS 主控台
<a name="deleting-keys-adding-permission-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** (客戶受管金鑰)。

1. 針對您要變更許可的 KMS 金鑰，選擇其別名或金鑰 ID。

1. 選擇 **Key policy** (金鑰政策) 標籤。

1. 金鑰政策的 *default view* (預設檢視) *和 policy view* (政策檢視) 的下一步有所不同。只有當您使用預設的主控台金鑰政策時，才能使用預設檢視。否則，只能使用政策檢視。

   當預設檢視可用時，**Switch to policy view** (切換為政策檢視) 或 **Switch to default view** (切換為預設檢視) 按鈕顯示在 **Key policy** (金鑰政策) 索引標籤中。
   + 在預設檢視中：

     1. 在 **Key deletion** (金鑰刪除) 下方，選擇 **Allow key administrators to delete this key** (允許金鑰管理員刪除此金鑰)。
   + 在政策檢視中：

     1. 選擇**編輯**。

     1. 在金鑰管理員的政策陳述式中，將 `kms:ScheduleKeyDeletion` 和 `kms:CancelKeyDeletion` 許可新增至 `Action` 元素。

        ```
        {
          "Sid": "Allow access for Key Administrators",
          "Effect": "Allow",
          "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSKeyAdmin"},
          "Action": [
            "kms:Create*",
            "kms:Describe*",
            "kms:Enable*",
            "kms:List*",
            "kms:Put*",
            "kms:Update*",
            "kms:Revoke*",
            "kms:Disable*",
            "kms:Get*",
            "kms:Delete*",
            "kms:ScheduleKeyDeletion",
            "kms:CancelKeyDeletion"
          ],
          "Resource": "*"
        }
        ```

     1. 選擇**儲存變更**。

### 使用 AWS KMS API
<a name="deleting-keys-adding-permission-cli"></a>

您可以使用 AWS Command Line Interface 新增排程和取消刪除金鑰的許可。

**若要新增排程和取消金鑰刪除的許可**

1. 使用 [https://docs.aws.amazon.com/cli/latest/reference/kms/get-key-policy.html](https://docs.aws.amazon.com/cli/latest/reference/kms/get-key-policy.html) 命令擷取現有的金鑰政策，然後將政策文件儲存至檔案。

1. 在您偏好的文字編輯器中開啟政策文件。在金鑰管理員的政策陳述式中，新增 `kms:ScheduleKeyDeletion` 和 `kms:CancelKeyDeletion` 許可。以下範例顯示具有這兩個許可的政策陳述式：

   ```
   {
     "Sid": "Allow access for Key Administrators",
     "Effect": "Allow",
     "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSKeyAdmin"},
     "Action": [
       "kms:Create*",
       "kms:Describe*",
       "kms:Enable*",
       "kms:List*",
       "kms:Put*",
       "kms:Update*",
       "kms:Revoke*",
       "kms:Disable*",
       "kms:Get*",
       "kms:Delete*",
       "kms:ScheduleKeyDeletion",
       "kms:CancelKeyDeletion"
     ],
     "Resource": "*"
   }
   ```

1. 使用 [https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html](https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html) 命令將金鑰政策套用到 KMS 金鑰。