Abilitazione dell'accesso federato all'API Athena - Amazon Athena

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

Abilitazione dell'accesso federato all'API Athena

Questa sezione illustra l'accesso federato che consente a un utente o a un'applicazione client nell'organizzazione di chiamare le operazioni API di Amazon Athena. In questo caso, gli utenti dell'organizzazione non hanno accesso diretto ad Athena. Le credenziali utente vengono invece gestite all'esterno di AWS Microsoft Active Directory. Active Directory supporta SAML 2.0 (Security Assertion Markup Language 2.0).

Per autenticare gli utenti in questo scenario, è necessario utilizzare il driver JDBC o ODBC con supporto di SAML 2.0 per accedere ad Active Directory Federation Services (AD FS) 3.0 e consentire a un'applicazione client di chiamare le operazioni API di Athena.

Per ulteriori informazioni sul supporto SAML 2.0 su AWS, consulta Informazioni sulla federazione SAML 2.0 nella Guida per l'utente IAM.

Nota

L'accesso federato all'API di Athena è supportato per un determinato tipo di provider di identità (IdP), Active Directory Federation Service (AD FS 3.0), parte di Windows Server. L'accesso federato non è compatibile con la funzionalità di propagazione delle identità attendibili di Centro identità IAM. L'accesso viene stabilito attraverso le versioni dei driver JDBC o ODBC che supportano SAML 2.0. Per informazioni, consulta Connessione ad Amazon Athena con JDBC e Connessione ad Amazon Athena con ODBC.

Prima di iniziare

Prima di iniziare, completa i seguenti prerequisiti:

  • All'interno dell'organizzazione, installa e configura ADFS 3.0 come IdP.

  • Installare e configurare le versioni più recenti disponibili dei driver JDBC e ODBC sui client che vengono utilizzati per l'accesso ad Athena. Il driver deve includere il supporto per l'accesso federato compatibile con SAML 2.0. Per informazioni, consulta Connessione ad Amazon Athena con JDBC e Connessione ad Amazon Athena con ODBC.

Diagramma architetturale

Il diagramma seguente illustra tale processo.

Diagramma dell'accesso federato all'API Athena.
  1. Un utente dell'organizzazione utilizza un'applicazione client con il driver JDBC o ODBC per richiedere l'autenticazione dall'IdP dell'organizzazione. L'IdP è ADFS 3.0.

  2. L'IdP autentica l'utente rispetto ad Active Directory, che è l'archivio identità dell'organizzazione.

  3. L'IdP crea un'asserzione SAML con informazioni sull'utente e invia l'asserzione all'applicazione client tramite il driver JDBC o ODBC.

  4. Il driver JDBC o ODBC richiama l'operazione dell'API AWS Security Token Service AssumeRoleWithSAML, passandole i seguenti parametri:

    • L'ARN del fornitore SAML

    • L'ARN del ruolo da assumere

    • L'asserzione SAML dell'IdP

    Per ulteriori informazioni, consulta AssumeRoleWithSAML, nell'API Reference.AWS Security Token Service

  5. La risposta API all'applicazione client tramite il driver JDBC o ODBC include le credenziali di sicurezza temporanee.

  6. L'applicazione client utilizza le credenziali di sicurezza temporanee per chiamare le operazioni API Athena, consentendo agli utenti di accedere alle operazioni API Athena.

Procedura: accesso federato basato su SAML all'API Athena

Questa procedura stabilisce la fiducia tra l'IdP della tua organizzazione e il AWS tuo account per abilitare l'accesso federato basato su SAML alle operazioni dell'API Amazon Athena.

Per abilitare l'accesso federato all'API Athena:
  1. Nella tua organizzazione, registrati AWS come fornitore di servizi (SP) nel tuo IdP. Questo processo è noto come relazione di trust. Per ulteriori informazioni, consultare Configurazione del provider di identità SAML 2.0 con una relazione di trust nella Guida per l'utente di IAM. Come parte di questa operazione, eseguire questi passaggi:

    1. Ottenere il documento di metadati SAML di esempio da questo URL: https://signin.aws.amazon.com/static/saml-metadata.xml.

    2. Nell'IdP della tua organizzazione (ADFS), genera un file XML di metadati equivalente che descriva il tuo IdP come provider di identità per. AWS Il file di metadati deve includere il nome dell'emittente, la data di creazione, la data di scadenza e le chiavi AWS utilizzate per convalidare le risposte di autenticazione (asserzioni) dell'organizzazione.

  2. Nella console &IAM; creare un'entità provider di identità SAML. Per ulteriori informazioni, consulta Creazione di provider di identità SAML nella Guida per l'utente di IAM. Come parte di questo passaggio, eseguire queste operazioni:

    1. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

    2. Caricare il documento di metadati SAML generato dall'IdP (ADFS) al punto 1 di questa procedura.

  3. Nella console IAM, creare uno o più ruoli IAM per l'IdP. Per ulteriori informazioni, consultare Creazione di un ruolo per un provider di identità di terze parti (federazione) nella Guida per l'utente di IAM. Come parte di questo passaggio, eseguire queste operazioni:

    • Nella policy di autorizzazione del ruolo, elencare le operazioni che gli utenti dell'organizzazione possono effettuare in AWS.

    • Nella policy di affidabilità del ruolo, impostare come principale l'entità provider SAML creata al punto 2 di questa procedura.

    Ciò stabilisce una relazione di fiducia tra l'organizzazione e. AWS

  4. Nell'IdP dell'organizzazione (ADFS), definire le asserzioni che associano utenti o gruppi dell'organizzazione ai ruoli IAM. L'associazione di utenti e gruppi ai ruoli IAM è nota anche come regola di attestazione. Si noti che i diversi utenti e gruppi dell'organizzazione potrebbero essere mappati a diversi ruoli IAM.

    Per informazioni sulla configurazione della mappatura in ADFS, consulta il post del blog: Abilitare la federazione all' AWS utilizzo di Windows Active Directory, ADFS e SAML 2.0.

  5. Installare e configurare il driver JDBC o ODBC con il supporto di SAML 2.0. Per informazioni, consulta Connessione ad Amazon Athena con JDBC e Connessione ad Amazon Athena con ODBC.

  6. Specificare la stringa di connessione dall'applicazione al driver JDBC o ODBC. Per informazioni sulla stringa di connessione che deve essere utilizzata dall'applicazione, consultare l'argomento Utilizzo del provider di credenziali di Active Directory Federation Services (ADFS) nella Guida all'installazione e alla configurazione del driver JDBC o un argomento simile nella Guida all'installazione e alla configurazione del driver ODBC disponibile in formato PDF scaricabile dagli argomenti Connessione ad Amazon Athena con JDBC e Connessione ad Amazon Athena con ODBC.

    Segue un riepilogo generale della configurazione della stringa di connessione ai driver:

    1. In AwsCredentialsProviderClass configuration, impostare com.simba.athena.iamsupport.plugin.AdfsCredentialsProvider per indicare che si desidera utilizzare l'autenticazione basata su SAML 2.0 tramite IdP ADFS.

    2. Per idp_host, fornire il nome dell'host del server dell'IdP ADFS.

    3. Per idp_port, fornire il numero di porta che l'IdP ADFS ascolta per la richiesta di asserzione SAML.

    4. Per UID e PWD, fornire le credenziali utente di dominio AD. Quando si utilizza il driver su Windows, se UID e PWD non vengono forniti, il driver tenta di ottenere le credenziali utente dell'utente che ha effettuato l'accesso al computer Windows.

    5. Facoltativamente, impostare ssl_insecure su true. In questo caso, il driver non controlla l'autenticità del certificato SSL per il server dell'IdP ADFS. L'impostazione di true è necessaria se il certificato SSL dell'IdP ADFS non è stato configurato in modo da essere considerato affidabile dal driver.

    6. Per abilitare la mappatura di un utente o gruppo di dominio Active Directory a uno o più ruoli IAM (come menzionato al punto 4 di questa procedura), in preferred_role per la connessione JDBC o ODBC, specificare il ruolo IAM (ARN) da assumere per la connessione del driver. La specifica di preferred_role è facoltativa ed è utile se il ruolo non è il primo ruolo elencato nella regola di attestazione.

    Come risultato della procedura, si verificano le seguenti operazioni:

    1. Il driver JDBC o ODBC chiama l'API AWS STSAssumeRoleWithSAML e le trasmette le asserzioni, come mostrato nel passaggio 4 del diagramma di architettura.

    2. AWS si assicura che la richiesta di assunzione del ruolo provenga dall'IdP a cui si fa riferimento nell'entità del provider SAML.

    3. Se la richiesta ha esito positivo, l'operazione API AWS STS AssumeRoleWithSAML restituisce un set di credenziali di sicurezza temporanee, che l'applicazione client utilizza per effettuare richieste firmate ad Athena.

      L'applicazione ha ora le informazioni sull'utente corrente e può accedere ad Athena in modo programmatico.