

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

# Registrazione di una posizione
<a name="access-grants-location-register"></a>

Dopo aver [creato un'istanza Amazon S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html) Regione AWS nel tuo account, registri una posizione S3 in quell'istanza. Una posizione S3 Access Grants associa la posizione S3 predefinita (`s3://`), un bucket o un prefisso a un ruolo (IAM). AWS Identity and Access Management S3 Access Grants assume questo ruolo IAM per vendere credenziali temporanee al beneficiario che accede a quella particolare posizione. Prima di poter creare una concessione di accesso, è necessario registrare almeno una posizione nell'istanza S3 Access Grants. 

**Caso d'uso consigliato**  
Si consiglia di registrare la posizione predefinita (`s3://`) e di mapparla a un ruolo IAM. La posizione nel percorso S3 predefinito (`s3://`) copre l'accesso a tutti i bucket S3 presenti nel percorso S3 del tuo account. Regione AWS Quando si crea una concessione di accesso, è possibile restringere l'ambito della concessione a un bucket, a un prefisso o a un oggetto all'interno della posizione predefinita. 

**Casi d'uso complessi per la gestione degli accessi**  
Casi di utilizzo della gestione degli accessi più complessi potrebbero richiedere la registrazione di più posizioni rispetto a quella predefinita. Alcuni esempi di questi casi d'uso sono:
+ Si supponga che il bucket *amzn-s3-demo-bucket* sia una posizione registrata nella tua istanza S3 Access Grants con un ruolo IAM mappato su di essa, ma a questo ruolo IAM sia negato l'accesso a un particolare prefisso all'interno del bucket. In questo caso, è possibile registrare il prefisso a cui il ruolo IAM non ha accesso come posizione separata e mappare tale posizione a un altro ruolo IAM con l'accesso necessario. 
+ Si supponga di voler creare dei grant che limitino l'accesso solo agli utenti all'interno di un endpoint di un cloud privato virtuale (VPC). In questo caso, è possibile registrare una posizione per un bucket in cui il ruolo IAM limita l'accesso all'endpoint VPC. Successivamente, quando un beneficiario chiede le credenziali a S3 Access Grants, S3 Access Grants assume il ruolo IAM della sede per vendere le credenziali temporanee. Questa credenziale negherà l'accesso al bucket specifico a meno che il chiamante non si trovi all'interno dell'endpoint VPC. Questa autorizzazione di negazione viene applicata in aggiunta alle normali autorizzazioni READ, WRITE o READWRITE specificate nella concessione.

Quando si registra una posizione, è necessario specificare anche il ruolo IAM che S3 Access Grants assume per la vendita delle credenziali temporanee e per l'ambito delle autorizzazioni per una concessione specifica. 

Se il caso d'uso richiede la registrazione di più posizioni nell'istanza di S3 Access Grants, è possibile registrare uno dei seguenti elementi:


| URI S3 | Ruolo IAM | Description | 
| --- | --- | --- | 
| s3:// | Default-IAM-role |  La posizione predefinita, `s3://`, include tutti i bucket nella Regione AWS.  | 
| s3://amzn-s3-demo-bucket1/ | IAM-role-For-bucket |  Questa posizione include tutti gli oggetti nel bucket specificato.  | 
| s3://amzn-s3-demo-bucket1/prefix-name | IAM-role-For-prefix |  Questa posizione include tutti gli oggetti del bucket con un nome di chiave dell'oggetto che inizia con questo prefisso.  | 

Prima di registrare un bucket o un prefisso specifico, accertarsi di aver eseguito le seguenti operazioni:
+ Crea uno o più bucket contenenti i dati a cui desideri concedere l'accesso. Questi bucket devono trovarsi nella stessa istanza di S3 Regione AWS Access Grants. Per ulteriori informazioni, consulta [Creazione di un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). 

  L'aggiunta di un prefisso è facoltativa. I prefissi sono stringhe all'inizio del nome della chiave di un oggetto. Si possono usare per organizzare gli oggetti nel bucket e per gestire gli accessi. Per aggiungere un prefisso a un bucket, consulta [Creazione dei nomi delle chiavi degli oggetti](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html). 
+ Creare un ruolo IAM che abbia il permesso di accedere ai dati S3 in Regione AWS. Per ulteriori informazioni, consulta la sezione [Creazione di ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html) nella *Guida all'utente AWS IAM Identity Center *. 
+  Nella policy di attendibilità del ruolo IAM, concedi al principale del servizio S3 Access Grants (`access-grants.s3.amazonaws.com`) l'accesso al ruolo IAM creato. A tal fine, è possibile creare un file JSON contenente le seguenti istruzioni. Per aggiungere la policy di attendibilità all'account, consulta [Creare un ruolo utilizzando policy di attendibilità personalizzati](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).

  *TestRolePolicy.json*

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

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
      "Statement": [
      {
        "Sid": "TestRolePolicy",
        "Effect": "Allow",
        "Principal": {
          "Service": "access-grants.s3.amazonaws.com"
        },
        "Action": [
          "sts:AssumeRole", 
          "sts:SetSourceIdentity"
        ],
        "Condition": {
          "StringEquals": {
            "aws:SourceAccount": "111122223333",
            "aws:SourceArn": "arn:aws:s3::111122223333:access-grants/default"
          }
        }
      }
    ]
  }
  ```

------

  In alternativa, per un caso d’uso di Centro identità IAM, utilizza la seguente policy che include una seconda istruzione:
+ Crea una policy IAM per collegare le autorizzazioni di Amazon S3 al ruolo IAM creato. Consulta il seguente file `iam-policy.json` di esempio e sostituisci `user input placeholders` con le tue informazioni. 
**Nota**  
Se utilizzi la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) per crittografare i dati, l'esempio seguente include le AWS KMS autorizzazioni necessarie per il ruolo IAM nella policy. Se non si utilizza questa funzione, è possibile rimuovere queste autorizzazioni dalla propria policy IAM. 
È possibile limitare il ruolo IAM per accedere ai dati S3 solo se le credenziali sono fornite da S3 Access Grants. Questo esempio mostra come aggiungere un'istruzione `Condition` per una specifica istanza S3 Access Grants. Per utilizzare questo `Condition`, sostituire l'ARN dell'istanza S3 Access Grants nell'istruzione `Condition` con l'ARN dell'istanza S3 Access Grants, che ha il formato: `arn:aws:s3:region:accountId:access-grants/default` 

  *iam-policy.json*

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
           "Sid": "ObjectLevelReadPermissions",
           "Effect":"Allow",
           "Action":[
              "s3:GetObject",
              "s3:GetObjectVersion",
              "s3:GetObjectAcl",
              "s3:GetObjectVersionAcl",
              "s3:ListMultipartUploadParts"
           ],
           "Resource":[ 
              "arn:aws:s3:::*"  
           ],
           "Condition":{
              "StringEquals": { "aws:ResourceAccount": "accountId" },
              "ArnEquals": {
                  "s3:AccessGrantsInstanceArn": ["arn:aws:s3:region:accountId:access-grants/default"]
              }
          } 
        },
        {
           "Sid": "ObjectLevelWritePermissions",
           "Effect":"Allow",
           "Action":[
              "s3:PutObject",
              "s3:PutObjectAcl",
              "s3:PutObjectVersionAcl",
              "s3:DeleteObject",
              "s3:DeleteObjectVersion",
              "s3:AbortMultipartUpload"
           ],
           "Resource":[
              "arn:aws:s3:::*"  
           ],
           "Condition":{
              "StringEquals": { "aws:ResourceAccount": "accountId" },
              "ArnEquals": {
                  "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Regione AWS:accountId:access-grants/default"]
              }
           } 
        },
        {
           "Sid": "BucketLevelReadPermissions",
           "Effect":"Allow",
           "Action":[
              "s3:ListBucket"
           ],
           "Resource":[
              "arn:aws:s3:::*"
           ],
           "Condition":{
              "StringEquals": { "aws:ResourceAccount": "accountId" },
              "ArnEquals": {
                  "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Regione AWS:accountId:access-grants/default"]
              }
           }     
        },
  	  //Optionally add the following section if you use SSE-KMS encryption
        {
           "Sid": "KMSPermissions",
           "Effect":"Allow",
           "Action":[
              "kms:Decrypt",
              "kms:GenerateDataKey"
           ],
           "Resource":[
              "*"
           ]
        }
     ]
  }
  ```

Puoi registrare una posizione nella tua istanza S3 Access Grants utilizzando la console Amazon S3, il AWS CLI(), AWS Command Line Interface l'API REST di Amazon S3 o il. AWS SDKs

**Nota**  
 Dopo aver registrato la prima posizione nell'istanza S3 Access Grants, l'istanza non ha ancora alcun singolo accesso garantito. Per creare una concessione di accesso, consulta [Creazione di concessioni](access-grants-grant-create.md). 

## Utilizzo della console S3
<a name="access-grants-location-register-console"></a>

Prima di poter concedere l'accesso ai dati S3 con S3 Access Grants, devi avere almeno una posizione registrata. 

**Per registrare una posizione nella tua istanza S3 Access Grants**

1. Accedi Console di gestione AWS e apri la console Amazon S3 all'indirizzo. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Nel pannello di navigazione a sinistra, scegli **Access Grants**.

1. Nella pagina **S3 Access Grants**, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.

   Se utilizzi un'istanza S3 Access Grants per la prima volta, assicurati di aver completato il [Passaggio 1: crea un'istanza S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html) e di aver eseguito il **Passaggio 2** della procedura guidata **Configurazione dell'istanza Access Grants**. Se disponi già di un'istanza S3 Access Grants, seleziona **Visualizza dettagli**, quindi dalla scheda **Posizioni**, seleziona **Registra posizione**.

   1. Per **Ambito della posizione**, seleziona **Sfoglia S3** o inserisci il percorso URI S3 della posizione che desideri registrare. Per i formati URI S3, consulta la tabella dei [formati di posizione](#location-types). Dopo aver inserito un URI, puoi scegliere **Visualizza** per andare alla posizione. 

   1. In **Ruolo IAM**, scegliere una delle seguenti opzioni: 
      + **Scegli tra i ruoli IAM esistenti**

        Scegli un ruolo IAM dall'elenco a discesa. Dopo aver scelto un ruolo, scegli **Visualizza** per avere la certezza che questo ruolo disponga delle autorizzazioni necessarie per gestire la posizione che stai registrando. In particolare, assicurati che questo ruolo conceda a S3 Access Grants le autorizzazioni `sts:AssumeRole` e `sts:SetSourceIdentity`. 
      + **Inserisci l'ARN del ruolo IAM**

        Accedi alla [Console IAM](https://console.aws.amazon.com/iam/). Copia il nome della risorsa Amazon (ARN) del ruolo IAM e incollalo in questa casella. 

   1. Per finire, scegli **Avanti** o **Registra posizione**.

1. Risoluzione dei problemi

**Impossibile registrare la posizione**
   + La posizione potrebbe essere già registrata.

     Potresti non avere l'autorizzazione `s3:CreateAccessGrantsLocation` per registrare le posizioni. Contatta l'amministratore dell'account.

## Utilizzando il AWS CLI
<a name="access-grants-location-register-cli"></a>

Per installare AWS CLI, vedere [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente*. 

Puoi registrare la posizione predefinita, `s3://`, o una posizione personalizzata nella tua istanza S3 Access Grants. Assicurati di creare prima un ruolo IAM con accesso del principale alla posizione, quindi assicurati di concedere a S3 Access Grants l'autorizzazione ad assumere questo ruolo. 

Per utilizzare i seguenti comandi di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example Creazione di una policy di risorse**  
Crea una policy che consenta a S3 Access Grants di assumere il ruolo IAM. A questo proposito, puoi creare un file JSON contenente le istruzioni elencate di seguito. Per aggiungere la policy della risorsa al tuo account, consulta [Creazione e collegamento della prima policy gestita dal cliente](https://docs.aws.amazon.com//IAM/latest/UserGuide/tutorial_managed-policies.html).  
*TestRolePolicy.json*    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Stmt1234567891011",
      "Action": ["sts:AssumeRole", "sts:SetSourceIdentity"],
      "Effect": "Allow",
      "Principal": {"Service": "access-grants.s3.amazonaws.com"}
    }
  ]
}
```

**Example Creazione del ruolo**  
Per creare il ruolo, esegui il comando IAM seguente.  

```
aws iam create-role --role-name accessGrantsTestRole \
 --region us-east-2 \
 --assume-role-policy-document file://TestRolePolicy.json
```
L'esecuzione del comando `create-role` restituisce la policy:   

```
{
    "Role": {
        "Path": "/",
        "RoleName": "accessGrantsTestRole",
        "RoleId": "AROASRDGX4WM4GH55GIDA",
        "Arn": "arn:aws:iam::111122223333:role/accessGrantsTestRole",
        "CreateDate": "2023-05-31T18:11:06+00:00",
        "AssumeRolePolicyDocument": {
            "Version": "2012-10-17",		 	 	 
            "Statement": [
                {
                    "Sid": "Stmt1685556427189",
                    "Action": [
                        "sts:AssumeRole",
                        "sts:SetSourceIdentity"
                    ],
                    "Effect": "Allow",
                    "Principal": {
                        "Service":"access-grants.s3.amazonaws.com"
                    }
                }
            ]
        }
    }
}
```

**Example**  
Creare una policy IAM per collegare le autorizzazioni di Amazon S3 al ruolo IAM. Consulta il seguente file `iam-policy.json` di esempio e sostituisci `user input placeholders` con le tue informazioni.   
Se utilizzi la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) per crittografare i dati, l'esempio seguente aggiunge le AWS KMS autorizzazioni necessarie per il ruolo IAM nella policy. Se non utilizzi questa funzionalità, puoi rimuovere queste autorizzazioni dalla tua policy IAM.   
Per avere la certezza che il ruolo IAM possa essere usato per accedere ai dati in S3 solo se le credenziali sono distribuite da S3 Access Grants, questo esempio mostra come aggiungere un'istruzione `Condition` che specifichi l'istanza S3 Access Grants (`s3:AccessGrantsInstance: InstanceArn`) nella policy IAM. Quando utilizzi la seguente policy di esempio, sostituisci `user input placeholders` con le tue informazioni.
*iam-policy.json*    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
         "Sid": "ObjectLevelReadPermissions",
         "Effect": "Allow",
         "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetObjectAcl",
            "s3:GetObjectVersionAcl",
            "s3:ListMultipartUploadParts"
         ],
         "Resource": [ 
            "arn:aws:s3:::*"  
         ],
         "Condition": {
            "StringEquals": { "aws:ResourceAccount": "111122223333" },
            "ArnEquals": {
                "s3:AccessGrantsInstanceArn": ["arn:aws:s3:us-east-1::access-grants/default"]
            }
        } 
      },
      {
         "Sid": "ObjectLevelWritePermissions",
         "Effect": "Allow",
         "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:PutObjectVersionAcl",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion",
            "s3:AbortMultipartUpload"
         ],
         "Resource": [
            "arn:aws:s3:::*"  
         ],
         "Condition": {
            "StringEquals": { "aws:ResourceAccount": "111122223333" },
            "ArnEquals": {
                "s3:AccessGrantsInstanceArn": ["arn:aws:s3:us-east-1::access-grants/default"]
            }
         } 
      },
      {
         "Sid": "BucketLevelReadPermissions",
         "Effect": "Allow",
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::*"
         ],
         "Condition": {
            "StringEquals": { "aws:ResourceAccount": "111122223333" },
            "ArnEquals": {
                "s3:AccessGrantsInstanceArn": ["arn:aws:s3:us-east-1::access-grants/default"]
            }
         }     
      },
      {
         "Sid": "KMSPermissions",
         "Effect": "Allow",
         "Action": [
            "kms:Decrypt",
            "kms:GenerateDataKey"
         ],
         "Resource": [
            "*"
         ],
         "Condition": {
            "StringEquals": {
               "kms:ViaService": "s3.us-east-1.amazonaws.com"
            }
         }
      }
   ]
}
```

**Example**  
Esegui il comando seguente:  

```
aws iam put-role-policy \
--role-name accessGrantsTestRole \
--policy-name accessGrantsTestRole \
--policy-document file://iam-policy.json
```

**Example Registra la posizione predefinita**  

```
aws s3control create-access-grants-location \
 --account-id 111122223333 \
 --location-scope s3:// \
 --iam-role-arn arn:aws:iam::111122223333:role/accessGrantsTestRole
```
Risposta:  

```
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "default",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default",
    "LocationScope": "s3://" 
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
}
```

**Example Registra una posizione personalizzata**  

```
aws s3control create-access-grants-location \
 --account-id 111122223333 \
 --location-scope s3://DOC-BUCKET-EXAMPLE/ \
 --iam-role-arn arn:aws:iam::123456789012:role/accessGrantsTestRole
```
Risposta:  

```
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00",
    "AccessGrantsLocationId": "635f1139-1af2-4e43-8131-a4de006eb456",
    "AccessGrantsLocationArn": "arn:aws:s3:us-east-2: 111122223333:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888",
    "LocationScope": "s3://DOC-BUCKET-EXAMPLE/",
    "IAMRoleArn": "arn:aws:iam::111122223333:role/accessGrantsTestRole"
}
```

## Utilizzo della REST API
<a name="access-grants-location-register-rest-api"></a>

Per informazioni sul supporto REST API di Amazon S3 per la gestione di un'istanza S3 Access Grants, consulta le sezioni seguenti nella *Documentazione di riferimento delle API di Amazon Simple Storage Service*:
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrantsLocation.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrantsLocations.html) 
+  [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_UpdateAccessGrantsLocation.html) 

## Utilizzando il AWS SDKs
<a name="access-grants-location-register-using-sdk"></a>

Questa sezione fornisce esempi di come registrare le sedi utilizzando AWS SDKs.

Per utilizzare gli esempi seguenti, sostituisci `user input placeholders` con le tue informazioni.

------
#### [ Java ]

Puoi registrare la posizione predefinita, `s3://`, o una posizione personalizzata nella tua istanza S3 Access Grants. Assicurati di creare prima un ruolo IAM con accesso del principale alla posizione, quindi assicurati di concedere a S3 Access Grants l'autorizzazione ad assumere questo ruolo. 

Per utilizzare i seguenti comandi di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example Registra una posizione predefinita**  
Richiesta:  

```
public void createAccessGrantsLocation() {
CreateAccessGrantsLocationRequest createRequest = CreateAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.locationScope("s3://")
.iamRoleArn("arn:aws:iam::123456789012:role/accessGrantsTestRole")
.build();
CreateAccessGrantsLocationResponse createResponse = s3Control.createAccessGrantsLocation(createRequest);
LOGGER.info("CreateAccessGrantsLocationResponse: " + createResponse);
}
```
Risposta:  

```
CreateAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:11.027Z,
AccessGrantsLocationId=default,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/default,
LocationScope=s3://,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
```

**Example Registra una posizione personalizzata**  
Richiesta:  

```
public void createAccessGrantsLocation() {
CreateAccessGrantsLocationRequest createRequest = CreateAccessGrantsLocationRequest.builder()
.accountId("111122223333")
.locationScope("s3://DOC-BUCKET-EXAMPLE/")
.iamRoleArn("arn:aws:iam::111122223333:role/accessGrantsTestRole")
.build();
CreateAccessGrantsLocationResponse createResponse = s3Control.createAccessGrantsLocation(createRequest);
LOGGER.info("CreateAccessGrantsLocationResponse: " + createResponse);
}
```
Risposta:  

```
CreateAccessGrantsLocationResponse(
CreatedAt=2023-06-07T04:35:10.027Z,
AccessGrantsLocationId=18cfe6fb-eb5a-4ac5-aba9-8d79f04c2012,
AccessGrantsLocationArn=arn:aws:s3:us-east-2:111122223333:access-grants/default/location/18cfe6fb-eb5a-4ac5-aba9-8d79f04c2666,
LocationScope= s3://test-bucket-access-grants-user123/,
IAMRoleArn=arn:aws:iam::111122223333:role/accessGrantsTestRole
)
```

------