

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

# 金鑰管理
<a name="key-management"></a>

建立新的陣列時，您可以選擇下列其中一個金鑰來加密您的陣列資料：
+ **AWS 擁有的 KMS 金鑰** – 如果您在建立陣列時未指定金鑰，則預設加密類型。KMS 金鑰由 擁有 AWS Deadline Cloud。您無法檢視、管理或使用 AWS 擁有的金鑰。不過，您不需要採取任何動作來保護加密資料的金鑰。如需詳細資訊，請參閱 *AWS Key Management Service 開發人員指南*中的 [AWS 擁有的金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk)。
+ **客戶受管 KMS 金鑰** – 您在建立陣列時指定客戶受管金鑰。陣列中的所有內容都會使用 KMS 金鑰加密。金鑰會存放在您的帳戶中，並由您建立、擁有和管理，並 AWS KMS 收取費用。您可以完全控制 KMS 金鑰。您可以執行下列任務：
  + 建立和維護關鍵政策
  + 建立和維護 IAM 政策和授予操作
  + 啟用和停用金鑰政策
  + 新增 標籤
  + 建立金鑰別名

  您無法手動輪換與 Deadline Cloud 陣列搭配使用的客戶擁有金鑰。支援自動輪換金鑰。

  如需詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[客戶擁有的金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

  若要建立客戶受管金鑰，請遵循《 *AWS Key Management Service 開發人員指南*》中的[建立對稱客戶受管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)的步驟。

## Deadline Cloud 如何使用 AWS KMS 授予
<a name="cmk-grants"></a>

Deadline Cloud 需要[授予](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)才能使用您的客戶受管金鑰。當您建立使用客戶受管金鑰加密的陣列時， 會透過傳送`[CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)`請求至 AWS KMS 來代表您 Deadline Cloud 建立授予，以存取您指定的 KMS 金鑰。

Deadline Cloud 使用多個授予。每個授權都會由 Deadline Cloud 需要加密或解密資料的 不同部分使用。 Deadline Cloud 也會使用授權來允許存取 AWS 其他用來代表您存放資料的 服務，例如 Amazon Simple Storage Service、Amazon Elastic Block Store 或 OpenSearch。

准許 Deadline Cloud 管理服務受管機群中的機器， Deadline Cloud 包括 中的帳號和角色，`GranteePrincipal`而不是服務主體。雖然不是典型的，但這對於使用為陣列指定的客戶受管 KMS 金鑰來加密服務受管機群中工作者的 Amazon EBS 磁碟區是必要的。

## 客戶受管金鑰政策
<a name="cmk-policy"></a>

金鑰政策會控制客戶受管金鑰的存取權限。每個金鑰都必須只有一個金鑰政策，其中包含可決定誰可以使用金鑰及其使用方式的陳述式。當您建立客戶受管金鑰時，您可以指定金鑰政策。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》**中的[管理客戶受管金鑰的存取](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access)。

### CreateFarm 的最低 IAM 政策
<a name="cmk-createfarm"></a>

若要使用客戶受管金鑰來使用主控台或 `[CreateFarm](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_CreateFarm.html)` API 操作建立陣列，必須允許下列 AWS KMS API 操作：
+ `[kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)`：新增客戶受管金鑰的授權。授予主控台對指定 AWS KMS 金鑰的存取權。如需詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[使用授權](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)。
+ `[kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)` – 允許 Deadline Cloud 解密陣列中的資料。
+ `[kms:DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)` – 提供客戶受管金鑰詳細資訊， Deadline Cloud 以允許 驗證金鑰。
+ `[kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)` – 允許 Deadline Cloud 使用唯一的資料金鑰加密資料。

下列政策陳述式會授予 `CreateFarm`操作的必要許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DeadlineCreateGrants",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-west-2:{{111122223333}}:key/{{1234567890abcdef0}}",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "deadline.us-west-2.amazonaws.com"
                }
            }
        }
    ]
}
```

------

### 唯讀操作的最低 IAM 政策
<a name="cmk-read-only"></a>

若要將客戶受管金鑰用於唯讀 Deadline Cloud 操作，例如取得有關陣列、佇列和機群的資訊。必須允許下列 AWS KMS API 操作：
+ `[kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)` – 允許 Deadline Cloud 解密陣列中的資料。
+ `[kms:DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)` – 提供客戶受管金鑰詳細資訊， Deadline Cloud 以允許 驗證金鑰。

下列政策陳述式會授予唯讀操作的必要許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DeadlineReadOnly",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-west-2:{{111122223333}}:key/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "deadline.us-west-2.amazonaws.com"
                }
            }
        }
    ]
}
```

------

### 讀取寫入操作的最低 IAM 政策
<a name="cmk-read-write"></a>

若要將客戶受管金鑰用於讀寫 Deadline Cloud 操作，例如建立和更新陣列、佇列和機群。必須允許下列 AWS KMS API 操作：
+ `[kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)` – 允許 Deadline Cloud 解密陣列中的資料。
+ `[kms:DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)` – 提供客戶受管金鑰詳細資訊， Deadline Cloud 以允許 驗證金鑰。
+ `[kms:GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)` – 允許 Deadline Cloud 使用唯一的資料金鑰加密資料。

下列政策陳述式會授予 `CreateFarm`操作的必要許可。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DeadlineReadWrite",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-west-2:{{111122223333}}:key/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "deadline.us-west-2.amazonaws.com"
                }
            }
        }
    ]
}
```

------

## 監控加密金鑰
<a name="cmk-monitor"></a>

當您搭配 Deadline Cloud 陣列使用 AWS KMS 客戶受管金鑰時，您可以使用 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)或 [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 來追蹤 Deadline Cloud 傳送至 的請求 AWS KMS。

### 授予的 CloudTrail 事件
<a name="cmk-monitor-grant"></a>

建立授予時，通常會在呼叫 `CreateFarm`、 `CreateMonitor`或 `CreateFleet`操作時發生下列 CloudTrail 事件範例。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "{{AROAIGDTESTANDEXAMPLE}}:{{SampleUser01}}",
        "arn": "arn:aws::sts::{{111122223333}}:assumed-role/Admin/{{SampleUser01}}",
        "accountId": "{{111122223333}}",
        "accessKeyId": "{{AKIAIOSFODNN7EXAMPLE3}}",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "{{AROAIGDTESTANDEXAMPLE}}",
                "arn": "arn:aws::iam::{{111122223333}}:role/Admin",
                "accountId": "{{111122223333}}",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2024-04-23T02:05:26Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "deadline.amazonaws.com"
    },
    "eventTime": "2024-04-23T02:05:35Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "deadline.amazonaws.com",
    "userAgent": "deadline.amazonaws.com",
    "requestParameters": {
        "operations": [
            "CreateGrant",
            "Decrypt",
            "DescribeKey",
            "Encrypt",
            "GenerateDataKey"
        ],
        "constraints": {
            "encryptionContextSubset": {
                "aws:deadline:farmId": "farm-{{abcdef12345678900987654321fedcba}}",
                "aws:deadline:accountId": "{{111122223333}}"
            }
        },
        "granteePrincipal": "deadline.amazonaws.com",
        "keyId": "arn:aws::kms:us-west-2:{{111122223333}}:key/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}",
        "retiringPrincipal": "deadline.amazonaws.com"
    },
    "responseElements": {
        "grantId": "{{6bbe819394822a400fe5e3a75d0e9ef16c1733143fff0c1fc00dc7ac282a18a0}}",
        "keyId": "arn:aws::kms:us-west-2:{{111122223333}}:key/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}"
    },
    "requestID": "{{a1b2c3d4-5678-90ab-cdef-EXAMPLE22222}}",
    "eventID": "{{a1b2c3d4-5678-90ab-cdef-EXAMPLE33333}}",
    "readOnly": false,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws::kms:us-west-2:{{111122223333}}:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE44444"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "{{111122223333}}",
    "eventCategory": "Management"
}
```

### 用於解密的 CloudTrail 事件
<a name="cmk-monitor-decrypt"></a>

使用客戶受管 KMS 金鑰解密值時，會發生下列 CloudTrail 事件範例。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "{{AROAIGDTESTANDEXAMPLE}}:{{SampleUser01}}",
        "arn": "arn:aws::sts::111122223333:assumed-role/{{SampleRole}}/{{SampleUser01}}",
        "accountId": "111122223333",
        "accessKeyId": "{{AKIAIOSFODNN7EXAMPLE}}",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "{{AROAIGDTESTANDEXAMPLE}}",
                "arn": "arn:aws::iam::{{111122223333}}:role/{{SampleRole}}",
                "accountId": "{{111122223333}}",
                "userName": "{{SampleRole}}"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2024-04-23T18:46:51Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "deadline.amazonaws.com"
    },
    "eventTime": "2024-04-23T18:51:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "deadline.amazonaws.com",
    "userAgent": "deadline.amazonaws.com",
    "requestParameters": {
        "encryptionContext": {
            "aws:deadline:farmId": "farm-{{abcdef12345678900987654321fedcba}}",
            "aws:deadline:accountId": "{{111122223333}}",
            "aws-crypto-public-key": "{{AotL+SAMPLEVALUEiOMEXAMPLEaaqNOTREALaGTESTONLY+p/5H+EuKd4Q==}}"
        },
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT",
        "keyId": "arn:aws::kms:us-west-2:{{111122223333}}:key/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}"
    },
    "responseElements": null,
    "requestID": "{{aaaaaaaa-bbbb-cccc-dddd-eeeeeeffffff}}",
    "eventID": "{{ffffffff-eeee-dddd-cccc-bbbbbbaaaaaa}}",
    "readOnly": true,
    "resources": [
        {
            "accountId": "{{111122223333}}",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws::kms:us-west-2:{{111122223333}}:key/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "{{111122223333}}",
    "eventCategory": "Management"
}
```

### 用於加密的 CloudTrail 事件
<a name="cmk-monitor-encrypt"></a>

使用客戶受管 KMS 金鑰加密值時，會發生下列 CloudTrail 事件範例。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "{{AROAIGDTESTANDEXAMPLE}}:{{SampleUser01}}",
        "arn": "arn:aws::sts::{{111122223333}}:assumed-role/{{SampleRole}}/{{SampleUser01}}",
        "accountId": "{{111122223333}}",
        "accessKeyId": "{{AKIAIOSFODNN7EXAMPLE}}",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "{{AROAIGDTESTANDEXAMPLE}}",
                "arn": "arn:aws::iam::{{111122223333}}:role/{{SampleRole}}",
                "accountId": "{{111122223333}}",
                "userName": "SampleRole"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2024-04-23T18:46:51Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "deadline.amazonaws.com"
    },
    "eventTime": "2024-04-23T18:52:40Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "deadline.amazonaws.com",
    "userAgent": "deadline.amazonaws.com",
    "requestParameters": {
        "numberOfBytes": 32,
        "encryptionContext": {
            "aws:deadline:farmId": "farm-{{abcdef12345678900987654321fedcba}}",
            "aws:deadline:accountId": "{{111122223333}}",
            "aws-crypto-public-key": "{{AotL+SAMPLEVALUEiOMEXAMPLEaaqNOTREALaGTESTONLY+p/5H+EuKd4Q==}}"
        },
        "keyId": "arn:aws::kms:us-west-2:{{111122223333}}:key/{{abcdef12-3456-7890-0987-654321fedcba}}"
    },
    "responseElements": null,
    "requestID": "{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}",
    "eventID": "{{a1b2c3d4-5678-90ab-cdef-EXAMPLE22222}}",
    "readOnly": true,
    "resources": [
        {
            "accountId": "{{111122223333}}",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws::kms:us-west-2:{{111122223333}}:key/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE33333}}"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "{{111122223333}}",
    "eventCategory": "Management"
}
```

## 刪除客戶受管 KMS 金鑰
<a name="deleting-cmk"></a>

在 AWS Key Management Service (AWS KMS) 中刪除客戶受管 KMS 金鑰具有破壞性和潛在危險性。它會不可逆地刪除金鑰材料和與金鑰相關聯的所有中繼資料。刪除客戶受管 KMS 金鑰後，您無法再解密該金鑰加密的資料。刪除金鑰表示資料無法復原。

這就是為什麼在刪除 KMS 金鑰之前， AWS KMS 讓客戶有長達 30 天的等待期。預設等待期間為 30 天。

### 關於等待期
<a name="about-the-waiting-period"></a>

由於刪除客戶受管 KMS 金鑰具有破壞性和潛在危險性，因此我們要求您設定 7–30 天的等待期間。預設等待期間為 30 天。

不過，實際等待期間可能比您排定的期間長最多 24 小時。若要取得要刪除金鑰的實際日期和時間，請使用 [https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)操作。您也可以在 [AWS KMS 主控台](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys-console.html#viewing-details-navigate)的金鑰詳細資訊頁面**的一般組態**區段中，查看金鑰的排程刪除日期。請注意時區。

在等待期間，客戶受管金鑰的狀態和金鑰狀態為**待刪除**。
+ 待刪除的客戶受管 KMS 金鑰無法用於任何[密碼編譯操作](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations)。
+ AWS KMS 不會[輪換待刪除之客戶受管 KMS 金鑰的備份](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html#rotate-keys-how-it-works)金鑰。

如需刪除客戶受管 KMS 金鑰的詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[刪除客戶主金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html)。