

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

# Richiedi l'accesso ai dati di Amazon S3 tramite S3 Access Grants
<a name="access-grants-credentials"></a>

Dopo aver [creato una concessione di accesso](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html) utilizzando S3 Access Grants, gli assegnatari possono richiedere le credenziali per accedere ai dati S3 di cui dispongono delle autorizzazioni. I beneficiari possono essere responsabili AWS Identity and Access Management (IAM), identità dell'elenco aziendale o applicazioni autorizzate. 

Un'applicazione o Servizio AWS possono utilizzare l'operazione `GetDataAccess` API S3 Access Grants per chiedere a S3 Access Grants l'accesso ai dati S3 per conto di un beneficiario. `GetDataAccess`verifica innanzitutto di aver concesso a questa identità l'accesso ai dati. Quindi, S3 Access Grants utilizza l'operazione [https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) per ottenere un token credenziale temporaneo e lo invia al richiedente. Questo token di credenziali temporaneo è un token AWS Security Token Service (AWS STS).

La richiesta `GetDataAccess` deve includere il parametro `target`, che specifica l'ambito dei dati S3 a cui si applicano le credenziali temporanee. Questo ambito `target` può essere lo stesso dell’ambito della concessione o di un sottoinsieme di tale ambito, ma l’ambito `target` deve rientrare nell’ambito della concessione accordata all’assegnatario. La richiesta deve inoltre specificare il parametro `permission` per indicare il livello di autorizzazione per le credenziali temporanee, `READ`, `WRITE` o `READWRITE`.

**Privilegio**  
Il richiedente può specificare il livello di privilegio del token temporaneo nella richiesta di credenziali. Utilizzando il parametro `privilege`, il richiedente può ridurre o ingrandire l'ambito di accesso delle credenziali temporanee entro i limiti dell'ambito della concessione. Il valore predefinito del parametro `privilege` è `Default`, il che significa che l'ambito di destinazione della credenziale restituita è l'ambito della concessione originale. L'altro valore possibile per `privilege` è `Minimal`. Se l'ambito `target` viene ridotto rispetto all'ambito della concessione originale, la credenziale temporanea viene ridimensionata per corrispondere all'ambito `target`, purché l'ambito `target` rientri nell'ambito della concessione. 

La tabella seguente descrive in dettaglio l'effetto del parametro `privilege` su due concessioni. Una concessione ha l'ambito `S3://amzn-s3-demo-bucket1/bob/*`, che include l'intero prefisso `bob/` nel bucket `amzn-s3-demo-bucket1`. Una concessione ha l'ambito `S3://amzn-s3-demo-bucket1/bob/reports/*`, che include l'intero prefisso `bob/reports/` nel bucket `amzn-s3-demo-bucket1`. 


|  Ambito della concessione  |  Ambito richiesto  |  Privilegio  |  Ambito restituito  |  Effetto  | 
| --- | --- | --- | --- | --- | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/\$1 | Default  | amzn-s3-demo-bucket1/bob/\$1  |  Il richiedente ha accesso a tutti gli oggetti i cui nomi della chiave iniziano con il prefisso `bob/` nel bucket `amzn-s3-demo-bucket1`.  | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/  | Minimal  | amzn-s3-demo-bucket1/bob/  |  Senza un carattere jolly \$1 dopo il nome del prefisso `bob/`, il richiedente ha accesso solo all'oggetto denominato `bob/` nel bucket `amzn-s3-demo-bucket1`. Non è comune avere un oggetto del genere. Il richiedente non ha accesso a nessun altro oggetto, compresi quelli con nomi chiave che iniziano con il prefisso `bob/`.  | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/images/\$1  | Minimal  | amzn-s3-demo-bucket1/bob/images/\$1  |  Il richiedente ha accesso a tutti gli oggetti i cui nomi della chiave iniziano con il prefisso `bob/images/*` nel bucket `amzn-s3-demo-bucket1`.  | 
| S3://amzn-s3-demo-bucket1/bob/reports/\$1 | amzn-s3-demo-bucket1/bob/reports/file.txt  | Default  | amzn-s3-demo-bucket1/bob/reports/\$1  |  Il richiedente ha accesso a tutti gli oggetti i cui nomi della chiave iniziano con il prefisso `bob/reports` nel bucket `amzn-s3-demo-bucket1`, che è l'ambito della concessione corrispondente.  | 
| S3://amzn-s3-demo-bucket1/bob/reports/\$1 | amzn-s3-demo-bucket1/bob/reports/file.txt  | Minimal  | amzn-s3-demo-bucket1/bob/reports/file.txt  |  Il richiedente ha accesso solo all'oggetto con il nome della chiave `bob/reports/file.txt` nel bucket `amzn-s3-demo-bucket1`. Il richiedente non ha accesso a nessun altro oggetto.   | 

**Identità delle directory**  
`GetDataAccess` considera tutte le identità coinvolte in una richiesta quando corrispondono alle concessioni adeguate. Per le identità delle directory aziendali, `GetDataAccess` restituisce anche le concessioni dell’identità IAM utilizzata per la sessione con riconoscimento dell’identità. Per ulteriori informazioni sulle sessioni con riconoscimento dell’identità, consulta [Concessione delle autorizzazioni per l’utilizzo di sessioni di console con riconoscimento dell’identità](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_sts-setcontext.html) nella *Guida per l’utente di AWS Identity and Access Management *. `GetDataAccess` genera credenziali limitando l’ambito alla concessione più restrittiva, come illustrato nella tabella seguente:


|  Ambito di concessione per l’identità IAM |  Ambito di concessione per l’identità delle directory |  Ambito richiesto  |  Ambito restituito  |  Privilegio  |  Effetto  | 
| --- | --- | --- | --- | --- | --- | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/images/\$1 | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | S3://amzn-s3-demo-bucket1/bob/images/\$1  | Default |  Il richiedente ha accesso a tutti gli oggetti i cui nomi di chiave iniziano con il prefisso *bob/* come parte della concessione per il ruolo IAM, ma è limitato ai prefissi *bob/images/* come parte della concessione per l’identità delle directory. Sia il ruolo IAM sia l’identità delle directory forniscono l’accesso all’ambito richiesto, vale a dire `bob/images/image1.jpeg`, ma l’identità delle directory ha una concessione più restrittiva. Pertanto, l’ambito restituito è limitato alla concessione più restrittiva per l’identità delle directory.  | 
| S3://amzn-s3-demo-bucket1/bob/\$1 | amzn-s3-demo-bucket1/bob/images/\$1 | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | Minimal |  Poiché il privilegio è impostato su `Minimal`, anche se l’identità ha accesso a un ambito più ampio, viene restituito solo l’ambito richiesto `bob/images/image1.jpeg`.  | 
| S3://amzn-s3-demo-bucket1/bob/images/\$1 | amzn-s3-demo-bucket1/bob/\$1 | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | S3://amzn-s3-demo-bucket1/bob/images/\$1  | Default |  Il richiedente ha accesso a tutti gli oggetti i cui nomi di chiave iniziano con il prefisso *bob/* come parte della concessione per l’identità delle directory, ma è limitato ai prefissi *bob/images/* come parte della concessione per il ruolo IAM. Sia il ruolo IAM sia l’identità delle directory forniscono l’accesso all’ambito richiesto, vale a dire `bob/images/image1.jpeg`, ma il ruolo IAM ha una concessione più restrittiva. Pertanto, l’ambito restituito è limitato alla concessione più restrittiva per il ruolo IAM.  | 
| S3://amzn-s3-demo-bucket1/bob/images/\$1 | amzn-s3-demo-bucket1/bob/\$1 | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | S3://amzn-s3-demo-bucket1/bob/images/image1.jpeg  | Minimal |  Poiché il privilegio è impostato su `Minimal`, anche se l’identità ha accesso a un ambito più ampio, viene restituito solo l’ambito richiesto `bob/images/image1.jpeg`.  | 

**Durata**  
Il parametro `durationSeconds` imposta la durata della credenziale temporanea, in secondi. Il valore predefinito è `3600` secondi (1 ora), ma il richiedente (l'assegnatario) può specificare un intervallo da `900` secondi (15 minuti) a `43200` secondi (12 ore). Se l'assegnatario richiede un valore superiore a questo valore massimo, la richiesta ha esito negativo. 

**Nota**  
Nella richiesta di un token temporaneo, se la posizione è un oggetto, imposta il valore del parametro `targetType` nella richiesta a `Object`. Questo parametro è obbligatorio solo se la posizione è un oggetto e il livello di privilegio è `Minimal`. Se la posizione è un bucket o un prefisso, non devi specificare questo parametro.

**Esempi**  
Puoi richiedere credenziali temporanee utilizzando AWS Command Line Interface (AWS CLI), l'API REST di Amazon S3 e il. AWS SDKs Consulta questi esempi.

Per ulteriori informazioni, consulta il *riferimento [GetDataAccess](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html)all'API di Amazon Simple Storage Service*.

## Usando il AWS CLI
<a name="access-grants-credentials-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*. 

Per utilizzare il seguente comando di esempio, sostituisci `user input placeholders` con le tue informazioni.

**Example Richiesta di credenziali temporanee**  
Richiesta:  

```
aws s3control get-data-access \
--account-id 111122223333 \
--target s3://amzn-s3-demo-bucket/prefixA* \
--permission READ \
--privilege Default \
--region us-east-2
```
Risposta:  

```
{
"Credentials": {
"AccessKeyId": "Example-key-id",
"SecretAccessKey": "Example-access-key",
"SessionToken": "Example-session-token",
"Expiration": "2023-06-14T18:56:45+00:00"},
"MatchedGrantTarget": "s3://amzn-s3-demo-bucket/prefixA**",
"Grantee": {
    "GranteeType": "IAM",
    "GranteeIdentifier": "arn:aws:iam::111122223333:role/role-name"
 }
}
```

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

Per informazioni sul supporto dell'API REST di Amazon S3 per la richiesta di credenziali temporanee da S3 Access Grants, consulta il riferimento all'API di *Amazon [GetDataAccess](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html)*Simple Storage Service.

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

Questa sezione fornisce un esempio di come i beneficiari richiedono credenziali temporanee a S3 Access Grants utilizzando il. AWS SDKs

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

Il seguente esempio di codice restituisce le credenziali temporanee utilizzate dall'assegnatario per accedere ai tuoi dati S3. Per utilizzare questo esempio di codice, sostituisci `user input placeholders` con le tue informazioni.

**Example Ottenimento di credenziali temporanee**  
Richiesta:  

```
public void getDataAccess() {
GetDataAccessRequest getDataAccessRequest = GetDataAccessRequest.builder()
.accountId("111122223333")
.permission(Permission.READ)
.privilege(Privilege.MINIMAL)
.target("s3://amzn-s3-demo-bucket/prefixA*")
.build();
GetDataAccessResponse getDataAccessResponse = s3Control.getDataAccess(getDataAccessRequest);
LOGGER.info("GetDataAccessResponse: " + getDataAccessResponse);
}
```
Risposta:  

```
GetDataAccessResponse(
Credentials=Credentials(
AccessKeyId="Example-access-key-id",
SecretAccessKey="Example-secret-access-key",
SessionToken="Example-session-token",
Expiration=2023-06-07T06:55:24Z
))
```

------