Passaggio 3: creare un ruolo IAM con autorizzazioni per la chiamata GetClusterCredentials - Amazon Redshift

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

Passaggio 3: creare un ruolo IAM con autorizzazioni per la chiamata GetClusterCredentials

Il client SQL ha bisogno dell'autorizzazione per chiamare l'operazione GetClusterCredentials per conto dell'utente. Per fornire tale autorizzazione, devi creare un utente o un ruolo e collegare una policy che concede le autorizzazioni necessarie.

Per creare un ruolo IAM con i permessi di chiamata GetClusterCredentials
  1. Crea un utente o un ruolo mediante il servizio IAM. È anche possibile utilizzare un ruolo o un utente esistente. Ad esempio, se si è creato un ruolo IAM per l'accesso al provider di identità, è possibile collegare le policy IAM necessarie a quel ruolo.

  2. Collegare una policy di autorizzazione con l'autorizzazione per chiamare l'operazione redshift:GetClusterCredentials. A seconda dei parametri facoltativi specificati, è anche possibile consentire o limitare ulteriori operazioni e risorse nella policy:

    • Per consentire al client SQL di recuperare l'ID, la AWS regione e la porta del cluster, includi l'autorizzazione a chiamare l'redshift:DescribeClustersoperazione con la risorsa del cluster Redshift.

    • Se si utilizza l'opzione AutoCreate, includere l'autorizzazione per chiamare redshift:CreateClusterUser con la risorsa dbuser. L'Amazon Resource Name (ARN) seguente specifica il dbuser di Amazon Redshift. Sostituisci regione cluster-namecon i valori per la tua AWS regione, account e cluster. account-id Per dbuser-name, specificare il nome utente da utilizzare per accedere al database del cluster.

      arn:aws:redshift:region:account-id:dbuser:cluster-name/dbuser-name
    • (Facoltativo) Aggiungere un ARN che specifica la risorsa dbname di Amazon Redshift nel formato riportato di seguito. Sostituisci regione cluster-namecon i valori per la tua AWS regione, account e cluster. account-id Per database-name, specificare il nome di una database a cui l'utente accederà.

      arn:aws:redshift:region:account-id:dbname:cluster-name/database-name
    • Se utilizzi l'opzione DbGroups, includi l'autorizzazione per chiamare l'operazione redshift:JoinGroup con la risorsa dbgroup di Amazon Redshift nel formato seguente. Sostituisci regione cluster-namecon i valori per la tua AWS regione, account e cluster. account-id Per dbgroup-name, specificare il nome di un gruppo di utenti a cui l'utente viene aggiunto all'accesso.

      arn:aws:redshift:region:account-id:dbgroup:cluster-name/dbgroup-name

Per maggiori informazioni ed esempi, consulta Politiche relative alle risorse per GetClusterCredentials.

L'esempio seguente mostra una policy che consente a un ruolo IAM di chiamare l'operazione GetClusterCredentials. Specificando la risorsa dbuser di Amazon Redshift, si concede l'accesso al ruolo al nome utente di database temp_creds_user sul cluster denominato examplecluster.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/temp_creds_user" } }

Puoi utilizzare un carattere jolly (*) per sostituire in parte o interamente il nome di cluster, il nome utente o i nomi di gruppi di database. L'esempio seguente autorizza qualsiasi nome utente che inizia con temp_ e con qualsiasi cluster nell'account specificato.

Importante

L'istruzione nell'esempio seguente specifica un carattere jolly (*) come valore della risorsa in modo che la policy autorizzi qualsiasi risorsa che inizia con i caratteri specificati. L'utilizzo di un carattere jolly nelle policy IAM può risultare eccessivamente permissivo. Come best practice, si consiglia di utilizzare la policy più restrittiva accettabile per l'applicazione aziendale.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:*/temp_*" } }

Nell'esempio seguente viene mostrata una policy che consente al ruolo IAM di chiamare l'operazione GetClusterCredentials con l'opzione di creare automaticamente un nuovo utente e di specificare gruppi a cui l'utente viene aggiunto all'accesso. La clausola "Resource": "*" concede l'accesso al ruolo a qualsiasi risorsa, inclusi cluster, utenti di database o gruppi di utenti.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials", "redshift:CreateClusterUser", "redshift:JoinGroup" ], "Resource": "*" } }

Per ulteriori informazioni, consultare la pagina sintassi dell'ARN Amazon Redshift.