本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
跨帳戶離線儲存存取
Amazon SageMaker Feature Store 可讓使用者在一個帳戶 (帳戶 A) 中建立特徵群組,並使用另一個帳戶 (帳戶 B) 中的 Amazon S3 儲存貯體將其設定為離線儲存。您可以使用以下區段中的步驟進行設定。
主題
第 1 步:在帳戶 A 中設定離線儲存存取角色
首先,設定 Amazon SageMaker Feature Store 的角色,將資料寫入離線儲存。最簡單的方法是使用 AmazonSageMakerFeatureStoreAccess 政策建立新角色,或使用已附加 AmazonSageMakerFeatureStoreAccess 政策的現有角色。本文件將本政策稱為 Account-A-Offline-Feature-Store-Role-ARN。
前面的程式碼片段顯示了 AmazonSageMakerFeatureStoreAccess 政策。根據預設,政策的 Resource 區段的範圍是名稱包含 SageMaker、Sagemaker 或 sagemaker 的 S3 儲存貯體。這表示使用的離線儲存 Amazon S3 儲存貯體必須遵循此命名慣例。如果這不符合您的案例,或者您想要進一步縮小資源範圍,可以將政策複製並貼到主控台中的 Amazon S3 儲存貯體政策,自訂要使用的 Resource 區段為 arn:aws:s3:::your-offline-store-bucket-name,然後將其附加到角色。
此外,此角色必須已連接AWS KMS許可。至少,它需要有 kms:GenerateDataKey 許可才能使用客戶受管金鑰寫入離線儲存。請參閱第 3 步,了解為何跨帳戶案例需要客戶受管金鑰,以及如何設定。下列內嵌政策顯示了一個範例:
此政策的 Resource 區段範圍為帳戶 A 中的任何金鑰。若要進一步限制此範圍,請在第 3 步中設定離線儲存 KMS 金鑰之後,返回此政策並將其取代為金鑰 ARN。
第 2 步:在帳戶 B 中設置離線儲存 Amazon S3 儲存貯體
在帳戶 B 中建立 Amazon S3 儲存貯體。如果您使用預設 AmazonSageMakerFeatureStoreAccess 政策,則儲存貯體名稱必須包含 SageMaker、Sagemaker、或 sagemaker。依照以下範例所示編輯儲存貯體政策,以允許帳戶 A 讀取和寫入物件。
本文件將以下範例儲存貯體政策稱為 Account-B-Offline-Feature-Store-Bucket。
在上述政策中,主體是 Account-A-Offline-Feature-Store-Role-ARN,這是在步驟 1 的帳戶 A 中建立的角色,並提供給 Amazon SageMaker Feature Store 以寫入離線儲存。您可以在 Principal 下提供多個 ARN 角色。
第 3 步:在帳戶 A 中設定離線儲存 AWS KMS 加密金鑰
Amazon SageMaker Feature Store 可確保一律為離線儲存中的 Amazon S3 物件啟用伺服器端加密。對於跨帳戶使用案例,您必須提供客戶受管金鑰,以便您控制可以寫入離線商店的人員 (在本例中為帳戶 A 的 Account-A-Offline-Feature-Store-Role-ARN),以及可從離線儲存讀取的人員 (在本例中為帳戶 B 的身分)。
本文件將以下範例金鑰政策稱為 Account-A-Offline-Feature-Store-KMS-Key-ARN。
第 4 步:在帳戶 A 中建立特徵群組
接下來,在帳戶 A 中建立特徵群組,並在帳戶 B 中使用離線儲存 Amazon S3 儲存貯體來執行此操作,以及分別為 RoleArn、OfflineStoreConfig.S3StorageConfig.KmsKeyId 和 OfflineStoreConfig.S3StorageConfig.S3Uri 提供下列參數:
-
提供
Account-A-Offline-Feature-Store-Role-ARN作為RoleArn。 -
為
OfflineStoreConfig.S3StorageConfig.KmsKeyId提供Account-A-Offline-Feature-Store-KMS-Key-ARN。 -
為
OfflineStoreConfig.S3StorageConfig.S3Uri提供Account-B-Offline-Feature-Store-Bucket。