本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
資料加密
透過 AWS HealthImaging,您可以為雲端中的靜態資料新增一層安全性,提供可擴充且有效率的加密功能。其中包含:
-
靜態資料加密功能大部分提供 AWS services
-
靈活的金鑰管理選項,包括 AWS Key Management Service,您可以選擇是否擁有 AWS 管理加密金鑰或完全控制您自己的金鑰。
-
AWS 擁有 AWS KMS 加密金鑰
-
使用 Amazon 的伺服器端加密 (SSE) 傳輸敏感資料的加密訊息佇列 SQS
此外, AWS 可讓您將加密和資料保護與您在 APIs AWS 環境。
建立客戶管理的金鑰
您可以使用建立對稱的客戶管理金鑰 AWS Management Console 或 AWS KMS APIs。如需詳細資訊,請參KMS閱在 AWS Key Management Service 開發人員指南。
金鑰政策會控制客戶受管金鑰的存取權限。每個客戶受管金鑰都必須只有一個金鑰政策,其中包含決定誰可以使用金鑰及其使用方式的陳述式。在建立客戶受管金鑰時,可以指定金鑰政策。如需詳細資訊,請參閱「管理客戶受管金鑰的存取」AWS Key Management Service 開發人員指南。
若要將客戶管理的金鑰與資 HealthImaging 源搭配使用,必須在金鑰原則中允許 kms: CreateGrant 作業。這會將授權新增至客戶管理的金鑰,該金鑰可控制對指定KMS金鑰的存取權,讓使用者能夠存取 Grant 作業所 HealthImaging 需的權限。如需詳細資訊,請參閱 AWS KMS 中的 AWS Key Management Service 開發人員指南。
若要將客戶受管KMS金鑰與資 HealthImaging 源搭配使用,必須在金鑰政策中允許下列API作業:
-
kms:DescribeKey
提供驗證金鑰所需的客戶管理金鑰詳細資料。這是所有操作都必需的。 -
kms:GenerateDataKey
提供對所有寫入作業靜態加密資源的存取權。 -
kms:Decrypt
可讓您存取加密資源的讀取或搜尋作業。 -
kms:ReEncrypt*
提供重新加密資源的存取權。
以下是政策陳述式範例,可讓使用者建立以該金鑰加密的 HealthImaging 資料存放區並與之互動:
{ "Sid": "Allow access to create data stores and perform CRUD and search in HealthImaging", "Effect": "Allow", "Principal": { "Service": [ "medical-imaging.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:kms-arn": "arn:aws:kms:us-east-1:123456789012:key/bec71d48-3462-4cdd-9514-77a7226e001f", "kms:EncryptionContext:aws:medical-imaging:datastoreId": "
datastoreId
" } } }
使用客戶管理KMS金鑰所需的IAM權限
使用建立資料倉庫時 AWS KMS 使用客戶管理的KMS金鑰啟用加密,金鑰原則和建立 HealthImaging 資料存放區之使用者或角色的IAM原則都具有必要的權限。
如需關鍵原則的詳細資訊,請參閱啟用中的IAM原則 AWS Key Management Service 開發人員指南。
使IAM用者、IAM角色或 AWS 建立儲存庫的帳戶必須具有kms:CreateGrant
、kms:GenerateDataKey
kms:RetireGrant
kms:Decrypt
、和的權限kms:ReEncrypt*
,以及的必要權限AWS HealthImaging。
如何 HealthImaging 使用贈款 AWS KMS
HealthImaging 需要授權才能使用您的客戶管理KMS金鑰。當您建立使用客戶管理KMS金鑰加密的資料存放區時, HealthImaging CreateGrant請將請求傳送至 AWS KMS。 中的補助金 AWS KMS 用於授予對客戶帳戶中KMS密鑰的 HealthImaging 訪問權限。
代表您建 HealthImaging 立的授權不應該撤銷或淘汰。如果您撤銷或淘汰授予使用 HealthImaging 權限的授權 AWS KMS 您帳戶中的金鑰、 HealthImaging 無法存取此資料、加密推送至資料存放區的新影像資源,或在提取時將其解密。當您撤銷或淘汰的授權時 HealthImaging,變更會立即發生。若要撤銷存取權限,您應該刪除資料存放區,而不是撤銷授與。刪除資料存放區後,代表您 HealthImaging 淘汰授權。
監控您的加密金鑰 HealthImaging
您可以使用 CloudTrail 來追蹤傳 HealthImaging 送至的要求 AWS KMS 代表您使用客戶管理的KMS金鑰時。記錄檔中的記 CloudTrail 錄項目會顯示medical-imaging.amazonaws.com
在userAgent
欄位中,以清楚區分由提出的要求 HealthImaging。
下列範例是CreateGrant
、GenerateDataKey
Decrypt
、和DescribeKey
要監視的 CloudTrail 事件 AWS KMS HealthImaging 要求存取由客戶管理金鑰加密之資料的作業。
以下說明如CreateGrant
何使用允許存 HealthImaging 取客戶提供的KMS金鑰,以 HealthImaging 便使用該KMS金鑰來加密所有靜態客戶資料。
使用者不需要建立自己的授權。 HealthImaging 通過發送CreateGrant
請求以代表您創建授予 AWS KMS。 中的補助金 AWS KMS 用於授予 HealthImaging 訪問 AWS KMS 輸入客戶帳戶。
{ "Grants": [ { "Operations": [ "Decrypt", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "DescribeKey" ], "KeyId": "arn:aws:kms:us-west-2:824333766656:key/2fe3c119-792d-4b99-822f-b5841e1181d1", "Name": "0a74e6ad2aa84b74a22fcd3efac1eaa8", "RetiringPrincipal": "AWS Internal", "GranteePrincipal": "AWS Internal", "GrantId": "0da169eb18ffd3da8c0eebc9e74b3839573eb87e1e0dce893bb544a34e8fbaaf", "IssuingAccount": "AWS Internal", "CreationDate": 1685050229.0, "Constraints": { "EncryptionContextSubset": { "kms-arn": "arn:aws:kms:us-west-2:824333766656:key/2fe3c119-792d-4b99-822f-b5841e1181d1" } } }, { "Operations": [ "GenerateDataKey", "CreateGrant", "RetireGrant", "DescribeKey" ], "KeyId": "arn:aws:kms:us-west-2:824333766656:key/2fe3c119-792d-4b99-822f-b5841e1181d1", "Name": "2023-05-25T21:30:17", "RetiringPrincipal": "AWS Internal", "GranteePrincipal": "AWS Internal", "GrantId": "8229757abbb2019555ba64d200278cedac08e5a7147426536fcd1f4270040a31", "IssuingAccount": "AWS Internal", "CreationDate": 1685050217.0, } ] }
下列範例說明如何使用以確GenerateDataKey
保使用者在儲存資料之前擁有加密資料的必要權限。
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "medical-imaging.amazonaws.com" }, "eventTime": "2021-06-30T21:17:37Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-east-1", "sourceIPAddress": "medical-imaging.amazonaws.com", "userAgent": "medical-imaging.amazonaws.com", "requestParameters": { "keySpec": "AES_256", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
下列範例顯示如何 HealthImaging 呼叫Decrypt
作業,以使用已儲存的加密資料金鑰存取加密資料。
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-06-30T21:17:06Z", "mfaAuthenticated": "false" } }, "invokedBy": "medical-imaging.amazonaws.com" }, "eventTime": "2021-06-30T21:21:59Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-east-1", "sourceIPAddress": "medical-imaging.amazonaws.com", "userAgent": "medical-imaging.amazonaws.com", "requestParameters": { "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
下面的示例演示如何 HealthImaging 使用DescribeKey
操作來驗證是否 AWS KMS 客戶擁有 AWS KMS key 處於可用狀態,並在無法正常工作時幫助用戶進行故障排除。
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEUSER", "arn": "arn:aws:sts::111122223333:assumed-role/Sampleuser01", "accountId": "111122223333", "accessKeyId": "EXAMPLEKEYID", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEROLE", "arn": "arn:aws:iam::111122223333:role/Sampleuser01", "accountId": "111122223333", "userName": "Sampleuser01" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-07-01T18:36:14Z", "mfaAuthenticated": "false" } }, "invokedBy": "medical-imaging.amazonaws.com" }, "eventTime": "2021-07-01T18:36:36Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-east-1", "sourceIPAddress": "medical-imaging.amazonaws.com", "userAgent": "medical-imaging.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" }, "responseElements": null, "requestID": "EXAMPLE_ID_01", "eventID": "EXAMPLE_ID_02", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/EXAMPLE_KEY_ARN" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
進一步了解
下列資源提供有關靜態資料加密的詳細資訊,位於 AWS Key Management Service 開發人員指南。