Configurazione dell’integrazione di Centro identità AWS IAM con Amazon Redshift - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

Configurazione dell’integrazione di Centro identità AWS IAM con Amazon Redshift

L’amministratore del cluster Amazon Redshift o l’amministratore di Amazon Redshift serverless deve completare diverse fasi per configurare Redshift come applicazione abilitata per Centro identità AWS IAM. In questo modo Redshift può rilevare e connettersi automaticamente a Centro identità AWS IAM per ricevere i servizi di accesso e directory utente. Dopodiché, quando l’amministratore di Redshift crea un cluster o un gruppo di lavoro, può consentire al nuovo data warehouse di utilizzare Centro identità AWS IAM per gestire l’accesso al database.

Lo scopo dell’abilitazione di Redshift come applicazione gestita da Centro identità AWS IAM è controllare le autorizzazioni di utenti e gruppi in Centro identità AWS IAM o da un provider di identità di terze parti integrato. Quando gli utenti accedono a un database Redshift, ad esempio un analista o un data scientist, controlla i gruppi di Centro identità AWS IAM che definiscono i nomi dei ruoli in Redshift. In questo modo, un gruppo che definisce il nome per un ruolo del database Redshift può accedere, ad esempio, a un set di tabelle per l'analisi delle vendite. Nelle seguenti sezioni viene mostrato come si configura.

Prerequisiti

I prerequisiti per l’integrazione di Centro identità AWS IAM con Amazon Redshift sono i seguenti:

  • Configurazione dell’account: devi configurare Centro identità AWS IAM nell’account di gestione dell’organizzazione AWS se prevedi di avere casi d’uso multi-account o se utilizzi i cluster Redshift in account diversi con la stessa istanza di Centro identità AWS IAM. È inclusa la configurazione dell'origine di identità. Per ulteriori informazioni, consulta Getting Started, Workforce Identities e Supported identity providers nella Guida per l'utente di Centro identità AWS IAM. Prima di poter assegnare utenti o gruppi ai dati in Redshift, devi assicurarti di averli creati in Centro identità AWS IAM o di averli sincronizzati dall’origine di identità.

    Nota

    Puoi utilizzare un’istanza dell’account di Centro identità AWS IAM a condizione che Redshift e Centro identità AWS IAM si trovino nello stesso account. Puoi creare questa istanza utilizzando un widget al momento della creazione e configurazione di un cluster o un gruppo di lavoro Redshift.

  • Configurazione di un emittente di token attendibile: in alcuni casi, potrebbe essere necessario utilizzare un emittente di token attendibile, ovvero un'entità in grado di emettere e verificare token attendibili. È necessario completare alcune fasi prima che l’amministratore di Redshift che configura l’integrazione di Centro identità AWS IAM possa selezionare l’emittente di token attendibile e aggiungere gli attributi necessari per completare la configurazione. Tra queste possono figurare la configurazione di un provider di identità esterno che funga da emittente di token attendibile e l’aggiunta dei relativi attributi nella console Centro identità AWS IAM. Per completare queste fasi, consulta Utilizzo di applicazioni con un emittente di token attendibile.

    Nota

    La configurazione di un emittente di token attendibile non è richiesta per tutte le connessioni esterne. La connessione al database Redshift con l'Editor di query Amazon Redshift v2 non richiede la configurazione di un emittente di token attendibile. Può invece essere eseguita per applicazioni di terze parti come pannelli di controllo o applicazioni personalizzate che si autenticano con il tuo gestore dell'identità digitale.

  • Configurazione di uno o più ruoli IAM: nelle sezioni che seguono sono indicate le autorizzazioni che devono essere configurate. Dovrai aggiungere le autorizzazioni seguendo le best practice IAM. Le autorizzazioni specifiche sono illustrate nelle procedure che seguono.

Per ulteriori informazioni, consulta Nozioni di base su Centro identità AWS IAM.

Configurazione del provider di identità per utilizzare Centro identità AWS IAM

La prima fase nel controllo della gestione delle identità di utenti e gruppi consiste nel connettersi a Centro identità AWS IAM e configurare il provider di identità. Puoi utilizzare lo stesso Centro identità AWS IAM come provider di identità oppure puoi connettere un archivio di identità di terze parti, ad esempio Okta. Per ulteriori informazioni sulla configurazione della connessione e del provider di identità, consulta Connettersi a un provider di identità esterno nella Guida per l’utente di Centro identità AWS IAM. Al termine di questo processo, assicurati di aggiungere una piccola raccolta di utenti e gruppi a Centro identità AWS IAM a scopo di test.

Autorizzazioni di amministrazione

Autorizzazioni richieste per la gestione del ciclo di vita delle applicazioni Redshift/Centro identità AWS IAM

Devi creare un’identità IAM, che un amministratore Redshift utilizza per configurare Redshift per l’utilizzo con Centro identità AWS IAM. Nella maggior parte dei casi dovresti creare un ruolo IAM con autorizzazioni e assegnarlo ad altre identità in base alle esigenze. Deve disporre delle autorizzazioni elencate per eseguire le seguenti azioni.

Creazione dell’applicazione Redshift/Centro identità AWS IAM

  • sso:PutApplicationAssignmentConfiguration: utilizzato per la sicurezza.

  • sso:CreateApplication: utilizzato per creare un’applicazione Centro identità AWS IAM.

  • sso:PutApplicationAuthenticationMethod: fornisce l'accesso all'autenticazione Redshift.

  • sso:PutApplicationGrant: utilizzato per modificare le informazioni sull'emittente di token attendibile.

  • sso:PutApplicationAccessScope: per la configurazione dell’applicazione Centro identità AWS IAM per Redshift. Ciò include AWS Lake Formation e Amazon S3 Access Grants.

  • redshift:CreateRedshiftIdcApplication: utilizzato per creare un’applicazione Centro identità AWS IAM per Redshift.

Descrizione dell’applicazione Redshift/Centro identità AWS IAM

  • sso:GetApplicationGrant: utilizzato per elencare informazioni sull'emittente di token attendibile.

  • sso:ListApplicationAccessScopes: per la configurazione dell’applicazione Centro identità AWS IAM per Redshift per elencare le integrazioni downstream, come per AWS Lake Formation e S3 Access Grants.

  • redshift:DescribeRedshiftIdcApplications: utilizzato per descrivere le applicazioni Centro identità AWS IAM esistenti.

Modifica dell’applicazione Redshift/Centro identità AWS IAM

  • redshift:ModifyRedshiftIdcApplication: utilizzato per modificare un'applicazione Redshift esistente.

  • sso:UpdateApplication: utilizzato per aggiornare un’applicazione Centro identità AWS IAM.

  • sso:GetApplicationGrant: ottiene le informazioni sull’emittente di token attendibile.

  • sso:ListApplicationAccessScopes: per la configurazione dell’applicazione Centro identità AWS IAM per Redshift.

  • sso:DeleteApplicationGrant: elimina le informazioni sull'emittente di token attendibile.

  • sso:PutApplicationGrant: utilizzato per modificare le informazioni sull'emittente di token attendibile.

  • sso:PutApplicationAccessScope: per la configurazione dell’applicazione Centro identità AWS IAM per Redshift. Ciò include AWS Lake Formation e Amazon S3 Access Grants.

  • sso:DeleteApplicationAccessScope: utilizzato per l’eliminazione della configurazione dell’applicazione Centro identità AWS IAM per Redshift. Ciò include AWS Lake Formation e Amazon S3 Access Grants.

Eliminazione dell’applicazione Redshift/Centro identità AWS IAM

  • sso:DeleteApplication: utilizzato per eliminare un’applicazione Centro identità AWS IAM.

  • redshift:DeleteRedshiftIdcApplication: offre la possibilità di eliminare un’applicazione Centro identità AWS IAM per Redshift esistente.

Autorizzazioni richieste per la gestione del ciclo di vita delle applicazioni Redshift/Query Editor V2

Devi creare un’identità IAM, che un amministratore Redshift utilizza per configurare Redshift per l’utilizzo con Centro identità AWS IAM. Nella maggior parte dei casi dovresti creare un ruolo IAM con autorizzazioni e assegnarlo ad altre identità in base alle esigenze. Deve disporre delle autorizzazioni elencate per eseguire le seguenti azioni.

Creazione dell’applicazione Query Editor V2

  • redshift:CreateQev2IdcApplication: utilizzato per creare l’applicazione QEV2.

  • sso:CreateApplication: offre la possibilità di creare un’applicazione Centro identità AWS IAM.

  • sso:PutApplicationAuthenticationMethod: fornisce l'accesso all'autenticazione Redshift.

  • sso:PutApplicationGrant: utilizzato per modificare le informazioni sull'emittente di token attendibile.

  • sso:PutApplicationAccessScope: per la configurazione dell’applicazione Centro identità AWS IAM per Redshift. È incluso l'editor di query v2.

  • sso:PutApplicationAssignmentConfiguration: utilizzato per la sicurezza.

Descrivere l’applicazione Query Editor V2

  • redshift:DescribeQev2IdcApplications: utilizzato per descrivere l’applicazione QEV2 per Centro identità AWS IAM.

Modificare l’applicazione Query Editor V2

  • redshift:ModifyQev2IdcApplication: utilizzato per modificare l’applicazione QEV2 per Centro identità AWS IAM.

  • sso:UpdateApplication: utilizzato per modificare l’applicazione QEV2 per Centro identità AWS IAM.

Eliminare l’applicazione Query Editor V2

  • redshift:DeleteQev2IdcApplication: utilizzato per eliminare l’applicazione QEV2.

  • sso:DeleteApplication: utilizzato per eliminare l’applicazione QEV2.

Nota

Nell’SDK di Amazon Redshift, le seguenti API non sono disponibili:

  • CreateQev2IdcApplication

  • DescribeQev2IdcApplications

  • ModifyQev2IdcApplication

  • DeleteQev2IdcApplication

Queste operazioni sono specifiche per eseguire l’integrazione di Centro identità AWS IAM con Redshift QEV2 nella console AWS. Per ulteriori informazioni, consulta Azioni definite da Amazon Redshift.

Autorizzazioni del Database Administrator necessarie per connettere nuove risorse nella console

Le seguenti autorizzazioni sono necessarie per connettere nuovi cluster con provisioning o gruppi di lavoro Amazon Redshift serverless durante il processo di creazione. Se disponi di queste autorizzazioni, nella console viene visualizzata la selezione per connettersi all’applicazione gestita da Centro identità AWS IAM per Redshift.

  • redshift:DescribeRedshiftIdcApplications

  • sso:ListApplicationAccessScopes

  • sso:GetApplicationAccessScope

  • sso:GetApplicationGrant

Come best practice, consigliamo di collegare le policy di autorizzazioni a un ruolo IAM, che quindi viene assegnato a utenti e gruppi secondo le necessità. Per ulteriori informazioni, consulta Identity and access management in Amazon Redshift.

Configurazione di Redshift come applicazione gestita da AWS con Centro identità AWS IAM

Prima che Centro identità AWS IAM possa gestire le identità di un cluster con provisioning Amazon Redshift o un gruppo di lavoro Amazon Redshift serverless, l’amministratore di Redshift deve completare la procedura per rendere Redshift un’applicazione gestita da Centro identità AWS IAM:

  1. Seleziona Integrazione di Centro identità AWS IAM nel menu della console Amazon Redshift o Amazon Redshift serverless, quindi seleziona Connetti a Centro identità AWS IAM. Quindi esegui una serie di selezioni per compilare le proprietà dell’integrazione di Centro identità AWS IAM.

  2. Scegli un nome visualizzato e un nome univoco per l’applicazione gestita da Centro identità AWS IAM di Redshift.

  3. Specifica lo spazio dei nomi dell'organizzazione. In genere è una versione abbreviata del nome dell'organizzazione che viene aggiunta come prefisso per gli utenti e i ruoli gestiti da Centro identità AWS IAM nel database Redshift.

  4. Seleziona un ruolo IAM da utilizzare. Questo ruolo IAM deve essere separato da quelli utilizzati per Redshift e consigliamo di non usarlo per altri scopi. Le specifiche autorizzazioni policy richieste sono riportate di seguito:

    • sso:DescribeApplication: necessario per creare una voce del gestore dell'identità digitale nel catalogo.

    • sso:DescribeInstance: utilizzato per creare manualmente ruoli o utenti federati del gestore dell'identità digitale.

  5. Configura le connessioni client e gli emittenti di token attendibili. La configurazione di emittenti di token attendibili facilita la propagazione delle identità attendibili impostando una relazione con un gestore dell'identità digitale esterno. La propagazione dell'identità consente a un utente, ad esempio, di accedere a un'applicazione e a dati specifici in un'altra applicazione. In tal modo gli utenti possono raccogliere dati da diverse postazioni in modo più semplice. In questa fase, si impostano nella console gli attributi per ogni emittente di token attendibile. Gli attributi includono il nome e l'attestazione del pubblico (o aud claim), che potresti dover ricavare dagli attributi di configurazione dello strumento o del servizio. Inoltre, potrebbe essere necessario fornire il nome dell'applicazione dal JSON Web Token (JWT) dello strumento di terze parti.

    Nota

    L'attributo aud claim richiesto da ogni strumento o servizio di terze parti può variare in base al tipo di token, che può essere un token di accesso emesso da un gestore dell'identità digitale o un altro tipo, come un token ID. Ogni fornitore può essere diverso. Quando si implementa la propagazione di identità attendibili e si integra con Redshift, è necessario fornire il valore aud corretto per il tipo di token che lo strumento di terze parti invia ad AWS. Consulta i suggerimenti del provider di strumenti o servizi.

    Per informazioni dettagliate sulla propagazione affidabile delle identità, consulta Panoramica della propagazione affidabile delle identità nella Guida per l’utente di AWS IAM Identity Center.

Dopo che l’amministratore di Redshift ha completato la procedura e salvato la configurazione, le proprietà di Centro identità AWS IAM vengono visualizzate nella console Redshift. Puoi anche eseguire query sulla vista di sistema SVV_IDENTITY_PROVIDERS per verificare le proprietà dell'applicazione, che includono il nome dell'applicazione e lo spazio dei nomi. Lo spazio dei nomi viene utilizzato come prefisso per gli oggetti del database Redshift associati all'applicazione. Il completamento di queste attività rende Redshift un’applicazione abilitata per Centro identità AWS IAM. Le proprietà della console includono lo stato dell'integrazione. Quando l'integrazione è completata, lo stato è Abilitato. Dopo questo processo, l’integrazione di Centro identità AWS IAM può essere abilitata su ogni nuovo cluster.

Dopo la configurazione, puoi includere gli utenti e i gruppi di Centro identità AWS IAM in Redshift scegliendo la scheda Utenti o Gruppi e selezionando Assegna.

Abilitazione dell’integrazione di Centro identità AWS IAM per un nuovo cluster Amazon Redshift o un gruppo di lavoro Amazon Redshift serverless

Il Database Administrator configura le nuove risorse Redshift in modo che funzionino in linea con Centro identità AWS IAM per semplificare l’accesso ai dati. Questa operazione viene eseguita come parte dei passaggi per creare un cluster con provisioning o un gruppo di lavoro serverless. Chiunque disponga delle autorizzazioni per creare risorse Redshift può eseguire queste attività di integrazione di Centro identità AWS IAM. Per creare un cluster con provisioning, inizi scegliendo Crea cluster nella console Amazon Redshift. Di seguito viene mostrato come abilitare la gestione di Centro identità AWS IAM per un database, ma non sono inclusi tutti i passaggi per creare un cluster.

  1. Scegli Abilita per <nome del cluster> nella sezione Integrazione con il Centro identità IAM nei passaggi di creazione del cluster.

  2. C'è un passaggio del processo in cui abiliti l'integrazione. Puoi farlo scegliendo Abilita l'integrazione con il Centro identità IAM nella console.

  3. Per il nuovo cluster o gruppo di lavoro, crea i ruoli di database in Redshift utilizzando i comandi SQL. Il comando è il seguente:

    CREATE ROLE <idcnamespace:rolename>;

    Lo spazio dei nomi e il nome del ruolo sono i seguenti:

    • Prefisso del namespace di Centro identità IAM: è il namespace definito durante la configurazione della connessione tra Centro identità AWS IAM e Redshift.

    • Nome ruolo: questo ruolo del database Redshift deve corrispondere al nome del gruppo in Centro identità AWS IAM.

    Redshift si connette a Centro identità AWS IAM e recupera le informazioni necessarie per creare e mappare il ruolo del database al gruppo di Centro identità AWS IAM.

Tieni presente che quando viene creato un nuovo data warehouse, il ruolo IAM specificato per l’integrazione di Centro identità AWS IAM viene automaticamente collegato al cluster o al gruppo di lavoro Amazon Redshift serverless fornito. Dopo avere inserito i metadati del cluster richiesti e avere creato la risorsa, puoi verificare lo stato dell’integrazione di Centro identità AWS IAM nelle proprietà. Se i nomi dei gruppi in Centro identità AWS IAM contengono spazi, devi utilizzare le virgolette in SQL quando crei il ruolo corrispondente.

Dopo aver abilitato il database Redshift e creato i ruoli, puoi connetterti al database con l'Editor di query Amazon Redshift v2 o Amazon Quick Suite. I dettagli sono spiegati ampiamente nelle sezioni che seguono.

Configurazione dell'impostazione predefinita di RedshiftIdcApplication tramite l'API

La configurazione viene eseguita dall'amministratore delle identità. Utilizzando l’API, crei e compili RedshiftIdcApplication che rappresenta l’applicazione Redshift in Centro identità AWS IAM.

  1. Per iniziare, puoi creare gli utenti e aggiungerli ai gruppi in Centro identità AWS IAM utilizzando la console AWS di Centro identità AWS IAM.

  2. Chiama create-redshift-idc-application per creare un’applicazione Centro identità AWS IAM e renderla compatibile per l’utilizzo di Redshift. L'applicazione viene creata inserendo i valori richiesti. Il nome visualizzato è quello che viene mostrato nella dashboard di Centro identità AWS IAM. L’ARN del ruolo IAM è un nome della risorsa Amazon che dispone delle autorizzazioni per Centro identità AWS IAM e può essere utilizzato anche da Redshift.

    aws redshift create-redshift-idc-application ––idc-instance-arn 'arn:aws:sso:::instance/ssoins-1234a01a1b12345d' ––identity-namespace 'MYCO' ––idc-display-name 'TEST-NEW-APPLICATION' ––iam-role-arn 'arn:aws:redshift:us-east-1:012345678901:role/TestRedshiftRole' ––redshift-idc-application-name 'myredshiftidcapplication'

    L'esempio seguente mostra la risposta RedshiftIdcApplication restituita dalla chiamata a create-redshift-idc-application.

    "RedshiftIdcApplication": { "IdcInstanceArn": "arn:aws:sso:::instance/ssoins-1234a01a1b12345d", "RedshiftIdcApplicationName": "test-application-1", "RedshiftIdcApplicationArn": "arn:aws:redshift:us-east-1:012345678901:redshiftidcapplication:12aaa111-3ab2-3ab1-8e90-b2d72aea588b", "IdentityNamespace": "MYCO", "IdcDisplayName": "Redshift-Idc-Application", "IamRoleArn": "arn:aws:redshift:us-east-1:012345678901:role/TestRedshiftRole", "IdcManagedApplicationArn": "arn:aws:sso::012345678901:application/ssoins-1234a01a1b12345d/apl-12345678910", "IdcOnboardStatus": "arn:aws:redshift:us-east-1:123461817589:redshiftidcapplication", "RedshiftIdcApplicationArn": "Completed", "AuthorizedTokenIssuerList": [ "TrustedTokenIssuerArn": ..., "AuthorizedAudiencesList": [...]... ]}
  3. Puoi utilizzare create-application-assignment per assegnare gruppi particolari o singoli utenti all’applicazione gestita in Centro identità AWS IAM. In questo modo puoi specificare i gruppi da gestire tramite Centro identità AWS IAM. Se il Database Administrator crea i ruoli del database in Redshift, i nomi dei gruppi in Centro identità AWS IAM vengono mappati ai nomi dei ruoli in Redshift. I ruoli controllano le autorizzazioni nel database. Per ulteriori informazioni, consulta Assegnare l’accesso dell’utente alle applicazioni nella console Centro identità AWS IAM.

  4. Dopo avere abilitato l’applicazione, chiama create-cluster e includi l’ARN dell’applicazione gestita da Redshift di Centro identità AWS IAM. In questo modo il cluster viene associato all’applicazione gestita in Centro identità AWS IAM.

Associazione di un’applicazione Centro identità AWS IAM a un cluster o un gruppo di lavoro esistente

Se disponi di un cluster o un gruppo di lavoro e desideri abilitarlo per l’integrazione di Centro identità AWS IAM, puoi eseguire un comando SQL. Puoi anche eseguire comandi SQL per modificare le impostazioni per l’integrazione. Per ulteriori informazioni, consulta ALTER IDENTITY PROVIDER.

È anche possibile rimuovere un provider di identità esistente. L'esempio seguente mostra come CASCADE elimina gli utenti e i ruoli collegati al gestore dell'identità digitale.

DROP IDENTITY PROVIDER <provider_name> [ CASCADE ]

Impostazione delle autorizzazioni degli utenti

L’amministratore configura le autorizzazioni per varie risorse, in base agli attributi di identità e all’appartenenza ai gruppi degli utenti, all’interno del provider di identità o direttamente in Centro identità AWS IAM. Ad esempio, l’amministratore del provider di identità può aggiungere un ingegnere di database al gruppo appropriato per il suo ruolo. Questo nome di gruppo corrisponde a un nome di ruolo del database Redshift. Il ruolo fornisce o limita l'accesso a tabelle o viste specifiche in Redshift.