Création d'un IAM rôle par défaut pour Amazon Redshift - 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.

Création d'un IAM rôle par défaut pour Amazon Redshift

Lorsque vous créez IAM des rôles via la console Redshift, Amazon Redshift les crée par programmation dans Compte AWS votre console et y associe AWS automatiquement les politiques gérées existantes. Cette approche signifie que vous pouvez rester dans la console Redshift et ne pas avoir à passer à la IAM console pour créer des rôles. Pour un contrôle plus précis des autorisations pour un IAM rôle existant créé dans la console Amazon Redshift, vous pouvez associer une politique gérée personnalisée au IAM rôle.

IAMrôles créés dans la console

Lorsque vous utilisez la console Amazon Redshift pour créer des IAM rôles, Amazon Redshift suit IAM tous les rôles créés via la console. Amazon Redshift présélectionne le IAM rôle par défaut le plus récent pour créer tous les nouveaux clusters et restaurer les clusters à partir de snapshots.

Vous pouvez créer un IAM rôle via la console doté d'une politique autorisant l'exécution de SQL commandes. Ces commandes incluentCOPY, UNLOAD CREATE EXTERNALFUNCTION, CREATE EXTERNALTABLE, CREATE EXTERNALSCHEMA, CREATEMODEL, ou CREATELIBRARY. Vous pouvez éventuellement obtenir un contrôle plus précis de l'accès des utilisateurs à vos AWS ressources en créant et en associant des politiques personnalisées au IAM rôle.

Lorsque vous créez un IAM rôle et que vous le définissez comme rôle par défaut pour le cluster à l'aide de la console, vous n'avez pas à fournir le nom de ressource Amazon du IAM rôle (ARN) pour effectuer l'authentification et l'autorisation.

La politique AmazonRedshiftAllCommandsFullAccess gérée est automatiquement attachée au IAM rôle que vous créez via la console pour votre cluster. Ce IAM rôle permet à Amazon Redshift de copier, décharger, interroger et analyser les données relatives aux AWS ressources de votre compte. IAM La politique gérée fournit l'accès à COPY, UNLOAD, CREATEEXTERNALFUNCTION, CREATEEXTERNALSCHEMACREATEMODEL, et CREATELIBRARYaux opérations. La politique accorde également des autorisations pour exécuter SELECT des instructions pour AWS des services connexes, tels qu'Amazon S3, Amazon CloudWatch Logs SageMaker, Amazon et AWS Glue.

Les CREATE LIBRARY commandes CREATE EXTERNAL FUNCTION CREATE EXTERNALSCHEMA, CREATEMODEL, et comportent un default mot-clé. Pour ce mot clé associé à ces commandes, Amazon Redshift utilise le IAM rôle défini par défaut et associé au cluster lors de l'exécution de la commande. Vous pouvez exécuter la ROLE commande DEFAULTIAM_ _ pour vérifier le IAM rôle par défaut actuel attaché au cluster.

Pour contrôler les privilèges d'accès du IAM rôle créé et défini par défaut pour votre cluster Redshift, utilisez le ASSUMEROLE privilège. Ce contrôle d'accès s'applique aux utilisateurs et aux groupes de bases de données lorsqu'ils exécutent des commandes telles que celles répertoriées précédemment. Une fois que vous avez accordé le ASSUMEROLE privilège à un utilisateur ou à un groupe pour le IAM rôle, l'utilisateur ou le groupe peut assumer ce rôle lors de l'exécution de ces commandes. En utilisant ASSUMEROLE ce privilège, vous pouvez accorder l'accès aux commandes appropriées selon les besoins.

Vous pouvez effectuer les actions suivantes à l'aide de la console Amazon Redshift :

Autorisations de la politique AmazonRedshiftAllCommandsFullAccess gérée

L'exemple suivant montre les autorisations de la politique AmazonRedshiftAllCommandsFullAccess gérée qui autorisent certaines actions pour le IAM rôle défini par défaut pour votre cluster. Le IAM rôle auquel sont associées des politiques d'autorisation autorise ce qu'un utilisateur ou un groupe peut ou ne peut pas faire. Avec ces autorisations, vous pouvez exécuter la COPY commande depuis Amazon S3UNLOAD, exécuter et utiliser la CREATE MODEL commande.

{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetBucketAcl", "s3:GetBucketCors", "s3:GetEncryptionConfiguration", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutBucketAcl", "s3:PutBucketCors", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:CreateBucket" ], "Resource": [ "arn:aws:s3:::redshift-downloads", "arn:aws:s3:::redshift-downloads/*", "arn:aws:s3:::*redshift*", "arn:aws:s3:::*redshift*/*" ] }

L'exemple suivant montre les autorisations de la politique AmazonRedshiftAllCommandsFullAccess gérée qui autorisent certaines actions pour le IAM rôle défini par défaut pour le cluster. Le IAM rôle auquel sont associées des politiques d'autorisation autorise ce qu'un utilisateur ou un groupe peut ou ne peut pas faire. Avec les autorisations suivantes, vous pouvez exécuter la CREATE EXTERNAL FUNCTION commande.

{ "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:*redshift*" }

L'exemple suivant montre les autorisations de la politique AmazonRedshiftAllCommandsFullAccess gérée qui autorisent certaines actions pour le IAM rôle défini par défaut pour le cluster. Le IAM rôle auquel sont associées des politiques d'autorisation autorise ce qu'un utilisateur ou un groupe peut ou ne peut pas faire. Avec les autorisations suivantes, vous pouvez exécuter les CREATE EXTERNAL TABLE commandes CREATE EXTERNAL SCHEMA et nécessaires à Amazon Redshift Spectrum.

{ "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetDatabases", "glue:UpdateDatabase", "glue:CreateTable", "glue:DeleteTable", "glue:BatchDeleteTable", "glue:UpdateTable", "glue:GetTable", "glue:GetTables", "glue:BatchCreatePartition", "glue:CreatePartition", "glue:DeletePartition", "glue:BatchDeletePartition", "glue:UpdatePartition", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition" ], "Resource": [ "arn:aws:glue:*:*:table/*redshift*/*", "arn:aws:glue:*:*:catalog", "arn:aws:glue:*:*:database/*redshift*" ] }

L'exemple suivant montre les autorisations de la politique AmazonRedshiftAllCommandsFullAccess gérée qui autorisent certaines actions pour le IAM rôle défini par défaut pour le cluster. Le IAM rôle auquel sont associées des politiques d'autorisation autorise ce qu'un utilisateur ou un groupe peut ou ne peut pas faire. Avec les autorisations suivantes, vous pouvez exécuter la CREATE EXTERNAL SCHEMA commande à l'aide de requêtes fédérées.

{ "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "arn:aws:secretsmanager:*:*:secret:*Redshift*" ] }, { "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*", "Condition": { "StringEquals": { "secretsmanager:ResourceTag/Redshift": "true" } } },

Gestion des IAM rôles créés pour un cluster à l'aide de la console

Pour créer, modifier et supprimer IAM des rôles créés depuis la console Amazon Redshift, utilisez la section Clusters de la console.

Création d'un IAM rôle par défaut

Sur la console, vous pouvez créer un IAM rôle pour votre cluster auquel la AmazonRedshiftAllCommandsFullAccess politique est automatiquement attachée. Le nouveau IAM rôle que vous créez permet à Amazon Redshift de copier, charger, interroger et analyser les données des ressources Amazon de votre IAM compte.

Il ne peut y avoir qu'un seul IAM rôle défini par défaut pour le cluster. Si vous créez un autre IAM rôle comme rôle par défaut du cluster alors qu'un IAM rôle existant est actuellement attribué par défaut, le nouveau IAM rôle remplace l'autre par défaut.

Pour créer un nouveau cluster et définir un IAM rôle par défaut pour le nouveau cluster
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Dans le menu de navigation, choisissez Clusters. Les clusters actuels de votre compte Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

  3. Choisissez Créer un cluster pour créer un cluster.

  4. Suivez les instructions sur la page de la console pour entrer les propriétés dans Configuration du cluster. Pour plus d'informations sur cette étape, consultez Création d’un cluster.

  5. (Facultatif) Choisissez Load sample data (Chargement des exemples de données) pour charger l'exemple de jeu de données sur votre cluster Amazon Redshift afin de commencer à utiliser l'éditeur de requête pour interroger des données.

    Si vous êtes derrière un pare-feu, le port de la base de données doit être ouvert et accepter les connexions entrantes.

  6. Suivez les instructions sur la page de la console pour entrer les propriétés dans Configurations de la base de données.

  7. Sous Autorisations du cluster, IAMdans Gérer les rôles, choisissez Créer un IAM rôle.

  8. Spécifiez un compartiment Amazon S3 auquel le IAM rôle doit accéder en choisissant l'une des méthodes suivantes :

    • Choisissez Aucun compartiment Amazon S3 supplémentaire pour créer le IAM rôle sans spécifier de compartiments Amazon S3 spécifiques.

    • Choisissez Any Amazon S3 bucket (N'importe quel compartiment Amazon S3)pour permettre aux utilisateurs qui ont accès à votre cluster Amazon Redshift d'accéder également à n'importe quel compartiment Amazon S3 et à son contenu dans votre Compte AWS.

    • Choisissez des compartiments Amazon S3 spécifiques pour spécifier un ou plusieurs compartiments Amazon S3 auxquels le IAM rôle créé est autorisé à accéder. Choisissez ensuite un ou plusieurs compartiments Amazon S3 dans le tableau.

  9. Choisissez Créer un IAM rôle par défaut. Amazon Redshift crée et définit automatiquement le IAM rôle par défaut pour votre cluster.

  10. Choisissez Créer un cluster pour créer le cluster. Le cluster peut prendre plusieurs minutes pour être prêt à être utilisé.

Supprimer IAM des rôles de votre cluster

Vous pouvez supprimer un ou plusieurs IAM rôles de votre cluster.

Pour supprimer IAM des rôles de votre cluster
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Dans le menu de navigation, choisissez Clusters. Les clusters actuels de votre compte Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

  3. Choisissez le cluster dont vous souhaitez supprimer le IAM rôle.

  4. Sous Autorisations du cluster, choisissez un ou plusieurs IAM rôles que vous souhaitez supprimer du cluster.

  5. Dans Gérer les IAM rôles, choisissez Supprimer les IAM rôles.

Associer IAM des rôles à votre cluster

Vous pouvez associer un ou plusieurs IAM rôles à votre cluster.

Pour associer IAM des rôles à votre cluster
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Dans le menu de navigation, choisissez Clusters. Les clusters actuels de votre compte Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

  3. Choisissez le cluster auquel vous souhaitez associer IAM des rôles.

  4. Sous Autorisations du cluster, choisissez un ou plusieurs IAM rôles que vous souhaitez associer au cluster.

  5. Dans Gérer les IAM rôles, sélectionnez Associer IAM les rôles.

  6. Choisissez un ou plusieurs IAM rôles à associer à votre cluster.

  7. Choisissez Associer IAM des rôles.

Définition d'un IAM rôle par défaut

Vous pouvez définir un IAM rôle par défaut pour votre cluster.

Pour définir un IAM rôle par défaut pour votre cluster
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Dans le menu de navigation, choisissez Clusters. Les clusters actuels de votre compte Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

  3. Choisissez le cluster pour lequel vous souhaitez définir un IAM rôle par défaut.

  4. Sous Autorisations du cluster, IAMdans Rôles associés, choisissez IAM le rôle que vous souhaitez définir par défaut pour le cluster.

  5. Sous Set Default (Définir par défaut), choisissez Make default (Configuration par défaut).

  6. Lorsque vous y êtes invité, choisissez Définir par défaut pour confirmer que le IAM rôle spécifié est défini par défaut.

Faire en sorte qu'un IAM rôle ne soit plus défini par défaut pour votre cluster

Vous pouvez faire en sorte qu'un IAM rôle ne soit plus le rôle par défaut pour votre cluster.

Pour effacer un IAM rôle comme rôle par défaut pour votre cluster
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Dans le menu de navigation, choisissez Clusters. Les clusters actuels de votre compte Région AWS sont répertoriés. Un sous-ensemble des propriétés de chaque cluster s’affiche dans les colonnes de la liste.

  3. Choisissez le cluster auquel vous souhaitez associer IAM des rôles.

  4. Sous Autorisations du cluster, IAMdans Rôles associés, choisissez le IAM rôle par défaut.

  5. Sous Set Default (Définir par défaut), choisissez Clear default (Effacer la valeur par défaut).

  6. Lorsque vous y êtes invité, choisissez Effacer les valeurs par défaut pour confirmer que le IAM rôle spécifié est effacé par défaut.

Gérer IAM les rôles créés sur le cluster à l'aide du AWS CLI

Vous pouvez gérer les IAM rôles créés sur le cluster à l'aide du AWS CLI.

Pour créer un cluster Amazon Redshift avec un IAM rôle défini par défaut

Pour créer un cluster Amazon Redshift avec un IAM rôle défini par défaut pour le cluster, utilisez la aws redshift create-cluster AWS CLI commande.

La AWS CLI commande suivante crée un cluster Amazon Redshift et le IAM rôle nommé myrole1. La AWS CLI commande définit également myrole1 comme valeur par défaut pour le cluster.

aws redshift create-cluster \ --node-type dc2.large \ --number-of-nodes 2 \ --master-username adminuser \ --master-user-password TopSecret1 \ --cluster-identifier mycluster \ --iam-roles 'arn:aws:iam::012345678910:role/myrole1' 'arn:aws:iam::012345678910:role/myrole2' \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole1'

L'extrait suivant représente un exemple de réponse.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "adding" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "adding" } ] ... } }

Pour ajouter un ou plusieurs IAM rôles à un cluster Amazon Redshift

Pour ajouter un ou plusieurs IAM rôles associés au cluster, utilisez la aws redshift modify-cluster-iam-roles AWS CLI commande.

La AWS CLI commande suivante ajoute myrole3 et myrole4 au cluster.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --add-iam-roles 'arn:aws:iam::012345678910:role/myrole3' 'arn:aws:iam::012345678910:role/myrole4'

L'extrait suivant représente un exemple de réponse.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "ApplyStatus": "adding" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole4", "ApplyStatus": "adding" } ], ... } }

Pour supprimer un ou plusieurs IAM rôles d'un cluster Amazon Redshift

Pour supprimer un ou plusieurs IAM rôles associés au cluster, utilisez la aws redshift modify-cluster-iam-roles AWS CLI commande.

La AWS CLI commande suivante supprime myrole3 et myrole4 quitte le cluster.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --remove-iam-roles 'arn:aws:iam::012345678910:role/myrole3' 'arn:aws:iam::012345678910:role/myrole4'

L'extrait suivant représente un exemple de réponse.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "ApplyStatus": "removing" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole4", "ApplyStatus": "removing" } ], ... } }

Pour définir un IAM rôle associé comme rôle par défaut pour le cluster

Pour définir un IAM rôle associé comme rôle par défaut pour le cluster, utilisez la aws redshift modify-cluster-iam-roles AWS CLI commande.

La AWS CLI commande suivante est définie myrole2 comme valeur par défaut pour le cluster.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole2'

L'extrait suivant représente un exemple de réponse.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" } ], ... } }

Pour définir un rôle non associé comme IAM rôle par défaut pour le cluster

Pour définir un rôle non associé comme IAM rôle par défaut pour le cluster, utilisez la aws redshift modify-cluster-iam-roles AWS CLI commande.

La AWS CLI commande suivante ajoute myrole2 au cluster Amazon Redshift et le définit comme valeur par défaut pour le cluster.

aws redshift modify-cluster-iam-roles \ --cluster-identifier mycluster \ --add-iam-roles 'arn:aws:iam::012345678910:role/myrole3' \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole3'

L'extrait suivant représente un exemple de réponse.

{ "Cluster": { "ClusterIdentifier": "mycluster", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole3", "ApplyStatus": "adding" } ], ... } }

Pour restaurer un cluster à partir d'un instantané et définir un IAM rôle par défaut pour celui-ci

Lorsque vous restaurez votre cluster à partir d'un instantané, vous pouvez associer un IAM rôle existant ou en créer un nouveau et le définir comme rôle par défaut pour le cluster.

Pour restaurer un cluster Amazon Redshift à partir d'un instantané et définir un IAM rôle comme rôle par défaut du cluster, utilisez la aws redshift restore-from-cluster-snapshot AWS CLI commande.

La AWS CLI commande suivante restaure le cluster à partir d'un instantané et le définit myrole2 comme valeur par défaut pour le cluster.

aws redshift restore-from-cluster-snapshot \ --cluster-identifier mycluster-clone \ --snapshot-identifier my-snapshot-id --iam-roles 'arn:aws:iam::012345678910:role/myrole1' 'arn:aws:iam::012345678910:role/myrole2' \ --default-iam-role-arn 'arn:aws:iam::012345678910:role/myrole1'

L'extrait suivant représente un exemple de réponse.

{ "Cluster": { "ClusterIdentifier": "mycluster-clone", "NodeType": "dc2.large", "MasterUsername": "adminuser", "DefaultIamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "IamRoles": [ { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole1", "ApplyStatus": "adding" }, { "IamRoleArn": "arn:aws:iam::012345678910:role/myrole2", "ApplyStatus": "adding" } ], ... } }