Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Accesso all'archivio offline multi-account
Amazon SageMaker Feature Store consente agli utenti di creare un gruppo di funzionalità in un account (Account A) e configurarlo con un negozio offline utilizzando un bucket Amazon S3 in un altro account (Account B). Puoi configurare questa operazione completando le fasi riportate nella sezione seguente.
Argomenti
- Fase 1: configurazione del ruolo di accesso dell'archivio offline nell'Account A
- Fase 2: configurazione di un bucket Amazon S3 dell'archivio offline nell'Account B
- Fase 3: configurazione di una chiave di crittografia AWS KMS dell'archivio offline nell'Account A
- Fase 4: creazione di un gruppo di funzionalità nell'account A
Fase 1: configurazione del ruolo di accesso dell'archivio offline nell'Account A
Innanzitutto, configura un ruolo per Amazon SageMaker Feature Store per scrivere i dati nell'archivio offline. Il modo più semplice per fare ciò è creare un nuovo ruolo utilizzando la policy AmazonSageMakerFeatureStoreAccess
o utilizzare un ruolo esistente a cui è già collegata la policy AmazonSageMakerFeatureStoreAccess
. Questo documento fa riferimento a questa policy come Account-A-Offline-Feature-Store-Role-ARN
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::*SageMaker*", "arn:aws:s3:::*Sagemaker*", "arn:aws:s3:::*sagemaker*" ] } ] }
Il frammento di codice precedente mostra la policy AmazonSageMakerFeatureStoreAccess
. Per impostazione predefinita, la sezione Resource
della policy è limitata ai bucket S3 con nomi che contengono SageMaker
, Sagemaker
, o sagemaker
. Ciò significa che il bucket Amazon S3 dell'archivio offline utilizzato deve seguire questa convenzione di denominazione. Se questo non è il tuo caso, o se desideri limitare ulteriormente la risorsa, puoi copiare e incollare la policy nella tua policy del bucket Amazon S3 nella console, personalizzare la sezione Resource
inserendo arn:aws:s3:::your-offline-store-bucket-name
e quindi collegarla al ruolo.
Inoltre, a questo ruolo devono essere associate AWS KMS delle autorizzazioni. Richiede almeno l'autorizzazione kms:GenerateDataKey
per poter scrivere nell'archivio offline utilizzando la chiave gestita dal cliente. Consulta la fase 3 per scoprire perché è necessaria una chiave gestita dal cliente per lo scenario multi-account e come configurarla. L'esempio seguente mostra una policy inline:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:*:Account-A-Account-Id:key/*" } ] }
La Resource
sezione di questo criterio si applica a qualsiasi chiave dell'Account A. Per approfondire ulteriormente l'ambito, dopo aver impostato la KMS chiave del negozio offline nel passaggio 3, torna a questa politica e sostituiscila con la chiave. ARN
Fase 2: configurazione di un bucket Amazon S3 dell'archivio offline nell'Account B
Crea un bucket Amazon S3 nell'Account B. Se utilizzi la policy AmazonSageMakerFeatureStoreAccess
predefinita, il nome del bucket deve includere SageMaker
, Sagemaker
o sagemaker
. Modifica la policy del bucket come mostrato nell'esempio seguente per consentire all'Account A di leggere e scrivere oggetti.
Questo documento si riferisce al seguente esempio di policy del bucket come Account-B-Offline-Feature-Store-Bucket
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3CrossAccountBucketAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetBucketAcl" ], "Principal": { "AWS": [ "*Account-A-Offline-Feature-Store-Role-ARN*" ], }, "Resource": [ "arn:aws:s3:::offline-store-bucket-name/*", "arn:aws:s3:::offline-store-bucket-name" ] } ] }
Nella politica precedente, il principale è Account-A-Offline-Feature-Store-Role-ARN
il ruolo creato nell'Account A nella fase 1 e fornito ad Amazon SageMaker Feature Store per scrivere nello store offline. Puoi fornire più ARN ruoli inPrincipal
.
Fase 3: configurazione di una chiave di crittografia AWS KMS dell'archivio offline nell'Account A
Amazon SageMaker Feature Store garantisce che la crittografia lato server sia sempre abilitata per gli oggetti Amazon S3 nello store offline. Per casi d'uso multi-account, è necessario fornire una chiave gestita dal cliente in modo da avere il controllo su chi può scrivere nell'archivio offline (in questo caso, Account-A-Offline-Feature-Store-Role-ARN
dall'account A) e chi può leggere dall'archivio offline (in questo caso, le identità dall'account B).
Questo documento si riferisce al seguente esempio di policy della chiave come Account-A-Offline-Feature-Store-KMS-Key-ARN
.
{ "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Account-A-Account-Id:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::Account-A-Account-Id:role/Administrator", ] }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }, { "Sid": "Allow Feature Store to get information about the customer managed key", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": [ "kms:Describe*", "kms:Get*", "kms:List*" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "*Account-A-Offline-Feature-Store-Role-ARN*", "*arn:aws:iam::Account-B-Account-Id:root*" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:GenerateDataKey", "kms:ListAliases", "kms:ListGrants" ], "Resource": "*", } ] }
Fase 4: creazione di un gruppo di funzionalità nell'account A
Quindi, crea il gruppo di funzionalità nell'Account A, con un bucket Amazon S3 dell'archivio offline nell'Account B. A tale scopo, fornisci i seguenti parametri per RoleArn
, OfflineStoreConfig.S3StorageConfig.KmsKeyId
e OfflineStoreConfig.S3StorageConfig.S3Uri
, rispettivamente:
-
Fornisci
Account-A-Offline-Feature-Store-Role-ARN
comeRoleArn
. -
Fornisci
Account-A-Offline-Feature-Store-KMS-Key-ARN
perOfflineStoreConfig.S3StorageConfig.KmsKeyId
. -
Fornisci
Account-B-Offline-Feature-Store-Bucket
perOfflineStoreConfig.S3StorageConfig.S3Uri
.