Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Étape 3 : créer un rôle IAM avec des autorisations d'appel GetClusterCredentials
Votre client SQL a besoin d'une autorisation pour appeler l'opération GetClusterCredentials
en votre nom. Pour fournir cette autorisation, vous créez un utilisateur ou un rôle et vous attachez une politique qui accorde les autorisations nécessaires.
Pour créer un rôle IAM autorisé à appeler GetClusterCredentials
-
A l'aide du service IAM, créez un utilisateur ou un rôle. Vous pouvez aussi utiliser un utilisateur ou un rôle existant. Par exemple, si vous avez créé un rôle IAM pour l'accès au fournisseur d'identité, vous pouvez attacher les politiques IAM nécessaires à ce rôle.
-
Attachez une politique d'autorisation avec l'autorisation d'appeler l'opération
redshift:GetClusterCredentials
. En fonction des paramètres facultatifs que vous spécifiez, vous pouvez aussi autoriser ou restreindre des actions et des ressources supplémentaires dans votre politique :-
Pour permettre à votre client SQL de récupérer l'ID, AWS la région et le port du cluster, incluez l'autorisation d'appeler l'
redshift:DescribeClusters
opération avec la ressource de cluster Redshift. -
Si vous utilisez l'option
AutoCreate
, incluez l'autorisation d'appelerredshift:CreateClusterUser
avec la ressourcedbuser
. L'Amazon Resource Name (ARN) suivant spécifie ledbuser
Amazon Redshift. Remplacez
, et parregion
account-id
les valeurs de votre AWS région, de votre compte et de votre cluster. Pourcluster-name
, spécifiez le nom d'utilisateur à utiliser pour se connecter à la base de données de cluster.dbuser-name
arn:aws:redshift:
region
:account-id
:dbuser:cluster-name
/dbuser-name
-
(Facultatif) Ajoutez un ARN qui spécifie la ressource Amazon Redshift
dbname
dans le format suivant. Remplacez
, et parregion
account-id
les valeurs de votre AWS région, de votre compte et de votre cluster. Pourcluster-name
, spécifiez le nom d'une base de données à laquelle l'utilisateur se connectera.database-name
arn:aws:redshift:
region
:account-id
:dbname:cluster-name
/database-name
-
Si vous utilisez l'option
DbGroups
, incluez la permission d'appeler l'opérationredshift:JoinGroup
avec la ressource Amazon Redshiftdbgroup
au format suivant. Remplacez
, et parregion
account-id
les valeurs de votre AWS région, de votre compte et de votre cluster. Pourcluster-name
, spécifiez le nom d'un groupe d'utilisateurs que l'utilisateur rejoint lors de la connexion.dbgroup-name
arn:aws:redshift:
region
:account-id
:dbgroup:cluster-name
/dbgroup-name
-
Pour plus d’informations et d’exemples, consultez Politiques en matière de ressources pour GetClusterCredentials.
L'exemple suivant illustre une politique qui autorise le rôle IAM à appeler l'opération GetClusterCredentials
. La spécification de la ressource Amazon Redshift dbuser
accorde au rôle l'accès au nom d'utilisateur de la base de données temp_creds_user
sur le cluster nommé examplecluster
.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/temp_creds_user" } }
Vous pouvez utiliser un caractère générique (*) pour remplacer tout ou partie du nom de cluster, du nom d'utilisateur et des noms de groupes de bases de données. L'exemple suivant autorise tout nom d'utilisateur commençant par temp_
avec tout cluster dans le compte spécifié.
Important
L'instruction de l'exemple suivant spécifie un caractère générique (*) comme valeur pour la ressource de telle sorte que la politique autorise n'importe quelle ressource commençant par les caractères spécifiés. L'utilisation d'un caractère générique dans les politiques IAM peut être excessivement permissive. En tant que bonne pratique, il est recommandé d'utiliser la politique la plus restrictive acceptable pour votre application métier.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "redshift:GetClusterCredentials", "Resource": "arn:aws:redshift:us-west-2:123456789012:dbuser:*/temp_*" } }
L'exemple suivant montre une politique qui autorise le rôle IAM à appeler l'opération GetClusterCredentials
avec l'option de créer automatiquement un nouvel utilisateur et de spécifier les groupes que l'utilisateur rejoint lors de la connexion. La clause "Resource":
"*"
accorde au rôle l'accès à n'importe quelle ressource, y compris les clusters, utilisateurs de base de données ou groupes d'utilisateurs.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials", "redshift:CreateClusterUser", "redshift:JoinGroup" ], "Resource": "*" } }
Pour plus d'informations, consultez Syntaxe de l'ARN Amazon Redshift.