Creare un provider di identità OpenID Connect (OIDC) in IAM
I provider di identità OIDC IAM sono entità in IAM che descrivono un servizio del provider di identità (IdP) esterno in grado di supportare lo standard OpenID Connect
Puoi creare e gestire un provider di identità OIDC IAM utilizzando la AWS Management Console, la AWS Command Line Interface, Tools for Windows PowerShell o l'API IAM.
Una volta creato un provider di identità OIDC IAM, dovrai creare uno o più ruoli IAM. Un ruolo è un'identità in AWS che non dispone di credenziali proprie (a differenza di un utente). Tuttavia, in questo contesto, un ruolo viene assegnato in modo dinamico a un utente federato autenticato dall'IdP dell'organizzazione. Il ruolo consente al provider di identità dell'organizzazione di richiedere credenziali di sicurezza provvisorie per l'accesso a AWS. Le policy assegnate al ruolo determinano le autorizzazioni concesse agli utenti federati in AWS. Per creare un ruolo per un provider di identità di terze parti, consulta Creare un ruolo per un provider di identità di terza parte (federazione).
Importante
Quando si configurano politicy basate sull'identità per operazioni che supportano risorse oidc-provider
, IAM valuta l'URL completo del provider di identità OIDC, inclusi i percorsi specificati. Se l'URL del tuo provider di identità OIDC ha un percorso, devi includere quel percorso nell'ARN oidc-provider
come valore dell'elemento Resource
. È inoltre possibile aggiungere una barra in avanti e un carattere jolly (/*
) al dominio URL o usare caratteri jolly (*
e ?
) in qualsiasi punto del percorso dell'URL. Se l'URL del provider di identità OIDC nella richiesta non corrisponde al valore impostato nell'elemento Resource
della policy, la richiesta ha esito negativo.
Per risolvere i problemi più comuni relativi alla federazione OIDC IAM, consulta Risolvere gli errori relativi a OIDC
Argomenti
Prerequisiti: convalida la configurazione del tuo provider di identità
Prima di poter creare un provider di identità OIDC IAM, è necessario disporre delle seguenti informazioni dal proprio IdP. Per ulteriori informazioni su come ottenere le informazioni di configurazione del provider OIDC, consulta la documentazione dell'IdP.
-
Determina l'URL disponibile pubblicamente del tuo provider di identità OIDC. L'URL deve iniziare con https://. In conformità con lo standard OIDC, i componenti del percorso sono consentiti, ma i parametri di query non lo sono. In genere, l'URL è costituito solo da un nome host, come https://server.example.org o https://example.com. L'URL non deve contenere un numero di porta.
-
Aggiungi /.well-known/openid-configuration alla fine dell'URL del tuo provider di identità OIDC per visualizzare il documento di configurazione e i metadati disponibili pubblicamente del provider. È necessario disporre di un documento di rilevamento in formato JSON con il documento di configurazione e i metadati del provider che possono essere recuperati dall'URL dell'endpoint di rilevamento del provider OpenID Connect
. -
Verifica che i seguenti valori siano inclusi nelle informazioni di configurazione del tuo provider. Se nella configurazione openid manca uno di questi campi, è necessario aggiornare il documento di rilevamento. Questo processo può variare in base al provider di identità, quindi segui la documentazione del tuo IdP per completare questa attività.
-
emittente: l'URL del dominio.
-
jwks_uri: l'endpoint JSON Web Key Set (JWKS) da cui IAM ottiene le chiavi pubbliche. Il provider di identità deve includere un endpoint JSON Web Key Set (JWKS) nella configurazione openid. Questo URI definisce dove ottenere le chiavi pubbliche utilizzate per verificare i token firmati dal provider di identità.
-
claims_supported: informazioni sull'utente che consentono di garantire che le risposte di autenticazione OIDC del provider di identità contengano gli attributi richiesti utilizzati da AWS nelle policy IAM per verificare le autorizzazioni per gli utenti federati. Per un elenco delle chiavi di condizione IAM che possono essere utilizzate per le attestazioni, consulta Chiavi disponibili per la federazione OIDC AWS.
-
aud: devi determinare il valore dell'attestazione del pubblico dal tuo IdP nei JSON Web Tokens (JWT). L'attestazione del pubblico (aud) è specifica dell'applicazione e identifica i destinatari previsti del token. Quando registri un'app mobile o Web con un provider OpenID Connect, viene stabilito un ID client che identifica l'applicazione. L'ID client è un identificatore univoco per l'app passato nell'attestazione aud per l'autenticazione. Quando crei il tuo provider di identità OIDC IAM, l'attestazione aud deve corrispondere al valore Pubblico.
-
iat: le attestazioni devono includere un valore per
iat
che rappresenti l'ora in cui viene emesso il token ID. -
iss: l'URL del provider di identità. L'URL deve iniziare con https://e deve corrispondere all'URL del provider fornito a IAM. In conformità con lo standard OIDC, i componenti del percorso sono consentiti, ma i parametri di query non lo sono. In genere, l'URL è costituito solo da un nome host, come https://server.example.org o https://example.com. L'URL non deve contenere un numero di porta.
-
-
response_types_supported: id_token
-
subject_types_supported: public
-
id_token_signing_alg_values_supported: RS256, RS384, RS512, ES256, ES384, ES512
Nota
Puoi includere attestazioni aggiuntive come
my_custom_claim
nell'esempio seguente; tuttavia AWS STS ignorerà l'attestazione.{ "issuer": "https://example-domain.com", "jwks_uri": "https://example-domain.com/jwks/keys", "claims_supported": [ "aud", "iat", "iss", "name", "sub", "my_custom_claim" ], "response_types_supported": [ "id_token" ], "id_token_signing_alg_values_supported": [ "RS256", "RS384", "RS512", "ES256", "ES384", "ES512" ], "subject_types_supported": [ "public" ] }
-
Creazione e gestione di un provider OIDC (Console)
Segui queste istruzioni per creare e gestire un provider di identità OIDC IAM nella AWS Management Console.
Importante
Se utilizzi un provider di identità OIDC di Google, Facebook o Amazon Cognito, non creare un provider di identità IAM separato utilizzando questa procedura. Questi provider di identità OIDC sono già integrati in AWS e sono disponibili per l'utilizzo. Segui invece i passaggi per creare nuovi ruoli per il provider di identità e consulta Creare un ruolo per la federazione OpenID Connect (console).
Come creare un provider di identità OIDC IAM (console)
-
Prima di creare un provider di identità OIDC IAM, occorre registrare l'applicazione sul provider di identità per ricevere un ID client. L'ID client (noto anche come destinatario) è un identificatore univoco per l'app rilasciato durante la registrazione dell'app sul provider di identità. Per ulteriori informazioni su come ottenere un ID client, consulta la documentazione per l'IdP.
Nota
AWS protegge le comunicazioni con i gestori dell'identità digitale (IdP) OIDC utilizzando la nostra libreria di autorità di certificazione (CA) root attendibili per verificare il certificato TLS dell'endpoint JSON Web Key Set (JWKS). Se il tuo IdP OIDC si basa su un certificato non firmato da una di queste CA attendibili, solo allora proteggiamo la comunicazione utilizzando le impronte digitali impostate nella configurazione dell'IdP. AWS ricorrerà alla verifica dell'impronta digitale se non siamo in grado di recuperare il certificato TLS o se è richiesto TLS v1.3.
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel riquadro di navigazione, scegli Provider di identità, quindi seleziona Aggiungi provider.
-
Per Configura provider, scegli OpenID Connect.
-
In Provider URL (URL provider), digitare l'URL del provider di identità. L'URL deve soddisfare queste restrizioni:
-
L'URL rileva la distinzione tra lettere maiuscole e minuscole.
-
L'URL deve iniziare con
https://
. -
L'URL non deve contenere un numero di porta.
-
All'interno del tuo Account AWS, ogni provider di identità OIDC IAM deve usare un URL univoco. Se provi a inviare un URL che è già stato utilizzato per un provider OpenID Connect nell'Account AWS, riceverai un errore.
-
-
In Destinatario, digita l'ID client dell'applicazione registrato con il provider di identità e ricevuto in Passo 1 e che effettuerà le richieste ad AWS. Se si dispone di ID client aggiuntivi (noti anche come destinatari) per questo provider di identità, è possibile aggiungerli in un secondo momento nella pagina dei dettagli del provider.
Nota
Se il tuo token IdP JWT include l'attestazione
azp
, inserisci questo valore come valore Pubblico.Se il tuo provider di identità OIDC sta impostando entrambe le attestazioni
aud
eazp
nel token, AWS STS utilizzerà il valore dell'attestazioneazp
come attestazioneaud
. -
(Facoltativo) Per Aggiungi tag, puoi aggiungere coppie chiave-valore per facilitare l'identificazione e l'organizzazione dei provider di identità. È inoltre possibile utilizzare i tag per controllare l'accesso alle risorse AWS. Per ulteriori informazioni sul tagging dei provider di identità OIDC IAM, consulta Aggiungere tag ai provider di identità OpenID Connect (OIDC). Selezionare Aggiungi tag. Immetti i valori per ogni coppia chiave-valore del tag.
-
Controlla le informazioni inserite. Quando hai finito, scegli Aggiungi provider. IAM proverà a recuperare e utilizzare l'impronta digitale della CA intermedia del certificato server IdP OIDC per creare il provider di identità OIDC IAM.
Nota
La catena di certificati del provider di identità OIDC deve iniziare con l'URL del dominio o dell'emittente, quindi il certificato intermedio e deve terminare con il certificato root. Se l'ordine della catena di certificati è diverso o se include certificati duplicati o aggiuntivi, riceverai un errore di mancata corrispondenza della firma e STS non riuscirà a convalidare il JSON Web Token (JWT). Correggi l'ordine dei certificati nella catena restituita dal server per risolvere l'errore. Per ulteriori informazioni sugli standard della catena di certificati, consulta certificate_list nella RFC 5246
sul sito Web della serie RFC. -
Assegna un ruolo IAM al provider di identità per concedere alle identità utente esterne gestite dal provider di identità le autorizzazioni di accesso alle risorse AWS dell'account. Per ulteriori informazioni sulla creazione di ruoli per la federazione delle identità, consulta Creare un ruolo per un provider di identità di terza parte (federazione).
Nota
Gli IdP OIDC utilizzati in una policy di attendibilità dei ruoli devono appartenere allo stesso account in cui si trova il ruolo.
Come aggiungere o rimuovere un'identificazione personale per un provider di identità OIDC IAM (console)
Nota
AWS protegge le comunicazioni con i gestori dell'identità digitale (IdP) OIDC utilizzando la nostra libreria di autorità di certificazione (CA) root attendibili per verificare il certificato TLS dell'endpoint JSON Web Key Set (JWKS). Se il tuo IdP OIDC si basa su un certificato non firmato da una di queste CA attendibili, solo allora proteggiamo la comunicazione utilizzando le impronte digitali impostate nella configurazione dell'IdP. AWS ricorrerà alla verifica dell'impronta digitale se non siamo in grado di recuperare il certificato TLS o se è richiesto TLS v1.3.
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione, scegli Identity providers (Provider di identità). Scegli quindi il nome del provider di identità IAM che desideri aggiornare.
-
Scegli la scheda Verifica dell'endpoint, quindi nella sezione Impronte digitali, scegli Gestisci. Per immettere un nuovo valore di identificazione personale, scegli Aggiungi identificazione personale. Per rimuovere un'identificazione personale, scegli Rimuovi accanto all'elemento che desideri rimuovere.
Nota
Un provider di identità OIDC IAM deve avere un numero di identificazioni personale compreso tra 1 e 5.
Al termine, scegli Salva modifiche.
Come aggiungere un destinatario per un provider di identità OIDC IAM (console)
-
Nel pannello di navigazione, scegli Provider di identità, quindi scegli il nome del provider di identità IAM che desideri aggiornare.
-
Nella sezione Destinatari, scegli Operazioni e seleziona Aggiungi destinatario.
-
Digita l'ID client dell'applicazione registrato con il provider di identità e ricevuto in Passo 1 e che effettuerà le richieste ad AWS. Quindi scegli Aggiungi destinatari.
Nota
Un provider di identità OIDC IAM deve avere un numero di audience compreso tra 1 e 100.
Come rimuovere un destinatario da un provider di identità OIDC IAM (console)
-
Nel pannello di navigazione, scegli Provider di identità, quindi scegli il nome del provider di identità IAM che desideri aggiornare.
-
Nella sezione Destinatari, seleziona il pulsante di opzione accanto al destinatario che desideri rimuovere, quindi seleziona Operazioni.
-
Scegli Rimuovi destinatario. Viene visualizzata una nuova finestra.
-
Se rimuovi un destinatario, le identità a esso federate non possono assumere ruoli associati al destinatario. Nella finestra, leggi l'avviso e conferma di volere rimuovere il destinatario digitando la parola
remove
nel campo. -
Scegli Rimuovi per rimuovere il destinatario.
Come eliminare un provider di identità OIDC IAM (console)
Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione, scegli Identity providers (Provider di identità).
-
Seleziona la casella di controllo accanto al provider di identità IAM che desideri eliminare. Viene visualizzata una nuova finestra.
-
Conferma che desideri eliminare il provider digitando la parola
delete
nel campo. Quindi, scegli Elimina.
Creazione e gestione di un provider di identità OIDC IAM (AWS CLI)
Puoi utilizzare i comandi AWS CLI seguenti per creare e gestire provider di identità OIDC IAM.
Come creare un provider di identità OIDC IAM (AWS CLI)
-
(Facoltativo) Per ottenere un elenco di tutti i provider di identità OIDC IAM nell'account AWS, emetti il seguente comando:
-
Per creare un nuovo provider di identità OIDC IAM, esegui il comando:
Come aggiornare l'elenco di identificazioni personali del certificato del server per un provider di identità OIDC IAM esistente (AWS CLI)
-
Per aggiornare l'elenco di identificazioni personali del certificato del server per un provider di identità OIDC IAM, esegui il comando:
Come aggiungere i tag a un provider di identità OIDC IAM esistente (AWS CLI)
-
Per aggiungere i tag a un provider di identità OIDC IAM esistente, esegui il comando:
Come elencare i tag per un provider di identità OIDC IAM esistente (AWS CLI)
-
Per elencare i tag per un provider di identità OIDC IAM esistente, esegui il comando:
Come rimuovere i tag da un provider di identità OIDC IAM (AWS CLI)
-
Per rimuovere i tag da un provider di identità OIDC IAM esistente, esegui il comando:
Come aggiungere o rimuovere un ID client da un provider di identità OIDC IAM esistente (AWS CLI)
-
(Facoltativo) Per ottenere un elenco di tutti i provider di identità OIDC IAM nell'account AWS, emetti il seguente comando:
-
(Facoltativo) Per ottenere informazioni dettagliate su un provider di identità OIDC IAM, esegui il comando:
-
Per aggiungere un nuovo ID client a un provider di identità OIDC IAM esistente, esegui il comando:
-
Per rimuovere un client da un provider di identità OIDC IAM esistente, esegui il comando:
Come eliminare un provider di identità OIDC IAM (AWS CLI)
-
(Facoltativo) Per ottenere un elenco di tutti i provider di identità OIDC IAM nell'account AWS, emetti il seguente comando:
-
(Facoltativo) Per ottenere informazioni dettagliate su un provider di identità OIDC IAM, esegui il comando:
-
Per eliminare un provider di identità OIDC IAM, esegui il comando:
Creazione e gestione di un provider di identità OIDC (API AWS)
Puoi utilizzare i seguenti comandi dell'API IAM per creare e gestire provider OIDC.
Come creare un provider di identità OIDC IAM (API AWS)
-
(Facoltativo) Per ottenere un elenco di tutti i provider di identità OIDC IAM nell'account AWS, chiama la seguente operazione:
-
Per creare un nuovo provider di identità OIDC IAM, chiama la seguente operazione:
Come aggiornare l'elenco di identificazioni personali del certificato del server per un provider di identità OIDC IAM esistente (API AWS)
-
Per aggiornare l'elenco di identificazioni personali del certificato del server per un provider di identità OIDC IAM, chiama la seguente operazione:
Come aggiungere i tag a un provider di identità OIDC IAM esistente (API AWS)
-
Per aggiungere i tag a un provider di identità OIDC IAM, richiama la seguente operazione:
Come aggiungere i tag per un provider di identità OIDC IAM esistente (API AWS)
-
Per elencare i tag per un provider di identità OIDC IAM esistente, richiama la seguente operazione:
Come rimuovere i tag da un provider di identità OIDC IAM esistente (API AWS)
-
Per rimuovere i tag da un provider di identità OIDC IAM esistente, richiama la seguente operazione:
Come aggiungere o rimuovere un ID client da un provider di identità OIDC IAM esistente (API AWS)
-
(Facoltativo) Per ottenere un elenco di tutti i provider di identità OIDC IAM nell'account AWS, chiama la seguente operazione:
-
(Facoltativo) Per ottenere informazioni dettagliate su un provider di identità OIDC IAM, chiama la seguente operazione:
-
Per aggiungere un nuovo ID client a un provider di identità OIDC IAM esistente, chiama la seguente operazione:
-
Per rimuovere un ID client da un provider di identità OIDC IAM esistente, chiama la seguente operazione:
Come eliminare un provider di identità OIDC IAM (API AWS)
-
(Facoltativo) Per ottenere un elenco di tutti i provider di identità OIDC IAM nell'account AWS, chiama la seguente operazione:
-
(Facoltativo) Per ottenere informazioni dettagliate su un provider di identità OIDC IAM, chiama la seguente operazione:
-
Per eliminare un provider di identità OIDC IAM, chiama la seguente operazione: