Accès entre comptes au magasin hors connexion - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Accès entre comptes au magasin hors connexion

Amazon SageMaker Feature Store permet aux utilisateurs de créer un groupe de fonctionnalités dans un compte (compte A) et de le configurer avec un magasin hors ligne à l'aide d'un compartiment Amazon S3 dans un autre compte (compte B). Vous pouvez configurer cela à l'aide des étapes décrites dans la section suivante.

Étape 1 : Configurer le rôle d'accès au magasin hors connexion dans le compte A

Tout d'abord, configurez un rôle pour Amazon SageMaker Feature Store afin d'écrire les données dans le magasin hors ligne. Le plus simple consiste à créer un rôle à l'aide de la stratégie AmazonSageMakerFeatureStoreAccess ou d'utiliser un rôle existant auquel la stratégie AmazonSageMakerFeatureStoreAccess est déjà attachée. Ce document désigne cette stratégie sous 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*" ] } ] }

L'extrait de code précédent montre la stratégie AmazonSageMakerFeatureStoreAccess. La section Resource de la stratégie est étendue par défaut aux compartiments S3 dont les noms contiennent SageMaker, Sagemaker ou sagemaker. Autrement dit, le compartiment S3 du magasin hors connexion utilisé doit suivre cette convention de dénomination. Si ce n'est pas votre cas, ou si vous voulez limiter encore la ressource, vous pouvez copier et coller cette politique dans votre politique de compartiment Amazon S3 dans la console, personnaliser la section Resource comme arn:aws:s3:::your-offline-store-bucket-name, puis l'attacher au rôle.

En outre, ce rôle doit être associé à AWS KMS des autorisations. Au minimum, il nécessite que l'autorisation kms:GenerateDataKey puisse écrire dans la boutique hors ligne à l'aide de votre clé gérée par le client. Consultez l'étape 3 pour savoir pourquoi le scénario entre comptes requiert une clé gérée par le client, et comment la configurer. L'exemple suivant illustre une stratégie en ligne :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:*:Account-A-Account-Id:key/*" } ] }

La section Resource de cette stratégie est étendue à n'importe quelle clé du compte A. Pour élargie encore l'étendue, après avoir configuré la clé KMS de la boutique hors ligne à l'étape 3, revenez à cette stratégie et remplacez-la par l'ARN de clé.

Étape 2 : Configurer un compartiment Amazon S3 de magasin hors connexion dans le compte B

Créez un compartiment Amazon S3 dans le compte B. Si vous utilisez la politique AmazonSageMakerFeatureStoreAccess par défaut, le nom du compartiment doit inclure SageMaker, Sagemaker ou sagemaker. Modifiez la stratégie de compartiment, comme illustré dans l'exemple suivant, afin d'autoriser le compte A à lire et écrire des objets.

Ce document désigne l'exemple de stratégie de compartiment suivant sous 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" ] } ] }

Dans la politique précédente, le principal est Account-A-Offline-Feature-Store-Role-ARN le rôle créé dans le compte A à l'étape 1 et fourni à Amazon SageMaker Feature Store pour qu'il écrive sur le magasin hors ligne. Vous pouvez fournir plusieurs rôles ARN sous Principal.

Étape 3 : Configurer une clé de chiffrement AWS KMS du magasin hors connexion dans le compte A

Amazon SageMaker Feature Store garantit que le chiffrement côté serveur est toujours activé pour les objets Amazon S3 dans le magasin hors ligne. Pour les cas d'utilisation entre comptes, vous devez fournir une clé gérée par le client afin de pouvoir contrôler qui peut écrire dans le magasin hors connexion (dans ce cas, Account-A-Offline-Feature-Store-Role-ARN à partir du compte A) et qui peut lire à partir du magasin hors connexion (dans ce cas, les identités issues du compte B).

Ce document désigne l'exemple de stratégie de clé suivant sous 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": "*", } ] }

Étape 4 : Créer un groupe de fonctionnalités dans le compte A

Ensuite, créez le groupe de fonctionnalités dans le compte A, avec un compartiment Amazon S3 de magasin hors connexion dans le compte B. Pour ce faire, fournissez les paramètres suivants pour RoleArn, OfflineStoreConfig.S3StorageConfig.KmsKeyId et OfflineStoreConfig.S3StorageConfig.S3Uri, respectivement :

  • Fournissez Account-A-Offline-Feature-Store-Role-ARN en tant que RoleArn.

  • Fournissez Account-A-Offline-Feature-Store-KMS-Key-ARN pour OfflineStoreConfig.S3StorageConfig.KmsKeyId.

  • Fournissez Account-B-Offline-Feature-Store-Bucket pour OfflineStoreConfig.S3StorageConfig.S3Uri.