Étape 3 : créer un rôle IAM avec des autorisations d'appel GetClusterCredentials - Amazon Redshift

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

  2. 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:DescribeClustersopération avec la ressource de cluster Redshift.

    • Si vous utilisez l'option AutoCreate, incluez l'autorisation d'appeler redshift:CreateClusterUser avec la ressource dbuser. L'Amazon Resource Name (ARN) suivant spécifie le dbuser Amazon Redshift. Remplacez regionaccount-id, et par cluster-nameles valeurs de votre AWS région, de votre compte et de votre cluster. Pour dbuser-name, spécifiez le nom d'utilisateur à utiliser pour se connecter à la base de données de cluster.

      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 regionaccount-id, et par cluster-nameles valeurs de votre AWS région, de votre compte et de votre cluster. Pour database-name, spécifiez le nom d'une base de données à laquelle l'utilisateur se connectera.

      arn:aws:redshift:region:account-id:dbname:cluster-name/database-name
    • Si vous utilisez l'option DbGroups, incluez la permission d'appeler l'opération redshift:JoinGroup avec la ressource Amazon Redshift dbgroup au format suivant. Remplacez regionaccount-id, et par cluster-nameles valeurs de votre AWS région, de votre compte et de votre cluster. Pour dbgroup-name, spécifiez le nom d'un groupe d'utilisateurs que l'utilisateur rejoint lors de la connexion.

      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.