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 IAM ruolo con le autorizzazioni per la chiamata GetClusterCredentials
Il tuo SQL cliente necessita dell'autorizzazione per chiamare l'GetClusterCredentials
operazione per tuo conto. Per fornire tale autorizzazione, devi creare un utente o un ruolo e collegare una policy che concede le autorizzazioni necessarie.
Per creare un IAM ruolo con i permessi di chiamata GetClusterCredentials
-
Utilizzando il IAM servizio, crea un utente o un ruolo. È anche possibile utilizzare un ruolo o un utente esistente. Ad esempio, se hai creato un IAM ruolo per l'accesso al provider di identità, puoi allegare le IAM politiche necessarie a quel ruolo.
-
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 SQL client di recuperare l'ID, la AWS regione e la porta del cluster, includi l'autorizzazione a chiamare l'
redshift:DescribeClusters
operazione con la risorsa del cluster Redshift. -
Se si utilizza l'opzione
AutoCreate
, includere l'autorizzazione per chiamareredshift:CreateClusterUser
con la risorsadbuser
. Il seguente Amazon Resource Name (ARN) specifica Amazondbuser
Redshift. Replace (Sostituisci)
,Regione
eaccount-id
con i valori per la tua AWS regione, account e cluster. Innome-cluster
, specifica il nome utente da utilizzare per accedere al database del cluster.nome-dbuser
arn:aws:redshift:
region
:account-id
:dbuser:cluster-name
/dbuser-name
-
(Facoltativo) Aggiungi un ARN file che specifichi la risorsa Amazon
dbname
Redshift nel seguente formato. Replace (Sostituisci)
,Regione
eaccount-id
con i valori per la tua AWS regione, account e cluster. Pernome-cluster
, specificare il nome di una database a cui l'utente accederà.database-name
arn:aws:redshift:
region
:account-id
:dbname:cluster-name
/database-name
-
Se utilizzi l'opzione
DbGroups
, includi l'autorizzazione per chiamare l'operazioneredshift:JoinGroup
con la risorsadbgroup
di Amazon Redshift nel formato seguente. Replace (Sostituisci)
,Regione
eaccount-id
con i valori per la tua AWS regione, account e cluster. Pernome-cluster
, specificare il nome di un gruppo di utenti a cui l'utente viene aggiunto all'accesso.dbgroup-name
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 politica che consente al IAM ruolo di chiamare l'GetClusterCredentials
operazione. 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'uso di un carattere jolly nelle IAM politiche potrebbe essere 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_*" } }
L'esempio seguente mostra una politica che consente al IAM ruolo di richiamare l'GetClusterCredentials
operazione con l'opzione di creare automaticamente un nuovo utente e specificare i gruppi a cui l'utente si unisce al momento dell'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, consulta la sintassi di Amazon Redshift ARN.