

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

 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.

**Topics**
+ [Fase 1: configurazione del ruolo di accesso dell'archivio offline nell'Account A](#feature-store-setup-step1)
+ [Fase 2: configurazione di un bucket Amazon S3 dell'archivio offline nell'Account B](#feature-store-setup-step2)
+ [Passaggio 3: configura una chiave di AWS KMS crittografia per un negozio offline nell'Account A](#feature-store-setup-step3)
+ [Fase 4: creazione di un gruppo di funzionalità nell'account A](#feature-store-setup-step4)

## Fase 1: configurazione del ruolo di accesso dell'archivio offline nell'Account A
<a name="feature-store-setup-step1"></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`. 

------
#### [ 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*"
            ]
        }
    ]
}
```

------

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: 

------
#### [ JSON ]

****  

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

------

La sezione `Resource` di questa policy si applica a qualsiasi chiave dell'Account A. Per limitarla ulteriormente, dopo aver configurato la chiave KMS dell'archivio offline nella fase 3, torna a questa policy e sostituiscila con l'ARN della chiave.

## Fase 2: configurazione di un bucket Amazon S3 dell'archivio offline nell'Account B
<a name="feature-store-setup-step2"></a>

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`. 

------
#### [ 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"
            ]
        }
    ]
}
```

------

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. È possibile fornire più ruoli ARN alla voce `Principal`.

## Passaggio 3: configura una chiave di AWS KMS crittografia per un negozio offline nell'Account A
<a name="feature-store-setup-step3"></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`.

------
#### [ 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": "*"
        }
    ]
}
```

------

## Fase 4: creazione di un gruppo di funzionalità nell'account A
<a name="feature-store-setup-step4"></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` come `RoleArn`.
+ Fornisci `Account-A-Offline-Feature-Store-KMS-Key-ARN` per `OfflineStoreConfig.S3StorageConfig.KmsKeyId`.
+ Fornisci `Account-B-Offline-Feature-Store-Bucket` per `OfflineStoreConfig.S3StorageConfig.S3Uri`.