本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
中的資料保護 AWS Clean Rooms
將 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 Clean Rooms 或使用主控台、API AWS CLI或其他 AWS 服務 AWS SDKs 時。您在標籤或自由格式文字欄位中輸入的任何資料都可能用於計費或診斷日誌。如果您提供外部伺服器的 URL,我們強烈建議請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。
靜態加密
AWS Clean Rooms 一律會加密所有靜態服務中繼資料,而不需要任何額外的組態。當您使用 時,此加密會自動執行 AWS Clean Rooms。
Clean Rooms ML 會加密所有存放在服務中的靜態資料 AWS KMS。如果您選擇提供自己的 KMS 金鑰,外觀模型和外觀區段產生任務的內容會使用 KMS 金鑰靜態加密。
使用 AWS Clean Rooms 自訂 ML 模型時,服務會加密所有存放於 的靜態資料 AWS KMS。 AWS Clean Rooms 支援使用您建立、擁有和管理的對稱客戶受管金鑰來加密靜態資料。如果未指定客戶受管金鑰, AWS 擁有的金鑰 預設會使用 。
AWS Clean Rooms 使用授予和金鑰政策來存取客戶受管金鑰。您可以隨時撤銷授予的存取權,或移除服務對客戶受管金鑰的存取權。如果您這麼做, AWS Clean Rooms 您將無法存取客戶受管金鑰加密的任何資料,這會影響依賴該資料的操作。例如,如果您嘗試從 AWS Clean Rooms 無法存取的加密 ML 輸入通道建立訓練模型,則操作會傳回ValidationException錯誤。
注意
您可以使用 Amazon S3 中的加密選項來保護靜態資料。
如需詳細資訊,請參閱《Amazon S3 使用者指南》中的指定 Amazon S3 加密。 Amazon S3
在 中使用 ID 映射表時 AWS Clean Rooms,服務會加密所有以 存放的靜態資料 AWS KMS。如果您選擇提供自己的 KMS 金鑰,您的 ID 映射表的內容會透過您的 KMS 金鑰進行靜態加密 AWS Entity Resolution。如需使用 ID 映射工作流程進行加密所需許可的詳細資訊,請參閱AWS Entity Resolution 《 使用者指南》中的為 建立工作流程任務角色 AWS Entity Resolution。
傳輸中加密
AWS Clean Rooms 使用 Transport Layer Security (TLS) 進行傳輸中的加密。與 AWS Clean Rooms 的通訊一律透過 HTTPS 完成,因此無論資料是存放在 Amazon S3、Amazon Athena 或 Snowflake 中,您的資料一律會在傳輸中加密。這包括使用 Clean Rooms ML 時傳輸中的所有資料。
加密基礎資料
如需如何加密基礎資料的詳細資訊,請參閱 的加密運算 Clean Rooms。
金鑰政策
金鑰政策會控制客戶受管金鑰的存取權限。每個客戶受管金鑰都必須只有一個金鑰政策,其中包含決定誰可以使用金鑰及其使用方式的陳述式。在建立客戶受管金鑰時,可以指定金鑰政策。如需詳細資訊,請參閱《 AWS Key Management Service 開發人員指南》中的管理對客戶受管金鑰的存取。
若要將客戶受管金鑰與 AWS Clean Rooms 自訂 ML 模型搭配使用,必須在金鑰政策中允許下列 API 操作:
-
kms:DescribeKey– 提供客戶受管金鑰詳細資訊, AWS Clean Rooms 以允許 驗證金鑰。 -
kms:Decrypt– 提供 的存取權, AWS Clean Rooms 以解密加密的資料,並將其用於相關任務。 -
kms:CreateGrant- Clean Rooms ML 透過為 Amazon ECR 建立授權,加密 Amazon ECR 中的靜態訓練和推論映像。若要進一步了解,請參閱 Amazon ECR 中的靜態加密。Clean Rooms ML 也會使用 Amazon SageMaker AI 執行訓練和推論任務,並為 SageMaker AI 建立授權,以加密連接至執行個體的 Amazon EBS 磁碟區,以及 Amazon S3 中的輸出資料。若要進一步了解,請參閱在 Amazon SageMaker AI 中使用加密保護靜態資料。 -
kms:GenerateDataKey- Clean Rooms ML 使用伺服器端加密來加密存放在 Amazon S3 中的靜態資料 AWS KMS keys。若要進一步了解,請參閱在 Amazon S3 中使用伺服器端加密搭配 AWS KMS keys (SSE-KMS)。
以下是您可以 AWS Clean Rooms 為下列資源新增的政策陳述式範例:
ML 輸入通道與合成資料
{ "Version":"2012-10-17", "Statement": [ { "Sid": "Allow access to principals authorized to use AWS Clean Rooms ML", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::666666666666:role/ExampleRole" }, "Action": [ "kms:GenerateDataKey", "kms:CreateGrant", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cleanrooms-ml.us-east-1.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "Encrypt", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "CreateGrant", "DescribeKey", "RetireGrant", "GenerateDataKey" ] }, "BoolIfExists": { "kms:GrantIsForAWSResource": true } } }, { "Sid": "Allow describe key for principals authorized to use AWS Clean Rooms ML", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::444455556666:role/ExampleRole" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cleanrooms-ml.us-east-1.amazonaws.com" } } }, { "Sid": "Allow grant operations for AWS Clean Rooms ML service principal", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:CreateGrant", "kms:Decrypt" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "Encrypt", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "CreateGrant", "DescribeKey", "RetireGrant", "GenerateDataKey" ] } } }, { "Sid": "Allow describe key for AWS Clean Rooms ML service principal", "Effect": "Allow", "Principal": { "Service": "cleanrooms-ml.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" } ] }
不含合成資料的 ML 輸入通道
訓練過的模型任務或訓練過的模型推論任務
Clean Rooms ML 不支援在客戶受管金鑰政策中指定服務加密內容或來源內容。CloudTrail 中的客戶可以看到服務在內部使用的加密內容。
中繼資料表的加密
在 中使用中繼資料表時 AWS Clean Rooms,服務會使用 AWS Key Management Service () 加密所有靜態儲存的資料AWS KMS。根據預設,服務會使用服務受管金鑰加密中繼資料表資料。如果您選擇提供自己的 KMS 金鑰,服務會使用該金鑰加密您的靜態中繼資料表。這使用伺服器端加密搭配 AWS KMS keys (SSE-KMS)。
AWS Clean Rooms 使用金鑰政策和 服務主體來存取中繼資料表的客戶受管金鑰。此服務會在填入資料表時的寫入時間加密中繼資料表資料,並在後續分析中使用中繼資料表時透明地解密資料。
KMS 金鑰 ARN 會在中繼資料表建立時間提供,並套用至資料表的所有版本。您可以使用中繼資料表詳細資訊頁面上的編輯動作來更新 KMS 金鑰。新金鑰會在下次填入時生效 – 每個版本都會使用人口時指定的金鑰加密。
注意
刪除中繼資料表不需要任何 AWS KMS 操作。受管儲存服務會刪除 Amazon S3 中的加密資料。
中繼資料表的必要 AWS KMS 許可
若要將客戶受管金鑰與中繼資料表搭配使用,必須在金鑰政策中允許下列 API 操作:
-
kms:DescribeKey– 在您建立或更新中繼資料表時驗證金鑰狀態。 -
kms:GenerateDataKey– 填入資料表時加密中繼資料表資料。Amazon S3 AWS KMS 代表服務呼叫 來產生 SSE-KMS 加密的資料金鑰。 -
kms:Decrypt– 在後續分析中參考資料表時解密中繼資料表資料。Amazon S3 AWS KMS 代表服務呼叫 ,以透明方式解密資料。
中繼資料表的金鑰政策範例
以下是搭配中繼資料表使用客戶受管金鑰的範例金鑰政策:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow Clean Rooms to encrypt and decrypt intermediate table data", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cleanrooms:intermediateTableArn": "arn:aws:cleanrooms:us-east-1:666666666666:membership/membership-id/intermediatetable/intermediate-table-id" }, "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:us-east-1:666666666666:membership/member-1-membership-id", "arn:aws:cleanrooms:us-east-1::membership/member-2-membership-id" ] } } }, { "Sid": "Allow Clean Rooms to describe key", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow caller to validate key via Clean Rooms", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::666666666666:role/ExampleRole" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "cleanrooms.us-east-1.amazonaws.com", "kms:CallerAccount": "666666666666" } } } ] }
第一個陳述式授予 AWS Clean Rooms 服務主體存取權,以在人口期間加密資料,並在分析期間解密資料。kms:EncryptionContext:aws:cleanrooms:intermediateTableArn 條件會限制哪些中繼資料表可以使用 金鑰。aws:SourceArn 條件透過限制對協同合作中特定成員 ARNs存取,提供混淆代理人保護。
第二個陳述式可讓服務描述金鑰以供驗證之用。
第三個陳述式允許客戶帳戶中的特定 IAM 角色透過 執行金鑰驗證 AWS Clean Rooms。允許的動作為 DescribeKey、GenerateDataKey 和 Decrypt。存取的範圍是使用 kms:ViaService和 kms:CallerAccount條件。此角色通常是您用來與 互動的 IAM 角色 AWS Clean Rooms。
加密內容
AWS Clean Rooms 加密中繼資料表資料時, 會使用下列加密內容:
{ "aws:cleanrooms:intermediateTableArn": "arn:aws:cleanrooms:us-east-1:123456789012:membership/membership-id/intermediatetable/intermediate-table-id" }
每個 AWS KMS 操作都會使用中繼資料表 ARN 記錄在 CloudTrail 中,提供明確的稽核線索,其中資源會觸發每個加密或解密呼叫。您可以在金鑰政策中使用 kms:EncryptionContext 條件金鑰,以限制哪些中繼資料表可以使用 金鑰。