Abilitazione degli utenti federati SAML 2.0 per accedere a AWS Management Console
Puoi utilizzare un ruolo per configurare il provider di identità (IdP) conforme a SAML 2.0 e AWS per consentire agli utenti federati di accedere alla AWS Management Console. Il ruolo concede all'utente le autorizzazioni per eseguire attività nella console. Se invece desideri fornire agli utenti federati SAML altri metodi per accedere ad AWS, consulta uno dei seguenti argomenti:
-
AWS CLI: Passaggio a un ruolo IAM (AWS CLI)
-
Tools for Windows PowerShell: Passaggio a un ruolo IAM (Strumenti per Windows PowerShell)
-
API AWS: Passaggio a un ruolo IAM (API AWS)
Panoramica
Il seguente diagramma mostra il flusso per il Single Sign-On abilitato per SAML.
Nota
Questo uso specifico di SAML differisce da quello più generale illustrato in Federazione SAML 2.0 poiché questo flusso di lavoro apre la AWS Management Console per conto dell'utente. In questo caso occorre utilizzare l'endpoint di accesso ad AWS anziché richiamare direttamente l'API AssumeRoleWithSAML
. L'endpoint richiama l'API per l'utente e restituisce un'URL che reindirizza automaticamente il browser dell'utente alla AWS Management Console.
Il diagramma illustra i passaggi seguenti:
-
L'utente accede al portale dell'organizzazione e seleziona l'opzione che consente di accedere alla AWS Management Console. Nell'organizzazione, il portale è in genere una funzione del provider di identità che gestisce lo scambio di attendibilità tra l'organizzazione e AWS. Ad esempio, in Active Directory Federation Services, l'URL del portale è:
https://
ADFSServiceName
/adfs/ls/IdpInitiatedSignOn.aspx -
Il portale verifica l'identità dell'utente nell'organizzazione.
-
Il portale genera una risposta di autenticazione SAML che include asserzioni che identificano l'utente e includono gli attributi dell'utente. È anche possibile configurare il provider di identità per includere un attributo di asserzione SAML chiamato
SessionDuration
che specifica la durata della validità della sessione della console. È anche possibile configurare il provider di identità per passare gli attributi come tag di sessione. Il portale invia questa risposta al browser del client. -
Il browser del client viene reindirizzato all'endpoint SSO (Single Sign-On) di AWS e rinvia l'asserzione SAML.
-
L'endpoint richiede le credenziali di sicurezza provvisorie per conto dell'utente e crea una URL di accesso alla console che utilizza tali credenziali.
-
AWS invia l'URL di accesso al client sotto forma di reindirizzamento.
-
Il browser del client è reindirizzato alla AWS Management Console. Se la risposta di autenticazione SAML include attributi mappati a più ruoli IAM, all'utente viene chiesto di selezionare il ruolo per l'accesso alla console.
Dal punto di vista dell'utente, il processo avviene in modo trasparente: l'utente inizia dal portale all'interno della propria organizzazione e termina con la AWS Management Console, senza la necessità di fornire le credenziali di AWS.
Consulta le seguenti sezioni per una panoramica della configurazione di questo comportamento insieme ai collegamenti alla procedura dettagliata.
Configurare la rete come un provider SAML per AWS
All'interno della rete aziendale, è possibile configurare l'archivio identità (ad esempio Windows Active Directory) per l'utilizzo con un IdP basato su SAML come, ad esempio, Windows Active Directory Federation Services e Shibboleth. Utilizzando il provider di identità, si genera un documento di metadati che descrive l'organizzazione come un IdP e include le chiavi di autenticazione. È anche possibile configurare il portale dell'organizzazione per instradare le richieste dell'utente per la AWS Management Console all'endpoint AWS SAML per l'autenticazione utilizzando le asserzioni SAML. Il modo in cui è possibile configurare il provider di identità per la produzione del file metadata.xml dipende dal provider di identità. Per ulteriori informazioni, consulta la documentazione del provider di identità, oppure consulta Integrazione di provider di soluzioni SAML di terze parti con AWS per i collegamenti alla documentazione Web per molti dei fornitori di SAML supportati.
Creazione di un provider SAML in IAM
Successivamente si accede a AWS Management Console e si apre la console IAM. Qui si crea un nuovo provider SAML, ovvero un'entità in IAM che contiene informazioni sul provider di identità dell'organizzazione. Come parte di questo processo, è possibile caricare il documento di metadati prodotto dal software IdP nella propria organizzazione nella sezione precedente. Per informazioni dettagliate, consultare Creare un provider di identità SAML in IAM.
Configurazione delle autorizzazioni in AWS per gli utenti federati
La fase successiva consiste nel creare un ruolo IAM che stabilisca una relazione di attendibilità tra IAM e il provider di identità dell'organizzazione. Questo ruolo deve identificare il tuo provider di identità come un principale (entità attendibile) ai fini della federazione. Il ruolo definisce anche ciò che gli utenti autenticati dal provider di identità dell'organizzazione sono autorizzati a eseguire in AWS. È possibile utilizzare la console IAM per creare questo ruolo. Quando si crea la policy di attendibilità che indica chi può assumere il ruolo, specifica il provider SAML creato in precedenza in IAM. È inoltre possibile specificare uno o più attributi SAML a cui un utente deve corrispondere per poter assumere quel ruolo. Ad esempio, è possibile specificare che solo gli utenti il cui valore SAML eduPersonOrgDN
è ExampleOrg
sono autorizzati ad accedere. La procedura guidata relativa al ruolo aggiunge automaticamente una condizione per testare l'attributo saml:aud
per assicurarsi che il ruolo venga assunto solo per l'accesso alla AWS Management Console. La policy di affidabilità potrebbe apparire come segue:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Federated": "arn:aws:iam::
account-id
:saml-provider/ExampleOrgSSOProvider"}, "Action": "sts:AssumeRoleWithSAML", "Condition": {"StringEquals": { "saml:edupersonorgdn": "ExampleOrg", "saml:aud": "https://signin.aws.amazon.com/saml" }} }] }
Nota
Gli IDP SAML utilizzati in una policy di attendibilità dei ruoli devono appartenere allo stesso account in cui si trova il ruolo.
Puoi includere endpoint regionali per l'attributo saml:aud
in https://
. Per un elenco dei possibili valori di region-code
.signin.aws.amazon.com/static/saml-metadata.xmlregion-code
, consulta la colonna Region (Regione) in Endpoint di accesso AWS.
Per la policy di autorizzazione nel ruolo, è necessario specificare le autorizzazioni come per qualsiasi utente, gruppo o ruolo. Ad esempio, se gli utenti dell'organizzazione sono autorizzati ad amministrare le istanze Amazon EC2, consenti esplicitamente le operazioni Amazon EC2 nella policy di autorizzazione. A tale scopo, puoi assegnare una policy gestita, ad esempio la policy di accesso completo di Amazon EC2.
Per ulteriori informazioni sulla creazione di un ruolo per un provider di identità SAML, consulta Creare un ruolo per una federazione SAML 2.0 (console).
Fine della configurazione e creazione di asserzioni SAML
Comunica al tuo IdP SAML che AWS è il tuo fornitore di servizi installando il file saml-metadata.xml
che si trova in https://
o region-code
.signin.aws.amazon.com/static/saml-metadata.xmlhttps://signin.aws.amazon.com/static/saml-metadata.xml
. Per un elenco dei possibili valori di region-code
, consulta la colonna Region (Regione) in Endpoint di accesso AWS.
Il modo in cui installare tale file dipende dal provider di identità. Alcuni provider danno la possibilità di digitare l'URL, dopodiché il provider di identità ottiene e installa il file per conto dell'utente. Altri richiedono di scaricare il file dall'URL e quindi fornirlo come file locale. Per ulteriori informazioni, consulta la documentazione del provider di identità, oppure consulta Integrazione di provider di soluzioni SAML di terze parti con AWS per i collegamenti alla documentazione Web per molti dei fornitori di SAML supportati.
È anche possibile configurare le informazioni che si desidera che il provider di identità passi come attributi SAML per AWS come parte della risposta di autenticazione. La maggior parte di queste informazioni viene visualizzata in AWS come chiavi di contesto della condizione che è possibile valutare nelle policy. Queste chiavi di condizione garantiscono che solo agli utenti autorizzati nei giusti contesti vengono concesse le autorizzazioni per accedere alle risorse AWS. È possibile specificare le finestre di tempo che limitano l'utilizzo della console. È inoltre possibile specificare il tempo massimo (fino a 12 ore) durante il quale gli utenti possono accedere alla console prima di dover aggiornare le proprie credenziali. Per informazioni dettagliate, consultare Configurare le asserzioni SAML per la risposta di autenticazione.