本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
中的資料保護 AWS Entity Resolution
AWS 共同責任模型
基於資料保護目的,我們建議您保護 AWS 帳戶 登入資料,並使用 AWS IAM Identity Center 或 AWS Identity and Access Management (IAM) 設定個別使用者。如此一來,每個使用者都只會獲得授與完成其任務所必須的許可。我們也建議您採用下列方式保護資料:
-
每個帳戶均要使用多重要素驗證 (MFA)。
-
使用 SSL/TLS 與 AWS 資源通訊。我們需要 TLS 1.2 並建議使用 TLS 1.3。
-
使用 設定 API 和使用者活動記錄 AWS CloudTrail。如需有關使用 CloudTrail 追蹤擷取 AWS 活動的資訊,請參閱AWS CloudTrail 《 使用者指南》中的使用 CloudTrail 追蹤。
-
使用 AWS 加密解決方案,以及其中的所有預設安全控制 AWS 服務。
-
使用進階的受管安全服務 (例如 Amazon Macie),協助探索和保護儲存在 Amazon S3 的敏感資料。
-
如果您在 AWS 透過命令列界面或 API 存取 時需要 FIPS 140-3 驗證的密碼編譯模組,請使用 FIPS 端點。如需有關 FIPS 和 FIPS 端點的更多相關資訊,請參閱聯邦資訊處理標準 (FIPS) 140-3
。
我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊,放在標籤或自由格式的文字欄位中,例如名稱欄位。這包括當您使用 AWS Entity Resolution 或其他 AWS 服務 使用 主控台、API AWS CLI或 AWS SDKs時。您在標籤或自由格式文字欄位中輸入的任何資料都可能用於計費或診斷日誌。如果您提供外部伺服器的 URL,我們強烈建議請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。
的靜態資料加密 AWS Entity Resolution
AWS Entity Resolution 根據預設提供加密,使用 AWS 擁有的加密金鑰保護靜態敏感客戶資料。
AWS 擁有的金鑰 – 預設 AWS Entity Resolution 使用這些金鑰自動加密個人識別資料。您無法檢視、管理或使用 AWS 擁有的金鑰,或稽核其使用。不過,您不需要採取任何動作來保護加密資料的金鑰。如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的 AWS 擁有金鑰。
依預設加密靜態資料,有助於降低保護敏感資料所涉及的營運開銷和複雜性。同時,您可以使用它來建置符合嚴格加密合規和法規要求的安全應用程式。
或者,您也可以在建立相符的工作流程資源時,提供客戶受管 KMS 金鑰以進行加密。
客戶受管金鑰 – AWS Entity Resolution 支援使用對稱客戶受管 KMS 金鑰,由您建立、擁有和管理,以允許加密您的敏感資料。您可以完全控制此層加密,因此能執行以下任務:
-
建立和維護金鑰政策
-
建立和維護 IAM 政策和授予操作
-
啟用和停用金鑰政策
-
輪換金鑰密碼編譯資料
-
新增標籤
-
建立金鑰別名
-
安排金鑰供刪除
如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的客戶受管金鑰。
如需詳細資訊 AWS KMS,請參閱什麼是 AWS Key Management Service?
金鑰管理
如何在 中使用 AWS Entity Resolution 授予 AWS KMS
AWS Entity Resolution 需要授予才能使用您的客戶受管金鑰。當您建立使用客戶受管金鑰加密的相符工作流程時, 會透過傳送 CreateGrant 請求至 來代表您 AWS Entity Resolution 建立授予 AWS KMS。中的授予 AWS KMS 用於授予客戶帳戶中 KMS 金鑰的 AWS Entity Resolution 存取權。 AWS Entity Resolution 需要授予 ,才能在下列內部操作中使用客戶受管金鑰:
-
將 GenerateDataKey 請求傳送至 AWS KMS ,以產生由客戶受管金鑰加密的資料金鑰。
-
將解密請求傳送至 AWS KMS 以解密加密的資料金鑰,以便用來加密您的資料。
您可以隨時撤銷授予的存取權,或移除服務對客戶受管金鑰的存取權。如果您這樣做, AWS Entity Resolution 則無法存取客戶受管金鑰加密的任何資料,這會影響依賴該資料的操作。例如,如果您透過授予來移除對金鑰的服務存取權,並嘗試為使用客戶金鑰加密的相符工作流程啟動任務,則操作會傳回AccessDeniedException
錯誤。
建立客戶受管金鑰
您可以使用 AWS Management Console或 AWS KMS APIs 來建立對稱客戶受管金鑰。
建立對稱客戶受管金鑰
AWS Entity Resolution 支援使用對稱加密 KMS 金鑰進行加密。請依照《AWS Key Management Service 開發人員指南》中建立對稱客戶受管金鑰的步驟進行。
金鑰政策陳述式
金鑰政策會控制客戶受管金鑰的存取權限。每個客戶受管金鑰都必須只有一個金鑰政策,其中包含決定誰可以使用金鑰及其使用方式的陳述式。在建立客戶受管金鑰時,可以指定金鑰政策。如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的管理對客戶受管金鑰的存取。
若要將客戶受管金鑰與 AWS Entity Resolution 資源搭配使用,金鑰政策中必須允許下列 API 操作:
-
kms:DescribeKey
– 提供金鑰資料的資訊,例如金鑰 ARN、建立日期 (和刪除日期,如適用)、金鑰狀態,以及金鑰資料的來源和過期日期 (如果有)。它包含 等欄位KeySpec
,可協助您區分不同類型的 KMS 金鑰。它也會顯示金鑰用量 (加密、簽署或產生和驗證 MACs),以及 KMS 金鑰支援的演算法。 會 AWS Entity Resolution 驗證KeySpec
是SYMMETRIC_DEFAULT
,而KeyUsage
是ENCRYPT_DECRYPT
。 -
kms:CreateGrant
:新增客戶受管金鑰的授權。授予控制對指定 KMS 金鑰的存取,這允許存取授予操作 AWS Entity Resolution 所需的 。如需使用授與的詳細資訊,請參閱 AWS Key Management Service 開發人員指南。
這允許 AWS Entity Resolution 執行下列動作:
-
呼叫
GenerateDataKey
以產生加密的資料金鑰並加以儲存,因為資料金鑰不會立即用來加密。 -
呼叫
Decrypt
以使用儲存的加密資料金鑰來存取加密的資料。 -
設定淘汰主體,以允許 服務至
RetireGrant
。
以下是您可以新增的政策陳述式範例 AWS Entity Resolution:
{ "Sid" : "Allow access to principals authorized to use AWS Entity Resolution", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : ["kms:DescribeKey","kms:CreateGrant"], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "entityresolution.region.amazonaws.com", "kms:CallerAccount" : "111122223333" } } }
使用者的許可
當您將 KMS 金鑰設定為加密的預設金鑰時,預設 KMS 金鑰政策允許任何可存取必要 KMS 動作的使用者使用此 KMS 金鑰來加密或解密資源。您必須授予使用者呼叫下列動作的許可,才能使用客戶受管 KMS 金鑰加密:
-
kms:CreateGrant
-
kms:Decrypt
-
kms:DescribeKey
-
kms:GenerateDataKey
在CreateMatchingWorkflow
請求期間, AWS Entity Resolution 會代表您將 DescribeKey 和 CreateGrant 請求傳送至 AWS KMS 。這將需要向客戶受管 KMS 金鑰提出CreateMatchingWorkflow
請求的 IAM 實體,才能擁有 KMS 金鑰政策的kms:DescribeKey
許可。
在 CreateIdMappingWorkflow
和 StartIdMappingJob
請求期間, AWS Entity Resolution 會代表您將 DescribeKey 和 CreateGrant 請求傳送至 AWS KMS 。這將需要建立 的 IAM 實體,CreateIdMappingWorkflow
以及對客戶受管 KMS 金鑰StartIdMappingJob
提出請求,才能擁有 KMS 金鑰政策的kms:DescribeKey
許可。供應商將能夠存取客戶受管金鑰,以解密 AWS Entity Resolution Amazon S3 儲存貯體中的資料。
以下是您可以為提供者新增的政策陳述式範例,以解密 AWS Entity Resolution Amazon S3 儲存貯體中的資料:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::715724997226:root" }, "Action": [ "kms:Decrypt" ], "Resource": "
<KMSKeyARN>
", "Condition": { "StringEquals": { "kms:ViaService": "s3.amazonaws.com" } } }] }
將每個 <user input placeholder>
取代為您自己的資訊。
<KMSKeyARN> |
AWS KMS Amazon Resource Name. |
同樣地,叫用 StartMatchingJob
API 的 IAM 實體必須擁有相符工作流程中提供的客戶受管 KMS 金鑰的 kms:Decrypt
和 kms:GenerateDataKey
許可。
如需在政策中指定許可的詳細資訊,請參閱 AWS Key Management Service 開發人員指南。
如需對金鑰存取進行疑難排解的詳細資訊,請參閱 AWS Key Management Service 開發人員指南。
指定 的客戶受管金鑰 AWS Entity Resolution
您可以將客戶自管金鑰指定為下列資源的第二層加密:
相符工作流程 – 當您建立相符的工作流程資源時,您可以輸入 KMSArn 來指定資料金鑰,該 KMSArn AWS Entity Resolution 會使用 來加密資源存放的可識別個人資料。
KMSArn – 輸入金鑰 ARN,這是 AWS KMS 客戶受管金鑰的金鑰識別符。
如果您要在兩個 之間建立或執行 ID 映射工作流程,您可以指定客戶受管金鑰做為下列資源的第二層加密 AWS 帳戶:
ID 映射工作流程或開始 ID 映射工作流程 – 當您建立 ID 映射工作流程資源或啟動 ID 映射工作流程任務時,您可以輸入 KMSArn 來指定資料金鑰,該 KMSArn AWS Entity Resolution 會使用 來加密資源存放的可識別個人資料。
KMSArn – 輸入金鑰 ARN,這是 AWS KMS 客戶受管金鑰的金鑰識別符。
監控 Service 的 AWS Entity Resolution 加密金鑰
當您將 AWS KMS 客戶受管金鑰與 AWS Entity Resolution Service 資源搭配使用時,您可以使用 AWS CloudTrail 或 Amazon CloudWatch Logs 來追蹤 AWS Entity Resolution 傳送至 的請求 AWS KMS。
下列範例是 CreateGrant
、Decrypt
、 GenerateDataKey
和 AWS CloudTrail 的事件DescribeKey
,用於監控 呼叫 AWS KMS 的操作 AWS Entity Resolution ,以存取客戶受管金鑰加密的資料:
CreateGrant
當您使用 AWS KMS 客戶受管金鑰加密相符的工作流程資源時, 會代表您 AWS Entity Resolution 傳送CreateGrant
請求,以存取您 中的 KMS 金鑰 AWS 帳戶。 AWS Entity Resolution 建立的授予專屬於與客戶 AWS KMS 受管金鑰相關聯的資源。此外,當您刪除資源時, AWS Entity Resolution 會使用 RetireGrant
操作來移除授予。
下面的範例事件會記錄 CreateGrant
操作:
{ "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:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "entityresolution.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "retiringPrincipal": "entityresolution.region.amazonaws.com", "operations": [ "GenerateDataKey", "Decrypt", ], "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "granteePrincipal": "entityresolution.region.amazonaws.com" }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
DescribeKey
AWS Entity Resolution 使用 DescribeKey
操作來驗證與相符資源相關聯的 AWS KMS 客戶受管金鑰是否存在於帳戶和區域中。
下列範例事件會記錄 DescribeKey
操作。
{ "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:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "entityresolution.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "00dd0db0-0000-0000-ac00-b0c000SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }
GenerateDataKey
當您為相符的工作流程資源啟用 AWS KMS 客戶受管金鑰時, 會透過 Amazon Simple Storage Service (Amazon S3) AWS Entity Resolution 傳送GenerateDataKey
請求至 AWS KMS ,以指定資源 AWS KMS 的客戶受管金鑰。
下列範例事件會記錄 GenerateDataKey
操作。
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "57f5dbee-16da-413e-979f-2c4c6663475e" }
解密
當您為相符的工作流程資源啟用 AWS KMS 客戶受管金鑰時, 會透過 Amazon Simple Storage Service (Amazon S3) AWS Entity Resolution 傳送Decrypt
請求至 AWS KMS ,以指定資源 AWS KMS 的客戶受管金鑰。
下列範例事件會記錄 Decrypt
操作。
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2021-04-22T17:10:51Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "dc129381-1d94-49bd-b522-f56a3482d088" }
考量事項
AWS Entity Resolution 不支援使用新客戶受管 KMS 金鑰更新相符的工作流程。在這種情況下,您可以使用客戶受管 KMS 金鑰建立新的工作流程。
進一步了解
下列資源會提供有關靜態資料加密的詳細資訊。
如需 AWS Key Management Service 基本概念的詳細資訊,請參閱 AWS Key Management Service 開發人員指南。
如需 AWS Key Management Service 安全最佳實務的詳細資訊,請參閱 AWS Key Management Service 開發人員指南。