

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

# Impostazione di Storage Browser per S3
<a name="setup-storagebrowser"></a>

Per collegare gli utenti finali alle *posizioni* Amazon S3, è necessario prima impostare un metodo di autenticazione e autorizzazione. Esistono tre metodi per impostare un metodo di autenticazione e autorizzazione con Storage Browser:
+ [Metodo 1: Gestione dell'accesso ai dati per i clienti e partner terzi](#setup-storagebrowser-method1)
+ [Metodo 2: gestione dell'accesso ai dati dei principali IAM per il tuo account AWS](#setup-storagebrowser-method2)
+ [Metodo 3: Gestione dell'accesso ai dati su larga scala](#setup-storagebrowser-method3)

## Metodo 1: Gestione dell'accesso ai dati per i clienti e partner terzi
<a name="setup-storagebrowser-method1"></a>

Con questo metodo, è possibile utilizzare [AWS Amplify Auth](https://docs.amplify.aws/react/build-a-backend/auth/set-up-auth/) per gestire il controllo degli accessi e la sicurezza dei file. Questo metodo è ideale quando si desidera collegare i clienti o i partner di terze parti con i dati presenti in S3. Con questa opzione, i clienti possono autenticarsi utilizzando gestori dell'identità sociali o aziendali.

Fornisci le credenziali IAM ai tuoi utenti finali e partner terzi utilizzando AWS Amplify Auth con un bucket S3 configurato per utilizzare Amplify Storage. AWS Amplify L'autenticazione si basa su [Amazon](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) Cognito, un servizio di gestione delle identità e degli accessi dei clienti completamente gestito in cui è possibile autenticare e autorizzare gli utenti da una directory utente integrata o da una directory aziendale o da provider di identità di consumo. Il modello di autorizzazione di Amplify definisce a quali prefissi può accedere l'utente attualmente autenticato. Per ulteriori informazioni su come impostare l'autorizzazione per AWS Amplify, consulta [Impostazione dell'archiviazione](https://docs.amplify.aws/react/build-a-backend/storage/set-up-storage/).

Per inizializzare il componente con i metodi di autenticazione e archiviazione di Amplify, aggiungere il seguente frammento di codice all'applicazione web:

```
import {
  createAmplifyAuthAdapter,
  createStorageBrowser,
} from '@aws-amplify/ui-react-storage/browser';
import "@aws-amplify/ui-react-storage/styles.css";

import config from './amplify_outputs.json';

Amplify.configure(config);

export const { StorageBrowser } = createStorageBrowser({
  config: createAmplifyAuthAdapter(),
});
```

## Metodo 2: gestione dell'accesso ai dati dei principali IAM per il tuo account AWS
<a name="setup-storagebrowser-method2"></a>

Se desideri gestire l'accesso per i tuoi responsabili IAM o Account AWS direttamente, puoi creare un ruolo IAM con le autorizzazioni per richiamare l'operazione dell'[https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetDataAccess.html)API S3. Per configurarlo, è necessario creare un’istanza S3 Access Grants per mappare le autorizzazioni per i prefissi e i bucket per uso generico S3 alle identità IAM specificate. Il componente Storage Browser (che deve essere chiamato sul lato client dopo aver ottenuto le credenziali IAM) invoca quindi l’operazione API [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListCallerAccessGrants.html) S3 per recuperare le concessioni disponibili per il richiedente dell’identità e popolarne le posizioni nel componente. Dopo aver ottenuto l'autorizzazione `s3:GetDataAccess`, le credenziali vengono utilizzate dal componente Storage Browser per richiedere l'accesso ai dati a S3.

```
import {
  createManagedAuthAdapter,
  createStorageBrowser,
} from '@aws-amplify/ui-react-storage/browser';
import "@aws-amplify/ui-react-storage/styles.css";

export const { StorageBrowser } = createStorageBrowser({
  config: createManagedAuthAdapter({
    credentialsProvider: async (options?: { forceRefresh?: boolean }) => {
      // return your credentials object
      return {
        credentials: {
          accessKeyId: 'my-access-key-id',
          secretAccessKey: 'my-secret-access-key',
          sessionToken: 'my-session-token',
          expiration: new Date()
        },
      }
    },
    // AWS `region` and `accountId`
    region: '',
    accountId: '',
    // call `onAuthStateChange` when end user auth state changes 
    // to clear sensitive data from the `StorageBrowser` state
    registerAuthListener: (onAuthStateChange) => {},
  })
});
```

## Metodo 3: Gestione dell'accesso ai dati su larga scala
<a name="setup-storagebrowser-method3"></a>

Se si desidera associare un'istanza di [S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) al proprio Centro identità IAM per una soluzione più scalabile (ad esempio per fornire l'accesso ai dati a tutta l'azienda), è possibile richiedere i dati da Amazon S3 per conto dell'utente corrente autenticato. Ad esempio, è possibile concedere ai gruppi di utenti della directory aziendale l'accesso ai dati in S3. Questo approccio consente di gestire centralmente le autorizzazioni di S3 Access Grants per i vostri utenti e gruppi, compresi quelli ospitati da fornitori esterni come Microsoft Entra, Okta e altri.

Quando si utilizza questo metodo, l'[integrazione con il Centro identità IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation.html) consente di utilizzare le directory utenti esistenti. Un altro vantaggio della propagazione dell'identità attendibile del Centro identità IAM è che ogni [evento di dati AWS CloudTrail per Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-cloudtrail-logging-for-s3.html) contiene un riferimento diretto all'identità dell'utente finale che ha avuto accesso ai dati S3.

Se disponi di un'applicazione che supporta la OAuth versione 2.0 e i tuoi utenti devono accedere da queste applicazioni ai AWS servizi, ti consigliamo di utilizzare la propagazione affidabile delle identità. Con la propagazione affidabile delle identità, un utente può accedere a un'applicazione e tale applicazione può trasmettere l'identità dell'utente in tutte le richieste che accedono ai dati nei AWS servizi. Questa applicazione interagisce con il Centro identità IAM per conto degli utenti autenticati. Per ulteriori informazioni, consulta [Utilizzo della propagazione dell'identità attendibile con le applicazioni gestite dai clienti](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-using-customermanagedapps-setup.html).

[La propagazione affidabile delle identità](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overview.html) è una AWS IAM Identity Center funzionalità che gli amministratori di connected Servizi AWS possono utilizzare per concedere e controllare l'accesso ai dati del servizio. L’accesso a questi dati si basa su attributi utente come le associazioni di gruppo. La configurazione di una propagazione affidabile delle identità richiede la collaborazione tra gli amministratori di connected Servizi AWS e gli amministratori di IAM Identity Center. Per ulteriori informazioni, consulta [Prerequisites and considerations](https://docs.aws.amazon.com//singlesignon/latest/userguide/trustedidentitypropagation-overall-prerequisites.html).

### Configurazione
<a name="setup-workflow-storagebrowser-method3"></a>

Per configurare l'autenticazione Storage Browser nella [propagazione dell'identità affidabile Console di gestione AWS utilizzando [S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) e IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation.html), le tue applicazioni devono richiedere dati ad Amazon S3 per conto dell'utente attualmente autenticato. Con questo approccio, è possibile dare agli utenti o ai gruppi di utenti della directory aziendale l'accesso diretto ai bucket, ai prefissi o agli oggetti S3. Ciò significa che l'applicazione non dovrà mappare alcun utente a un principale IAM.

Il seguente flusso di lavoro illustra le fasi di impostazione di Storage Browser per S3, utilizzando il Centro identità IAM e S3 Access Grants:


| Fasi | Description | 
| --- | --- | 
| 1 | [Abilita IAM Identity Center per il tuo AWS Organizations](#enable-iam-idc-org) | 
| 2 | [Configurare AWS Identity and Access Management la federazione di Identity Center](#configure-iam-idc)  | 
| 3 | [Aggiungi un emittente di token affidabile nella console di AWS Identity and Access Management Identity Center](#add-trusted-token-issuer-idc) L'emittente di token attendibile rappresenta il gestore dell'identità digitale esterno nel Centro identità IAM, consentendo il riconoscimento dei token di identità per gli utenti autenticati dell'applicazione.  | 
| 4 | [Creazione di un ruolo IAM per l'applicazione `bootstrap` e `identity bearer`](#create-iam-role-bootstrap)  | 
| 5 | [Creazione e configurazione dell'applicazione nel Centro identità IAM](#create-app-iam-idc) Questa applicazione interagisce con il Centro identità IAM per conto degli utenti autenticati.  | 
| 6 | [Aggiunta di S3 Access Grants come applicazione attendibile per la propagazione dell'identità](#add-s3-ag-app) Questo passaggio collega l'applicazione a S3 Access Grants, in modo che possa effettuare richieste a S3 Access Grants per conto di utenti autenticati.  | 
| 7 | [Creazione di una concessione a un utente o un gruppo](#create-grant-user-group) Questo passaggio sincronizza gli utenti di AWS Identity and Access Management Identity Center con il System for Cross-domain Identity Management (SCIM). SCIM mantiene le identità del Centro identità IAM sincronizzate con quelle del gestore dell'identità digitale.  | 
| 8 | [Creazione del componente Storage Browser per S3](#create-storage-browser-component)  | 

### Abilita IAM Identity Center per il tuo AWS Organizations
<a name="enable-iam-idc-org"></a>

Per abilitare IAM Identity Center for your AWS Organizations, procedi nel seguente modo:

1. Accedi a Console di gestione AWS, utilizzando uno di questi metodi:

   1. ****Nuovo utente AWS (utente root)**:** accedi come proprietario dell'account scegliendo Utente root e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

   1. ****Già in uso AWS (credenziali IAM)**:** accedi utilizzando le tue credenziali IAM con autorizzazioni amministrative.

1. Apri la [console Centro identità IAM](https://console.aws.amazon.com/singlesignon).

1. In **Abilita il Centro identità IAM**, scegli **Abilita**.
**Nota**  
IAM Identity Center richiede la configurazione di. AWS Organizations Se non hai ancora configurato un'organizzazione, puoi scegliere di AWS crearne una per te. Scegli **Crea AWS organizzazione** per completare questo processo.

1. Scegli **Abilita con AWS Organizations**.

1. Scegli **Continua**.

1. (Facoltativo) Aggiungi eventuali tag da associare a questa istanza dell'organizzazione.

1. (Facoltativo) Configura l'amministrazione delegata.
**Nota**  
Se si utilizza un ambiente con più account, si consiglia di configurare l'amministrazione delegata. Con l'amministrazione delegata, è possibile limitare il numero di persone che richiedono l'accesso all'account di gestione in AWS Organizations. Per ulteriori informazioni, consulta [Amministrazione delegata](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html).

1. Scegli **Save** (Salva).

AWS Organizations invia automaticamente un'email di verifica all'indirizzo associato al tuo account di gestione. Potrebbe verificarsi un ritardo prima di ricevere l'e-mail di verifica. Assicurati di verificare l'indirizzo e-mail entro 24 ore, prima che l'e-mail di verifica scada.

### Configurare AWS Identity and Access Management la federazione di Identity Center
<a name="configure-iam-idc"></a>

Per utilizzare Storage Browser per S3 con gli utenti della directory aziendale, è necessario configurare il Centro identità IAM per utilizzare un gestore dell'identità digitale esterno. È possibile utilizzare il gestore dell'identità digitale preferito di propria scelta. Tuttavia, occorre tenere presente che ogni gestore dell'identità digitale utilizza impostazioni di configurazione diverse. Per le esercitazioni sull'uso di diversi gestori dell'identità digitale esterni, consulta i [tutorial sulle origini per il Centro identità IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html).

**Nota**  
Assicurati di registrare l'URL dell'emittente e gli attributi dei destinatari del gestore dell'identità digitale configurato, perché sarà necessario farvi riferimento nelle fasi successive. Se non si dispone dell'accesso o delle autorizzazioni necessarie per configurare un gestore dell'identità digitale, potrebbe essere necessario contattare l'amministratore del gestore dell'identità digitale esterno per ottenerli. 

### Aggiungi un emittente di token affidabile nella console di AWS Identity and Access Management Identity Center
<a name="add-trusted-token-issuer-idc"></a>

L'emittente di token attendibile rappresenta il gestore dell'identità digitale esterno nel Centro identità AWS Identity and Access Management , consentendo il riconoscimento dei token di identità per gli utenti autenticati dell'applicazione. Il proprietario dell'account dell'istanza IAM Identity Center dell'utente AWS Organizations deve eseguire questi passaggi. Questi passaggi possono essere eseguiti nella console Centro identità IAM o in modo programmatico. 

Per aggiungere un emittente di token affidabile nella console di AWS Identity and Access Management Identity Center, procedi nel seguente modo:

1. Apri la [console Centro identità IAM](https://console.aws.amazon.com/singlesignon).

1. Seleziona **Impostazioni**.

1. Scegli la scheda **Autenticazione**.

1. Vai alla sezione **Emittenti di token attendibili** e compila i seguenti dati:

   1. In **URL dell'emittente**, inserisci l'URL del gestore dell'identità digitale esterno che funge da emittente di token attendibile. Potrebbe essere necessario contattare l'amministratore del gestore dell'identità digitale esterno per ottenere queste informazioni. Per ulteriori informazioni, vedere [Utilizzo di applicazioni con un emittente di token attendibili](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html).

   1. In **Nome dell'emittente di token attendibili**, inserisci un nome per l'emittente di token attendibili. Questo nome apparirà nell'elenco degli emittenti di token attendibili che è possibile selezionare nella *Fase 8*, quando una risorsa applicativa è configurata per la propagazione dell'identità.

1. Aggiorna gli **attributi di mappatura** all'attributo dell'applicazione preferita, dove ogni attributo del gestore dell'identità digitale è mappato a un attributo del Centro identità IAM. Ad esempio, si potrebbe voler [mappare l'attributo dell'applicazione](https://docs.aws.amazon.com/singlesignon/latest/userguide/mapawsssoattributestoapp.html) `email` all'attributo dell'utente del Centro identità IAM `email`. Per visualizzare l'elenco degli attributi utente consentiti in IAM Identity Center, consulta la tabella nella cartella [Mappature degli attributi per la directory AWS Managed Microsoft AD](https://docs.aws.amazon.com/singlesignon/latest/userguide/attributemappingsconcept.html).

1. (Facoltativo) Se desideri aggiungere un tag di risorsa, inserire la coppia chiave e valore. Per aggiungere più tag di risorse, scegli **Aggiungi nuovo tag** per generare una nuova voce e inserire le coppie di chiavi e valori.

1. Scegli **Crea emittente di token attendibili**.

1. Una volta terminata la creazione dell'emittente di token attendibili, contatta l'amministratore dell'applicazione per comunicargli il nome dell'emittente di token attendibili, in modo che possa confermare che l'emittente di token attendibili è visibile nella console applicabile. 

1. Assicurati che l'amministratore dell'applicazione selezioni questo emittente di token attendibili nella console applicabile per consentire l'accesso degli utenti all'applicazione dalle applicazioni configurate per la propagazione delle identità attendibili.

### Creazione di un ruolo IAM per l'applicazione `bootstrap` e `identity bearer`
<a name="create-iam-role-bootstrap"></a>

Per garantire che l'applicazione `bootstrap` e gli utenti `identity bearer` possano lavorare correttamente tra loro, assicurati di [creare due ruoli IAM](https://docs.aws.amazon.com/managedservices/latest/onboardingguide/create-iam-role.html). Un ruolo IAM è necessario per l'applicazione `bootstrap` e l'altro ruolo IAM deve essere utilizzato per il portatore di identità, ovvero gli utenti finali che accedono all'applicazione web e che richiedono l'accesso tramite S3 Access Grants. L'applicazione `bootstrap` riceve il token rilasciato dal gestore dell'identità digitale e invoca l'API `CreateTokenWithIAM`, scambiando questo token con quello rilasciato dal Centro identità.

Crea un ruolo IAM, ad esempio `bootstrap-role`, con autorizzazioni come le seguenti. Il seguente esempio di policy IAM fornisce le autorizzazioni a `bootstrap-role` per eseguire lo scambio di token:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Action": [
            "sso-oauth:CreateTokenWithIAM",
        ],
        "Resource": "arn:${Partition}:sso::${AccountId}:application/${InstanceId}/${ApplicationId}",
        "Effect": "Allow"
    },
    {
        "Action": [
            "sts:AssumeRole",
            "sts:SetContext"
        ],
        "Resource": "arn:aws:iam::${AccountId}:role/identity-bearer-role",
        "Effect": "Allow"
    }]
}
```

Quindi, crea un secondo ruolo IAM (come `identity-bearer-role`), che il gestore di identità utilizza per generare le credenziali IAM. Le credenziali IAM restituite dal gestore di identità all'applicazione web vengono utilizzate dal componente Storage Browser per S3 per consentire l'accesso ai dati S3:

```
{
    "Action": [
        "s3:GetDataAccess",
        "s3:ListCallerAccessGrants",
    ],
    "Resource": "arn:${Partition}:s3:${Region}:${Account}:access-grants/default",
    "Effect": "Allow"
}
```

Questo ruolo IAM (`identity-bearer-role`) deve utilizzare una policy attendibile con la seguente istruzione:

```
{
   "Effect": "Allow",
   "Principal": {
      "AWS": "arn:${Partition}:iam::${Account}:role/${RoleNameWithPath}"
   },
   "Action": [
       "sts:AssumeRole",
       "sts:SetContext"
   ]
}
```

### Creazione e configurazione dell'applicazione nel Centro identità IAM
<a name="create-app-iam-idc"></a>

**Nota**  
Prima di iniziare, assicurati di aver creato i ruoli IAM richiesti nel passaggio precedente. In questo passaggio è necessario specificare uno di questi ruoli IAM.

Per creare e configurare un'applicazione gestita dal cliente in AWS IAM Identity Center, procedi nel seguente modo:

1. Apri la [console Centro identità IAM](https://console.aws.amazon.com/singlesignon).

1. Selezionare **Applications (Applicazioni)**.

1. Scegli la scheda **Gestione clienti**.

1. Scegli **Aggiungi applicazione**.

1. Nella pagina **Seleziona tipo di applicazione**, alla voce **Preferenze di impostazione**, scegli **Applicazione da configurare presente**.

1. In **Tipo di applicazione**, scegli **OAuth2.0**.

1. Scegli **Next (Successivo)**. Viene visualizzata la pagina **Specifica applicazione**.

1. Nella sezione **Nome e descrizione dell'applicazione**, inserisci un **Nome di visualizzazione** per l'applicazione, ad esempio **storage-browser-oauth**.

1. Inserisci una **Description** (Descrizione). La descrizione dell'applicazione viene visualizzata nella console IAM Identity Center e nelle richieste API, ma non nel portale di AWS accesso.

1. In **Metodo di assegnazione degli utenti e dei gruppi**, scegli **Non richiedere assegnazioni**. Questa opzione consente a tutti gli utenti e gruppi autorizzati del Centro identità IAM di accedere a questa applicazione.

1. Nel **Portale di accesso AWS **, inserisci un URL dell'applicazione, dove gli utenti possono accedere all'applicazione.

1. (Facoltativo) Se desideri aggiungere un tag di risorsa, inserire la coppia chiave e valore. Per aggiungere più tag di risorse, scegli **Aggiungi nuovo tag** per generare una nuova voce e inserire le coppie di chiavi e valori.

1. Scegli **Next (Successivo)**. Viene visualizzata la pagina **Specifica autenticazione**.

1. In **Autenticazione con emittente di token attendibili**, utilizza la casella di controllo per selezionare l'emittente di token attendibili che hai creato in precedenza.

1. In **Configura emittenti di token attendibili selezionati**, inserisci [aud claim](https://docs.aws.amazon.com/singlesignon/latest/userguide/trusted-token-issuer-configuration-settings.html#trusted-token-issuer-aud-claim). **claim aud** identifica i destinatari del JSON Web Token (JWT) ed è il nome con cui l'emittente di token attendibile identifica questa applicazione.
**Nota**  
Potrebbe essere necessario contattare l'amministratore del gestore dell'identità digitale esterno per ottenere queste informazioni.

1. Scegli **Next (Successivo)**. Viene visualizzata la pagina **Specifica credenziali di autenticazione**.

1. In **Metodo di configurazione**, scegli **Inserisci uno o più ruoli IAM**.

1. In **Inserisci ruoli IAM**, aggiungi il [ruolo IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) o il nome della risorsa Amazon (ARN) per il token portatore di identità. È necessario inserire il ruolo IAM creato nel passaggio precedente per l'applicazione del gestore di identità (ad esempio, **bootstrap-role**).

1. Scegli **Next (Successivo)**.

1. Nella pagina **Revisione e configurazione**, rivedi i dettagli della configurazione dell'applicazione. Se è necessario modificare una qualsiasi impostazione, scegli **Modifica** per la sezione che si desidera modificare e apporta le modifiche.

1. Seleziona **Invia**. Viene visualizzata la pagina dei dettagli dell'applicazione appena aggiunta.

Dopo aver configurato le applicazioni, gli utenti possono accedere alle applicazioni dall'interno del loro portale di AWS accesso in base ai [set di autorizzazioni che hai creato](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-create-a-permission-set.html) e all'[accesso utente che hai assegnato](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-assign-account-access-user.html).

### Aggiunta di S3 Access Grants come applicazione attendibile per la propagazione dell'identità
<a name="add-s3-ag-app"></a>

Dopo aver configurato l'applicazione gestita dal cliente, è necessario specificare S3 Access Grants per la propagazione delle identità. S3 Access Grant fornisce agli utenti le credenziali per accedere ai dati di Amazon S3. Quando si accede all'applicazione gestita dal cliente, S3 Access Grants trasmette l'identità dell'utente all'applicazione attendibile.

 **Prerequisito:** assicurati di aver configurato S3 Access Grants (ad esempio [creando un'istanza S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-create.html) e [registrando una posizione](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location-register.html)) prima di seguire questi passaggi. Per ulteriori informazioni, consulta [Introduzione a S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html).

Per aggiungere S3 Access Grants per la propagazione dell'identità all'applicazione gestita dal cliente, esegui le seguenti operazioni:

1. Apri la [console Centro identità IAM](https://console.aws.amazon.com/singlesignon).

1. Selezionare **Applications (Applicazioni)**.

1. Scegli la scheda **Gestione clienti**.

1. Nell'elenco delle **applicazioni gestite dai clienti**, selezionate l'applicazione OAuth 2.0 per la quale desiderate avviare le richieste di accesso. Questa è l'applicazione a cui gli utenti accederanno.

1. Nella pagina **Dettagli**, in **Applicazioni attendibili per la propagazione dell'identità**, scegli **Specifica applicazioni attendibili**.

1. In Tipo di impostazione, seleziona Applicazioni individuali e specifica l'accesso, quindi scegli **Avanti**.

1. Nella pagina **Seleziona servizio**, scegli **S3 Access Grants**. S3 Access Grants dispone di applicazioni che possono essere utilizzate per definire la propria applicazione web per la propagazione di identità affidabili.

1. Scegli **Next (Successivo)**. La selezione delle applicazioni avverrà nella fase successiva.

1. Nella pagina **Seleziona applicazioni**, scegli **Applicazioni individuali**, seleziona la casella di controllo per ogni applicazione che può ricevere richieste di accesso e scegli **Avanti**.

1. Nella pagina **Configura accesso**, alla voce **Metodo di configurazione**, scegli una delle seguenti opzioni: 
   + **Seleziona accesso per applicazione -** Seleziona questa opzione per configurare livelli di accesso diversi per ciascuna applicazione. Scegli l'applicazione per la quale desideri configurare il livello di accesso, quindi scegli **Modifica accesso**. In **Livello di accesso da applicare**, modifica i livelli di accesso secondo necessità, quindi scegli **Salva modifiche**.
   + ****Applica lo stesso livello di accesso a tutte le applicazioni** -** Seleziona questa opzione se non è necessario configurare i livelli di accesso per ogni applicazione.

1. Scegli **Next (Successivo)**.

1. Nella pagina **Rivedi configurazione**, rivedi le scelte effettuate. 
**Nota**  
È necessario assicurarsi che le autorizzazioni `s3:access_grants:read_write` siano concesse agli utenti. Questa autorizzazione consente agli utenti di recuperare le credenziali di accesso ad Amazon S3. Assicurati di utilizzare la policy IAM creata in precedenza o S3 Access Grants per limitare l'accesso alle operazioni di scrittura.

1. Per apportare modifiche, scegli **Modifica** per la sezione di configurazione da modificare. Quindi, apporta le modifiche richieste e scegli **Salva modifiche**.

1. Scegli **Applicazioni attendibili** per aggiungere l'applicazione attendibile per la propagazione dell'identità.

### Creazione di una concessione a un utente o un gruppo
<a name="create-grant-user-group"></a>

In questa fase, si utilizza il Centro identità IAM per effettuare il provisioning degli utenti. È possibile utilizzare SCIM per il [provisioning automatico o manuale di utenti e gruppi](https://docs.aws.amazon.com/singlesignon/latest/userguide/provision-automatically.html). SCIM mantiene le identità del Centro identità IAM sincronizzate con quelle del gestore dell'identità digitale. Ciò include il provisioning, gli aggiornamenti e il deprovisioning degli utenti tra il gestore dell'identità digitale e il Centro identità IAM.

**Nota**  
Questo passaggio è necessario perché, quando S3 Access Grants viene utilizzato con il Centro identità IAM, gli utenti locali del Centro identità IAM non vengono utilizzati. Gli utenti devono invece essere sincronizzati dal gestore dell'identità digitale con il Centro identità IAM.

Per sincronizzare gli utenti del gestore dell'identità digitale con il Centro identità IAM, esegui le seguenti operazioni:

1. [Attiva il provisioning automatico](https://docs.aws.amazon.com/singlesignon/latest/userguide/how-to-with-scim.html).

1. [Genera un token di accesso](https://docs.aws.amazon.com/singlesignon/latest/userguide/generate-token.html).

Per esempi su come impostare il gestore dell'identità digitale con il Centro identità IAM per il caso d'uso specifico, consulta i [tutorial sulle origini per il Centro identità IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html).

### Creazione del componente Storage Browser per S3
<a name="create-storage-browser-component"></a>

Dopo aver configurato l'istanza Centro identità IAM e creato concessioni in S3 Access Grants, apri l'applicazione React. Nell'applicazione React, utilizza `createManagedAuthAdapter` per impostare le regole di autorizzazione. È necessario specificare un fornitore di credenziali per restituire le credenziali acquisite dal Centro identità IAM. È quindi possibile chiamare `createStorageBrowser` per inizializzare il componente Storage Browser per S3:

```
import {
    createManagedAuthAdapter,
    createStorageBrowser,
} from '@aws-amplify/ui-react-storage/browser';
import '@aws-amplify/ui-react-storage/styles.css';

export const { StorageBrowser } = createStorageBrowser({
   config: createManagedAuthAdapter({
    credentialsProvider: async (options?: { forceRefresh?: boolean }) => {
      // return your credentials object
      return {
        credentials: {
          accessKeyId: 'my-access-key-id',
          secretAccessKey: 'my-secret-access-key',
          sessionToken: 'my-session-token',
          expiration: new Date(),
        },
      }
    },
    // AWS `region` and `accountId` of the S3 Access Grants Instance.
    region: '',
    accountId: '',
    // call `onAuthStateChange` when end user auth state changes 
    // to clear sensitive data from the `StorageBrowser` state
    registerAuthListener: (onAuthStateChange) => {},
  })
});
```



Quindi, crea un meccanismo per lo scambio dei token web JSON (JWTs) dalla tua applicazione web con le credenziali IAM di IAM Identity Center. Per ulteriori informazioni su come scambiare JWT, consulta le seguenti risorse:
+ Post [How to develop a user-facing data application with IAM Identity Center and S3 Access Grants](https://aws.amazon.com/blogs/storage/how-to-develop-a-user-facing-data-application-with-iam-identity-center-and-s3-access-grants-part-2/) in *AWS Storage Blog*
+ Post [Ridimensionamento dell'accesso ai dati con S3 Access Grants](https://aws.amazon.com/blogs/storage/scaling-data-access-with-amazon-s3-access-grants/) in *AWS Storage Blog*
+ [Workshop S3 Access Grants](https://catalog.us-east-1.prod.workshops.aws/workshops/77b0af63-6ad2-4c94-bfc0-270eb9358c7a/en-US) su *AWS workshop studio*
+ [Workshop S3 Access Grants](https://github.com/aws-samples/s3-access-grants-workshop) su *GitHub*

Quindi, imposta un endpoint API per gestire le richieste di recupero delle credenziali. Per convalidare lo scambio di JSON Web Token (JWT), esegui le seguenti operazioni:

1. Recupera il JSON Web Token dall'intestazione di autorizzazione per le richieste in entrata.

1. Convalida il token utilizzando le chiavi pubbliche dall'URL JWKS (JSON Web Key Set) specificato.

1. Verifica la scadenza, l'emittente, l'oggetto e le istruzioni dei destinatari pubblico del token.

Per scambiare il token web JSON del provider di identità con le credenziali AWS IAM, procedi nel seguente modo: 

**Suggerimento**  
Assicurati di evitare di registrare qualsiasi informazione sensibile. Si consiglia di utilizzare controlli di gestione degli errori per le autorizzazioni mancanti, i token scaduti e altre eccezioni. Per ulteriori informazioni, consulta il post [Implementazione dei modelli AWS Lambda di gestione degli errori](https://aws.amazon.com/blogs/compute/implementing-aws-lambda-error-handling-patterns/) in *AWS Compute* Blog.

1. Verifica che i parametri **Autorizzazione** e **Ambito** siano forniti nella richiesta.

1. Utilizza l'API [https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html](https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html) per scambiare il JSON Web Token con un token del Centro identità IAM.
**Nota**  
Il JSON Web Token del gestore dell'identità digitale non può essere utilizzato più volte. È necessario utilizzare un nuovo token per lo scambio con il Centro identità IAM.

1. Utilizza l'operazione [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API per assumere un ruolo temporaneo utilizzando il token IAM Identity Center. Assicurati di utilizzare il ruolo di portatore di identità, noto anche come ruolo che trasporta il contesto di identità (ad esempio, **identity-bearer-role**) per richiedere le credenziali.

1. Restituisci le credenziali IAM all'applicazione web.
**Nota**  
Assicurati di aver impostato un meccanismo di registrazione adeguato. Le risposte vengono restituite in un formato JSON standardizzato con un codice di stato HTTP appropriato.