View a markdown version of this page

Acesso ao armazenamento offline entre contas - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Acesso ao armazenamento offline entre contas

A Amazon SageMaker Feature Store permite que os usuários criem um grupo de recursos em uma conta (Conta A) e o configurem com uma loja offline usando um bucket do Amazon S3 em outra conta (Conta B). É possível estabelecer essa definição usando as etapas da seção a seguir.

Etapa 1: configurar a função de acesso ao armazenamento offline na Conta A

Primeiro, configure uma função para a Amazon SageMaker Feature Store gravar os dados na loja offline. A maneira mais simples de fazer isso é criar uma nova função usando a política AmazonSageMakerFeatureStoreAccess ou usar uma função existente que já tenha a política AmazonSageMakerFeatureStoreAccess anexada. Este documento se refere a essa política como Account-A-Offline-Feature-Store-Role-ARN.

JSON
{ "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*" ] } ] }

O trecho de código anterior mostra a política AmazonSageMakerFeatureStoreAccess. Por padrão, a seção Resource da política é limitada aos buckets do S3 com nomes que contêm SageMaker, Sagemaker ou sagemaker. Isso significa que o bucket do Amazon S3 do armazenamento offline que está sendo usado deve seguir essa convenção de nomenclatura. Se esse não for o seu caso, ou se você quiser limitar ainda mais o escopo do recurso, você pode copiar e colar a política na sua política do bucket do Amazon S3 no console, personalizar a seção Resource como arn:aws:s3:::your-offline-store-bucket-name e, em seguida, anexá-la à função.

Além disso, essa função deve ter AWS KMS permissões anexadas. No mínimo, é necessária a permissão kms:GenerateDataKey para poder gravar no armazenamento offline usando sua chave gerenciada pelo cliente. Consulte a Etapa 3 para saber por que uma chave gerenciada pelo cliente é necessária para o cenário de várias contas e como configurá-la. O seguinte exemplo mostra uma política em linha:

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

A seção Resource desta política tem como escopo qualquer chave na Conta A. Para detalhar isso, depois de configurar a chave do KMS do armazenamento offline na Etapa 3, retome a essa política e substitua-a pela chave ARN.

Etapa 2: configurar um bucket Amazon S3 do armazenamento offline na Conta B

Crie um bucket do Amazon S3 na Conta B. Se você estiver usando a política AmazonSageMakerFeatureStoreAccess padrão, o nome do bucket deverá incluir SageMaker, Sagemaker ou sagemaker. Edite a política do bucket conforme mostrado no exemplo a seguir para permitir que a Conta A leia e grave objetos.

Este documento se refere ao exemplo de política do bucket a seguir como Account-B-Offline-Feature-Store-Bucket.

JSON
{ "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" ] } ] }

Na política anterior, a principal é Account-A-Offline-Feature-Store-Role-ARN a função criada na Conta A na Etapa 1 e fornecida à Amazon SageMaker Feature Store para gravar na loja offline. Você pode fornecer várias funções de ARN em Principal.

Etapa 3: configurar uma loja offline AWS KMS chave de criptografia na Conta A

A Amazon SageMaker Feature Store garante que a criptografia do lado do servidor esteja sempre habilitada para objetos do Amazon S3 na loja offline. Para casos de uso entre contas, você deve fornecer uma chave gerenciada pelo cliente para controlar quem pode fazer gravações no armazenamento offline (nesse caso, Account-A-Offline-Feature-Store-Role-ARN da Conta A) e quem pode fazer leituras no armazenamento offline (nesse caso, identidades da Conta B).

Este documento se refere ao exemplo de política de chaves a seguir como Account-A-Offline-Feature-Store-KMS-Key-ARN.

JSON
{ "Version":"2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333: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::444455556666:root" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:RetireGrant", "kms:ReEncryptFrom", "kms:ReEncryptTo", "kms:GenerateDataKey", "kms:ListAliases", "kms:ListGrants" ], "Resource": "*" } ] }

Etapa 4: criar um grupo de atributos na Conta A

Em seguida, crie o grupo de atributos na Conta A, com um bucket Amazon S3 do armazenamento offline na Conta B. Para fazer isso, forneça os seguintes parâmetros para RoleArn, OfflineStoreConfig.S3StorageConfig.KmsKeyId e OfflineStoreConfig.S3StorageConfig.S3Uri, respectivamente:

  • Forneça Account-A-Offline-Feature-Store-Role-ARN como RoleArn.

  • Forneça Account-A-Offline-Feature-Store-KMS-Key-ARN para OfflineStoreConfig.S3StorageConfig.KmsKeyId.

  • Forneça Account-B-Offline-Feature-Store-Bucket para OfflineStoreConfig.S3StorageConfig.S3Uri.