

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 name="feature-store-cross-account-access-offline-store"></a>

 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 Amazon S3 em outra conta (Conta B). É possível estabelecer essa definição usando as etapas da seção a seguir.

**Topics**
+ [Etapa 1: configurar a função de acesso ao armazenamento offline na Conta A](#feature-store-setup-step1)
+ [Etapa 2: configurar um bucket Amazon S3 do armazenamento offline na Conta B](#feature-store-setup-step2)
+ [Etapa 3: configurar uma chave de AWS KMS criptografia de loja offline na Conta A](#feature-store-setup-step3)
+ [Etapa 4: criar um grupo de atributos na Conta A](#feature-store-setup-step4)

## Etapa 1: configurar a função de acesso ao armazenamento offline na Conta A
<a name="feature-store-setup-step1"></a>

Primeiro, configure uma função para a Amazon SageMaker Feature Store para 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
<a name="feature-store-setup-step2"></a>

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, o principal é`Account-A-Offline-Feature-Store-Role-ARN`, que é 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 chave de AWS KMS criptografia de loja offline na Conta A
<a name="feature-store-setup-step3"></a>

A Amazon SageMaker Feature Store garante que a criptografia do lado do servidor esteja sempre habilitada para objetos do Amazon S3 na loja off-line. 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
<a name="feature-store-setup-step4"></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`.