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à.
Configurazione del provider di identità su Amazon Redshift
In questa sezione vengono illustrati i passaggi per configurare il provider di identità e Amazon Redshift per stabilire la comunicazione per la federazione dei provider di identità nativi. È necessario un account attivo con il proprio provider di identità. Prima di configurare Amazon Redshift, registrare Redshift come applicazione presso il proprio provider di identità, concedendo il consenso dell'amministratore.
Completare la seguente procedura in Amazon Redshift:
-
È possibile eseguire un'istruzione SQL per registrare il provider di identità, incluse le descrizioni dei metadati dell'applicazione Azure. Per creare il provider di identità in Amazon Redshift, eseguire il comando seguente dopo aver sostituito i valori dei parametri issuer, client_id, client_secret e audience. Questi parametri sono specifici di Microsoft Azure AD. Sostituire il nome del provider di identità con un nome a scelta e sostituire lo spazio dei nomi con un nome univoco per contenere utenti e ruoli dalla directory del provider di identità.
CREATE IDENTITY PROVIDER oauth_standard TYPE azure NAMESPACE 'aad' PARAMETERS '{ "issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/", "client_id":"<client_id>", "client_secret":"BUAH~ewrqewrqwerUUY^%tHe1oNZShoiU7", "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"] }'
Il tipo
azure
indica che il provider facilita specificamente la comunicazione con Microsoft Azure AD. Questo è attualmente l'unico provider di identità di terze parti supportato.-
issuer: l'ID emittente da considerare attendibile quando viene ricevuto un token. L'identificatore univoco per tenant_id viene aggiunto all'emittente.
-
client_id: l'identificativo pubblico univoco dell'applicazione registrata presso il provider di identità. Questo può essere indicato come ID dell'applicazione.
-
client_secret: un identificatore segreto o password noto solo al provider di identità e all'applicazione registrata.
-
audience: l'ID applicazione assegnato all'applicazione in Azure.
Invece di utilizzare un segreto client condiviso, è possibile impostare i parametri per specificare un certificato, una chiave privata e una password per chiave privata quando si crea il gestore dell'identità digitale.
CREATE IDENTITY PROVIDER example_idp TYPE azure NAMESPACE 'example_aad' PARAMETERS '{"issuer":"https://sts.windows.net/2sdfdsf-d475-420d-b5ac-667adad7c702/", "client_id":"<client_id>", "audience":["https://analysis.windows.net/powerbi/connector/AmazonRedshift"], "client_x5t":"<certificate thumbprint>", "client_pk_base64":"<private key in base64 encoding>", "client_pk_password":"test_password"}';
La password della chiave privata, client_pk_password, è facoltativa.
-
-
Facoltativo: eseguire comandi SQL in Amazon Redshift per creare in anticipo utenti e ruoli. Ciò facilita la concessione anticipata delle autorizzazioni. Il nome del ruolo in Amazon Redshift è simile al seguente: < GroupName su Azure <Namespace>AD>. Ad esempio, quando si crea un gruppo in Microsoft Azure AD denominato
rsgroup
e uno spazio dei nomi denominatoaad
, il nome del ruolo èaad:rsgroup
. Il nome dell'utente e del ruolo in Amazon Redshift sono definiti da questi nomi utente e appartenenze ai gruppi nello spazio dei nomi del gestore dell'identità digitale.La mappatura per ruoli e utenti include la verifica del loro valore
external_id
per garantire che sia aggiornato. L'ID esterno viene mappato all'identificatore del gruppo o dell'utente nel provider di identità. Ad esempio, l'ID esterno di un ruolo viene mappato all'ID del gruppo Azure AD corrispondente. Allo stesso modo, l'ID esterno di ogni utente viene mappato al relativo ID nel provider di identità.create role "aad:rsgroup";
-
Concedere le autorizzazioni pertinenti ai ruoli in base alle proprie esigenze. Ad esempio:
GRANT SELECT on all tables in schema public to role "aad:rsgroup";
-
È anche possibile concedere autorizzazioni a un utente specifico.
GRANT SELECT on table foo to aad:alice@example.com
Si noti che l'appartenenza ai ruoli di un utente esterno federato è disponibile solo nella sessione di quell'utente. Ciò ha implicazioni per la creazione di oggetti di database. Quando un utente esterno federato crea una visualizzazione o una procedura archiviata, ad esempio, lo stesso utente non può delegare l'autorizzazione di tali oggetti ad altri utenti e ruoli.
Una spiegazione degli spazi dei nomi
Uno spazio dei nomi mappa un utente o un ruolo a un provider di identità specifico. Ad esempio, il prefisso per gli utenti creati in IAM è. AWS iam:
Questo prefisso impedisce le collisioni tra nomi utente e rende possibile il supporto per più archivi di identità. Se accede un utente alice@example.com dall'origine di identità registrata con lo spazio dei nomi aad, in Redshift viene creato l'utente aad:alice@example.com
, se non è già esistente. Si noti che uno spazio dei nomi di utente e ruolo ha una funzione diversa rispetto a uno spazio dei nomi di cluster di Amazon Redshift, che è un identificatore univoco associato a un cluster.