Amazon Redshift ne prendra plus en charge la création de nouveaux Python UDFs à compter du 1er novembre 2025. Si vous souhaitez utiliser Python UDFs, créez la version UDFs antérieure à cette date. Le Python existant UDFs continuera à fonctionner normalement. Pour plus d'informations, consultez le billet de blog
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.
Association des rôles IAM aux clusters
Après avoir créé un rôle IAM qui autorise Amazon Redshift à accéder à d'autres services AWS pour vous, vous devez associer ce rôle à un cluster Amazon Redshift. Vous devez le faire avant de pouvoir utiliser le rôle pour charger ou décharger des données.
Autorisations requises pour associer un rôle IAM à un cluster
Pour associer un rôle IAM à un cluster, un utilisateur doit avoir l'autorisation iam:PassRole
pour ce rôle IAM. Cette autorisation permet à un administrateur de restreindre les rôles IAM qu'un utilisateur peut associer aux clusters Amazon Redshift. Il est recommandé d’associer des politiques d’autorisation à un rôle IAM, puis de l’attribuer à des utilisateurs et à des groupes, le cas échéant. Pour plus d’informations, consultez Identity and Access Management dans Amazon Redshift.
L'exemple suivant illustre une politique IAM qui peut être attachée à un utilisateur et qui permet à l'utilisateur d'exécuter ces actions :
-
Obtenez les détails de tous les clusters Amazon Redshift détenus par ce compte d'utilisateur.
-
Associez l'un des trois rôles IAM à l'un ou l'autre des deux clusters Amazon Redshift.
Une fois qu'un utilisateur dispose des autorisations appropriées, cet utilisateur peut associer un rôle IAM à un cluster Amazon Redshift. Le rôle IAM est ensuite prêt à utiliser la commande COPY ou UNLOAD, ou d'autres commandes Amazon Redshift.
Pour plus d'informations sur les politiques IAM, consultez Présentation des politiques IAM dans le Guide de l'utilisateur IAM.
Gestion de l'association d'un rôle IAM à un cluster
Vous pouvez associer un rôle IAM à un cluster Amazon Redshift lorsque vous créez le cluster. Ou vous pouvez modifier un cluster existant ou ajouter ou supprimer une ou plusieurs associations de rôle IAM.
Tenez compte des points suivants :
-
Le nombre maximal de rôles IAM que vous pouvez associer est soumis à un quota.
-
Un rôle IAM peut être associé à plusieurs clusters Amazon Redshift.
-
Un rôle IAM ne peut être associé à un cluster Amazon Redshift que si le rôle IAM et le cluster appartiennent au même compte. AWS
Vous pouvez gérer les associations de rôle IAM d'un cluster avec la console à l'aide de la procédure suivante.
Pour gérer les associations de rôles IAM
Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/
-
Dans le menu de navigation, choisissez Clusters, puis le cluster que vous souhaitez mettre à jour.
-
Pour Actions, choisissez Gérer les rôles IAM pour afficher la liste actuelle des rôles IAM associés au cluster.
-
Sur la page Gérer les rôles IAM, choisissez les rôles IAM à ajouter, puis Ajouter un rôle IAM.
-
Choisissez Terminé pour enregistrer les changements.
Vous pouvez gérer les associations de rôles IAM pour un cluster à AWS CLI l'aide des approches suivantes.
Pour associer un rôle IAM à un cluster lors de la création du cluster, spécifiez l'Amazon Resource Name (ARN) du rôle IAM comme paramètre --iam-role-arns
de la commande create-cluster
. Le nombre maximal de rôles IAM que vous pouvez ajouter lorsque vous appelez la commande create-cluster
est soumis à un quota.
L'association et la dissociation des rôles IAM avec les clusters Amazon Redshift constitue un processus asynchrone. Vous pouvez obtenir le statut de toutes les associations de rôle IAM et de cluster en appelant la commande describe-clusters
.
L'exemple suivant associe deux rôles IAM avec le cluster nouvellement créé nommé my-redshift-cluster
.
aws redshift create-cluster \ --cluster-identifier "my-redshift-cluster" \ --node-type "ra3.4xlarge" \ --number-of-nodes 16 \ --iam-role-arns "arn:aws:iam::123456789012:role/RedshiftCopyUnload" \ "arn:aws:iam::123456789012:role/SecondRedshiftRole"
Pour associer un rôle IAM à un cluster Amazon Redshift existant, spécifiez l'Amazon Resource Name (ARN) du rôle IAM comme paramètre --add-iam-roles
de la commande modify-cluster-iam-roles
. Le nombre maximal de rôles IAM que vous pouvez ajouter lorsque vous appelez la commande modify-cluster-iam-roles
est soumis à un quota.
L'exemple suivant associe un rôle IAM à un cluster existant nommé my-redshift-cluster
.
aws redshift modify-cluster-iam-roles \ --cluster-identifier "my-redshift-cluster" \ --add-iam-roles "arn:aws:iam::123456789012:role/RedshiftCopyUnload"
Pour dissocier un rôle IAM d'un cluster, spécifiez l'ARN du rôle IAM comme paramètre --remove-iam-roles
de la commande modify-cluster-iam-roles
. modify-cluster-iam-roles
Le nombre maximal de rôles IAM que vous pouvez supprimer lorsque vous appelez la commande modify-cluster-iam-roles
est soumis à un quota.
L'exemple suivant supprime l'association pour un rôle IAM pour le 123456789012
AWS compte d'un cluster nommémy-redshift-cluster
.
aws redshift modify-cluster-iam-roles \ --cluster-identifier "my-redshift-cluster" \ --remove-iam-roles "arn:aws:iam::123456789012:role/RedshiftCopyUnload"
Affichage des associations de rôle IAM pour un cluster à l'aide de l' AWS CLI
Pour afficher tous les rôles IAM associés à un cluster Amazon Redshift et l'état de l'association de rôle IAM, appelez la commande describe-clusters
. L'ARN de chaque rôle IAM associé au cluster est retourné dans la liste IamRoles
comme illustré dans l'exemple de sortie suivant.
Les rôles qui ont été associés au cluster affichent l'état in-sync
. Les rôles qui sont en cours d'association au cluster affichent l'état adding
. Les rôles qui sont en cours de dissociation du cluster affichent l'état removing
.
{ "Clusters": [ { "ClusterIdentifier": "my-redshift-cluster", "NodeType": "ra3.4xlarge", "NumberOfNodes": 16, "IamRoles": [ { "IamRoleArn": "arn:aws:iam::123456789012:role/MyRedshiftRole", "IamRoleApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::123456789012:role/SecondRedshiftRole", "IamRoleApplyStatus": "in-sync" } ], ... }, { "ClusterIdentifier": "my-second-redshift-cluster", "NodeType": "ra3.4xlarge", "NumberOfNodes": 10, "IamRoles": [ { "IamRoleArn": "arn:aws:iam::123456789012:role/MyRedshiftRole", "IamRoleApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::123456789012:role/SecondRedshiftRole", "IamRoleApplyStatus": "in-sync" }, { "IamRoleArn": "arn:aws:iam::123456789012:role/ThirdRedshiftRole", "IamRoleApplyStatus": "in-sync" } ], ... } ] }
Pour plus d'informations sur l'utilisation du AWS CLI, consultez le Guide de AWS CLI l'utilisateur.