本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用客戶受管金鑰進行靜態加密
根據預設,新一代 Resilience Hub 提供加密,以保護使用 的靜態敏感客戶資料 AWS 擁有的金鑰。
-
根據預設,新一代 Resilience Hub 會使用這些金鑰自動加密敏感資料。您無法檢視、管理或使用 AWS 擁有的金鑰或稽核其使用方式。不過,您不需要採取任何動作或變更任何程式,即可保護加密您資料的金鑰。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的 https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk。
雖然您無法停用此層加密或選取替代加密類型,但您可以在建立服務資源時指定客戶受管金鑰來新增第二層加密:
-
客戶受管金鑰 新一代 Resilience Hub 支援使用您建立、擁有和管理的對稱加密客戶受管金鑰。您可以完全控制此層加密,因此能執行以下任務:
建立和維護金鑰政策
建立和維護 IAM 政策和授予操作
啟用和停用金鑰政策
輪換金鑰密碼編譯資料
新增 標籤
建立金鑰別名
安排金鑰供刪除
如需更多資訊,請參閱 AWS Key Management Service 開發人員指南中的客戶受管金鑰。
下表摘要說明新一代 Resilience Hub 如何加密敏感資料。
| 資料類型 | AWS 擁有的金鑰加密 | 客戶受管金鑰加密 (選用) |
|---|---|---|
服務、系統和彈性政策的說明。 |
已啟用 | 已啟用 |
評估問題清單名稱、描述、推理和評論。 |
已啟用 | 已啟用 |
與問題清單相關聯的建議描述和建議變更。 |
已啟用 | 已啟用 |
服務函數名稱和描述。 |
已啟用 | 已啟用 |
假設與服務函數相關聯的文字。 |
已啟用 | 已啟用 |
使用者旅程描述。 |
已啟用 | 已啟用 |
服務事件日誌描述。 |
已啟用 | 已啟用 |
代理程式評估工作流程產生的中繼資料,包括拓撲、資源組態和存放在 Amazon S3 中的工作資料。 |
已啟用 | 已啟用 |
資源識別碼 資源名稱、ARNs、資源類型和區域。資源名稱用於識別符和加密內容,且不得包含敏感資料。 |
已啟用 | 不支援 |
注意
新一代 Resilience Hub 會 AWS 擁有的金鑰 免費使用 自動啟用靜態加密。不過,使用客戶受管金鑰需支付 AWS KMS 費用。如需定價的詳細資訊,請參閱 AWS Key Management Service
定價
重要
新一代 Resilience Hub 僅支援對稱加密 KMS 金鑰。您無法使用任何其他類型的 KMS 金鑰來加密您的新一代 Resilience Hub 資源。如需判斷 KMS 金鑰是否為對稱加密金鑰的說明,請參閱《 AWS Key Management Service 開發人員指南》中的識別對稱和非對稱 KMS 金鑰。
新一代 Resilience Hub 如何在 中使用授予 AWS KMS
新一代 Resilience Hub 需要授予,才能在非同步評估工作流程期間使用您的客戶受管金鑰。
當您使用客戶受管金鑰建立服務時,新一代 Resilience Hub 會透過傳送 CreateGrant 請求至 來代表您建立授予 AWS KMS。授予僅限於您服務的加密內容,並僅允許下列操作:
-
Encrypt– 加密敏感欄位,例如評估工作流程期間產生的調查結果、建議和假設。 -
Decrypt– 在評估處理期間解密先前加密的資料。 -
GenerateDataKey– 產生資料金鑰來加密存放在 Amazon S3 中的中繼評估資料。
當您刪除服務時,授予會淘汰。您也可以隨時撤銷授予的存取權,或移除服務對客戶受管金鑰的存取權。如果您這麼做,新一代 Resilience Hub 無法存取客戶受管金鑰加密的任何資料,這會影響依賴該資料的 API 操作和評估工作流程。
對於同步 API 操作 (例如建立或更新服務),新一代 Resilience Hub 會直接在 KMS 金鑰上使用發起人的許可,而不需要授予。
建立客戶自管金鑰
您可以使用 AWS 管理主控台 或 AWS KMS APIs 來建立對稱加密客戶受管金鑰。
建立對稱加密客戶受管金鑰
遵循《AWS Key Management Service 開發人員指南》中建立對稱加密 KMS 金鑰的步驟。
為新一代彈性中樞指定客戶受管金鑰
您可以在建立服務、系統或彈性政策時指定客戶受管金鑰。當您提供 KMS 金鑰 ID 時,新一代 Resilience Hub 會使用該金鑰來加密與資源相關聯的所有敏感資料。
您可以使用下列任一金鑰識別符來指定金鑰:
金鑰 ID (例如
1234abcd-12ab-34cd-56ef-1234567890ab)金鑰 ARN (例如,
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab)別名名稱 (例如
alias/my-key)別名 ARN (例如,
arn:aws:kms:us-west-2:111122223333:alias/my-key)
若要指定客戶受管金鑰,請在呼叫 CreateService、 CreateSystem或 CreatePolicy API 操作時使用 kmsKeyId 參數。
金鑰政策
金鑰政策會控制客戶受管金鑰的存取權限。每個客戶受管金鑰都必須只有一個金鑰政策,其中包含決定誰可以使用金鑰及其使用方式的陳述式。在建立客戶受管金鑰時,可以指定金鑰政策。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的管理客戶受管金鑰的存取。
下列金鑰政策允許新一代 Resilience Hub 使用您的金鑰。它會使用加密內容條件,確保您的金鑰只能用於您的特定資源,將每個許可範圍限定為新一代彈性中樞所需的操作。將 CUSTOMER-ACCOUNT-ID、 CUSTOMER-ROLE 和 REGION 取代為您的值。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowResilienceHubDescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com" } } }, { "Sid": "AllowResilienceHubEncryptDecryptForServices", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:resiliencehub:service-arn": "arn:aws:resiliencehub:*:CUSTOMER-ACCOUNT-ID:service/*" } } }, { "Sid": "AllowResilienceHubEncryptDecryptForSystems", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:resiliencehub:system-arn": "arn:aws:resiliencehub:*:CUSTOMER-ACCOUNT-ID:system/*" } } }, { "Sid": "AllowResilienceHubEncryptDecryptForPolicies", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:resiliencehub:policy-arn": "arn:aws:resiliencehub:*:CUSTOMER-ACCOUNT-ID:policy/*" } } }, { "Sid": "AllowResilienceHubCreateGrantForAsyncWorkflows", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::CUSTOMER-ACCOUNT-ID:role/CUSTOMER-ROLE" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "resiliencehub.REGION.amazonaws.com", "kms:GrantConstraintType": "EncryptionContextSubset" }, "StringLike": { "kms:EncryptionContext:aws:resiliencehub:service-arn": "arn:aws:resiliencehub:*:CUSTOMER-ACCOUNT-ID:service/*" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey" ] } } } ] }
政策陳述式提供下列許可:
-
AllowResilienceHubDescribeKey – 在建立服務期間指定金鑰時,允許新一代 Resilience Hub 驗證金鑰是否存在,並且是對稱加密金鑰。
-
AllowResilienceHubEncryptDecryptForServices – 允許新一代 Resilience Hub 在同步 API 呼叫期間加密和解密服務層級資料 (調查結果、建議、假設、服務函數、事件和評估資料)。依加密內容範圍限定於您的服務資源。
-
AllowResilienceHubEncryptDecryptForSystems – 允許新一代 Resilience Hub 在同步 API 呼叫期間加密和解密系統層級資料 (系統描述和使用者旅程描述)。依加密內容範圍限定於您的系統資源。
-
AllowResilienceHubEncryptDecryptForPolicies – 允許新一代彈性中樞在同步 API 呼叫期間加密和解密政策層級資料 (彈性政策描述)。依加密內容範圍限定於您的政策資源。
-
AllowResilienceHubCreateGrantForAsyncWorkflows – 允許新一代彈性中樞建立非同步評估工作流程的授予。授予僅限於所需的操作 (Encrypt、Decrypt、GenerateDataKey),且必須包含繫結至您服務 ARN 的加密內容子集限制。
如需有關在政策中指定許可的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》。
如需有關故障診斷金鑰存取的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》。
新一代 Resilience Hub 加密內容
加密內容是一組選用的金鑰值對,包含資料的其他相關內容資訊。
AWS KMS 使用加密內容做為額外的已驗證資料,以支援已驗證的加密。當您在加密資料的請求中包含加密內容時, 會將加密內容 AWS KMS 繫結至加密的資料。若要解密資料,您必須在請求中包含相同的加密內容。
新一代 Resilience Hub 加密內容
新一代 Resilience Hub 會根據資源類型使用以下加密內容金鑰:
| 加密內容金鑰 | Scope (範圍) | 用於 |
|---|---|---|
aws:resiliencehub:service-arn |
服務 | 調查結果、建議、假設、服務函數、相依性、事件和評估資料 |
aws:resiliencehub:system-arn |
系統 | 系統描述和使用者旅程描述 |
aws:resiliencehub:policy-arn |
政策 | 彈性政策描述 |
服務層級操作的範例加密內容:
"encryptionContext": { "aws:resiliencehub:service-arn": "arn:aws:resiliencehub:us-west-2:111122223333:service/my-service:abc123" }
使用加密內容進行監控
當您使用對稱加密客戶受管金鑰來加密資料時,您可以使用稽核記錄和日誌中的加密內容來識別客戶受管金鑰的使用方式。加密內容會出現在 產生的日誌中AWS CloudTrail。
使用加密內容來控制存取
您可以在金鑰政策和 IAM 政策中使用加密內容conditions,以控制對對稱加密客戶受管金鑰的存取。您也可以在授予中使用加密內容條件。
新一代 Resilience Hub 在授予中使用加密內容子集限制條件,以確保非同步工作流程只能加密和解密屬於建立授予之特定服務的資料。
監控新一代彈性中樞的加密金鑰
當您搭配新一代 Resilience Hub 資源使用客戶受管金鑰時,您可以使用 AWS CloudTrail 來追蹤新一代 Resilience Hub 傳送的請求 AWS KMS。
- CreateGrant
-
當您使用客戶受管金鑰建立服務時,新一代 Resilience Hub 會代表您傳送
CreateGrant請求,以啟用非同步評估工作流程以使用您的金鑰。授予是服務特有的,受到加密內容的限制。當您刪除服務時,新一代 Resilience Hub 會使用RetireGrant移除授予。下面的範例事件會記錄
CreateGrant操作:{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:session-name", "arn": "arn:aws:sts::111122223333:assumed-role/YourRole/session-name", "accountId": "111122223333", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111122223333:role/YourRole", "accountId": "111122223333", "userName": "YourRole" } }, "invokedBy": "resiliencehub.amazonaws.com" }, "eventTime": "2026-01-15T10:07:22Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "resiliencehub.amazonaws.com", "userAgent": "resiliencehub.amazonaws.com", "requestParameters": { "granteePrincipal": "resiliencehub.amazonaws.com", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "retiringPrincipal": "resiliencehub.amazonaws.com", "operations": [ "Decrypt", "GenerateDataKey", "Encrypt" ], "constraints": { "encryptionContextSubset": { "aws:resiliencehub:service-arn": "arn:aws:resiliencehub:us-west-2:111122223333:service/my-service:abc123" } } }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "56d4e434-abb6-4dd7-8558-ad38560d03b1", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" } - GenerateDataKey
-
當新一代 Resilience Hub 使用客戶受管金鑰加密資料時,它會傳送產生資料金鑰的
GenerateDataKey請求。這會在同步 API 呼叫 (例如建立具有描述的服務) 和非同步評估工作流程期間發生。下面的範例事件會記錄
GenerateDataKey操作:{ "eventVersion": "1.11", "userIdentity": { "type": "AWSService", "invokedBy": "resiliencehub.amazonaws.com" }, "eventTime": "2026-01-15T11:18:36Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "resiliencehub.amazonaws.com", "userAgent": "resiliencehub.amazonaws.com", "requestParameters": { "numberOfBytes": 32, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionContext": { "aws:resiliencehub:service-arn": "arn:aws:resiliencehub:us-west-2:111122223333:service/my-service:abc123", "aws-crypto-public-key": "AwAnnorjRE+DFQYIuDKjGEvlXwro5Rdiegk8flmq7m0N..." } }, "responseElements": null, "requestID": "c5bedc9b-e6d6-45f8-b121-c9851a3d718a", "eventID": "e839a7ed-e4a9-32a3-b92a-2c7237a40c82", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" } - 解密
-
當您透過 API 操作擷取資源或評估工作流程處理先前儲存的資料時,新一代 Resilience Hub 會傳送解密資料的
Decrypt請求。下面的範例事件會記錄
Decrypt操作:{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:session-name", "arn": "arn:aws:sts::111122223333:assumed-role/YourRole/session-name", "accountId": "111122223333", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111122223333:role/YourRole", "accountId": "111122223333", "userName": "YourRole" } }, "invokedBy": "resiliencehub.amazonaws.com" }, "eventTime": "2026-01-15T11:27:49Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "resiliencehub.amazonaws.com", "userAgent": "resiliencehub.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "encryptionContext": { "aws:resiliencehub:service-arn": "arn:aws:resiliencehub:us-west-2:111122223333:service/my-service:abc123", "aws-crypto-public-key": "A/9P3BC05WjeQONZR1fBiEqWKEse/Yk1lMxd2VIh2ED5..." } }, "responseElements": null, "requestID": "30f8e9bc-4e0a-4359-8bc3-8278ef42c206", "eventID": "195ef070-c952-4c28-9883-29bca297a08c", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" } - DescribeKey
-
新一代 Resilience Hub 會傳送
DescribeKey請求,以確認與您服務相關聯的客戶受管金鑰存在於帳戶和區域中,並且是有效的對稱加密金鑰。下面的範例事件會記錄
DescribeKey操作:{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "AROAEXAMPLE:session-name", "arn": "arn:aws:sts::111122223333:assumed-role/YourRole/session-name", "accountId": "111122223333", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAEXAMPLE", "arn": "arn:aws:iam::111122223333:role/YourRole", "accountId": "111122223333", "userName": "YourRole" } }, "invokedBy": "resiliencehub.amazonaws.com" }, "eventTime": "2026-01-15T10:07:13Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "resiliencehub.amazonaws.com", "userAgent": "resiliencehub.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "e427932c-448b-49aa-88e1-b311c27ba753", "eventID": "48c596a5-83c7-4603-b0cf-be0ff2548623", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
進一步了解
下列資源會提供有關靜態資料加密的詳細資訊。
-
如需 AWS Key Management Service 基本概念的詳細資訊,請參閱《AWS Key Management Service 開發人員指南》。
-
如需 安全最佳實務 AWS Key Management Service的詳細資訊,請參閱 AWS Key Management Service 開發人員指南。