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.
Utilisation des politiques basées sur l’identité (politiques IAM) pour Amazon Redshift
Cette rubrique fournit des exemples de politiques basées sur une identité dans lesquelles un administrateur de compte peut attacher des politiques d’autorisation aux identités IAM (c’est-à-dire aux utilisateurs, groupes et rôles).
Important
Nous vous recommandons de consulter d’abord les rubriques d’introduction qui expliquent les concepts de base et les options dont vous disposez pour gérer l’accès à vos ressources Amazon Redshift. Pour plus d'informations, consultez Présentation de la gestion des autorisations d’accès à vos ressources Amazon Redshift.
Un exemple de politique d’autorisation est exposé ci-dessous. La politique permet à un utilisateur de créer, de supprimer, de modifier et de redémarrer tous les clusters, puis refuse l'autorisation de supprimer ou de modifier les clusters dont l'identifiant du cluster commence par production
in Région AWS us-west-2
et Compte AWS
123456789012
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowClusterManagement", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"DenyDeleteModifyProtected", "Action": [ "redshift:DeleteCluster", "redshift:ModifyCluster" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:cluster:production*" ], "Effect": "Deny" } ] }
La politique possède deux énoncés:
-
Le premier énoncé accorde des autorisations à un utilisateur pour créer, supprimer, modifier et redémarrer des clusters. La déclaration spécifie un caractère générique (*) comme
Resource
valeur afin que la politique s'applique à toutes les ressources Amazon Redshift détenues par le AWS compte racine. -
Le second énoncé refuse l’autorisation de supprimer ou de modifier un cluster. L’énoncé spécifie un cluster Amazon Resource Name (ARN) pour la valeur
Resource
qui inclut un caractère générique (*). Par conséquent, cette déclaration s'applique à tous les clusters Amazon Redshift détenus par le AWS compte racine dont l'identifiant du cluster commence par.production
AWS politiques gérées pour Amazon Redshift
AWS répond à de nombreux cas d'utilisation courants en fournissant des politiques IAM autonomes créées et administrées par. AWS Les politiques gérées octroient les autorisations requises dans les cas d’utilisation courants et vous évitent d’avoir à réfléchir aux autorisations qui sont requises. Pour plus d’informations, consultez Politiques gérées par AWS dans le Guide de l’utilisateur IAM.
Vous pouvez également créer vos propres politiques IAM personnalisées pour autoriser les autorisations pour les opérations et les ressources de l’API Amazon Redshift. Vous pouvez attacher ces politiques personnalisées aux rôles ou groupes IAM qui nécessitent ces autorisations.
Les sections suivantes décrivent les politiques AWS gérées, que vous pouvez associer aux utilisateurs de votre compte, et sont spécifiques à Amazon Redshift.
AmazonRedshiftReadOnlyAccess
Accorde un accès en lecture seule à toutes les ressources Amazon Redshift d'un compte. AWS
Vous pouvez trouver la AmazonRedshiftReadOnlyAccess
AmazonRedshiftFullAccess
Accorde un accès complet à toutes les ressources Amazon Redshift pour un AWS compte. De plus, cette politique accorde un accès complet à toutes les ressources Amazon Redshift sans serveur.
Vous pouvez trouver la AmazonRedshiftFullAccess
AmazonRedshiftQueryEditor
AmazonRedshiftQueryEditor – Accorde un accès complet à l’éditeur de requête dans la console Amazon Redshift.
Vous pouvez trouver la AmazonRedshiftQueryEditor
AmazonRedshiftDataFullAccess
Accorde un accès complet aux opérations et aux ressources de l'API Amazon Redshift Data pour un AWS compte.
Vous pouvez trouver la AmazonRedshiftDataFullAccess
AmazonRedshiftQueryEditorV2FullAccess
Accorde un accès complet aux opérations et ressources de l’éditeur de requête Amazon Redshift v2. Cette politique permet également d'accéder à d'autres services requis.
Vous trouverez la FullAccess politique AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2NoSharing
Permet de travailler avec l’éditeur de requête Amazon Redshift v2 sans partager de ressources. Cette politique permet également d’accéder à d’autres services requis. Le principal utilisant cette politique ne peut pas étiqueter ses ressources (telles que des requêtes) pour les partager avec d’autres principaux dans le même Compte AWS.
Vous trouverez la NoSharing politique AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2ReadSharing
Permet de travailler avec l’éditeur de requête Amazon Redshift v2 avec un partage limité des ressources. Cette politique permet également d’accéder à d’autres services requis. Le principal utilisant cette politique peut étiqueter ses ressources (telles que des requêtes) pour les partager avec d’autres principaux dans le même Compte AWS. Le principal autorisé peut lire les ressources partagées avec son équipe, mais ne peut pas les mettre à jour.
Vous trouverez la ReadSharing politique AmazonRedshiftQueryEditorV2
AmazonRedshiftQueryEditorV2ReadWriteSharing
Permet de travailler avec l’éditeur de requête Amazon Redshift v2 avec le partage de ressources. Cette politique permet également d’accéder à d’autres services requis. Le principal utilisant cette politique peut étiqueter ses ressources (telles que des requêtes) pour les partager avec d’autres principaux dans le même Compte AWS. Le principal autorisé peut lire et mettre à jour les ressources partagées avec son équipe.
Vous trouverez la ReadWriteSharing politique AmazonRedshiftQueryEditorV2
AmazonRedshiftServiceLinkedRolePolicy
Vous ne pouvez pas vous associer AmazonRedshiftServiceLinkedRolePolicy à vos entités IAM. Cette politique est associée à un rôle lié au service qui permet à Amazon Redshift d’accéder aux ressources du compte. Pour plus d’informations, consultez Utilisation des rôles liés à un service pour Amazon Redshift.
Vous pouvez trouver la AmazonRedshiftServiceLinkedRolePolicy
AmazonRedshiftAllCommandsFullAccess
Permet d’utiliser le rôle IAM créé à partir de la console Amazon Redshift et de le définir comme valeur par défaut pour que le cluster exécute les commandes COPY à partir d’Amazon S3, UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION et CREATE MODEL. La politique accorde également des autorisations pour exécuter des instructions SELECT pour des services connexes, tels qu'Amazon S3, CloudWatch Logs, Amazon SageMaker AI ou AWS Glue.
Vous pouvez trouver la AmazonRedshiftAllCommandsFullAccess
Vous pouvez également créer vos propres politiques IAM personnalisées pour autoriser les autorisations pour les opérations et les ressources de l’API Amazon Redshift. Vous pouvez attacher ces politiques personnalisées aux rôles ou groupes IAM qui nécessitent ces autorisations.
Amazon Redshift met à jour les politiques gérées AWS
Consultez les informations relatives aux mises à jour des politiques AWS gérées pour Amazon Redshift depuis que ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques sur les modifications apportées à cette page, abonnez-vous au flux RSS sur la page de l’historique des documents Amazon Redshift.
Modification | Description | Date |
---|---|---|
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une stratégie existante |
Les autorisations pour les actions |
3 décembre 2024 |
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une politique existante |
L’autorisation pour l’action |
8 mars 2024 |
AmazonRedshiftQueryEditorV2FullAccess – Mise à jour d’une politique existante |
Les autorisations pour les actions |
21 février 2024 |
AmazonRedshiftQueryEditorV2NoSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
21 février 2024 |
AmazonRedshiftQueryEditorV2ReadSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
21 février 2024 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
21 février 2024 |
AmazonRedshiftReadOnlyAccess – Mise à jour d’une politique existante |
L’autorisation pour l’action |
7 février 2024 |
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une politique existante |
Les autorisations pour les actions |
31 octobre 2023 |
AmazonRedshiftQueryEditorV2NoSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
16 août 2023 |
AmazonRedshiftQueryEditorV2ReadSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
16 août 2023 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
16 août 2023 |
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une politique existante |
Les autorisations relatives aux actions visant AWS Secrets Manager à créer et à gérer des secrets sont ajoutées à la politique gérée. Les autorisations ajoutées sont les suivantes :
|
14 août 2023 |
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une politique existante |
Les autorisations relatives aux actions sur Amazon visant EC2 à créer et à gérer des groupes de sécurité et des règles de routage sont supprimées de la politique gérée. Ces autorisations concernaient la création de sous-réseaux et. VPCs Les autorisations supprimées sont les suivantes :
|
8 mai 2023 |
AmazonRedshiftDataFullAccess – Mise à jour d’une politique existante |
L’autorisation pour l’action |
7 avril 2023 |
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une politique existante |
Les autorisations relatives aux actions sur Amazon EC2 relatives à la création et à la gestion des règles de groupe de sécurité sont ajoutées à la politique gérée. Ces groupes et règles de sécurité sont spécifiquement associés à la balise de ressource Amazon Redshift |
6 avril 2023 |
AmazonRedshiftQueryEditorV2NoSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
21 mars 2023 |
AmazonRedshiftQueryEditorV2ReadSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
21 mars 2023 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
21 mars 2023 |
AmazonRedshiftQueryEditorV2NoSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
2 février 2023 |
AmazonRedshiftQueryEditorV2ReadSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
2 février 2023 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
2 février 2023 |
AmazonRedshiftQueryEditorV2NoSharing – Mise à jour d’une politique existante |
Pour autoriser l’utilisation de blocs-notes, Amazon Redshift a ajouté l’autorisation pour les actions suivantes :
|
17 octobre 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Mise à jour d’une politique existante |
Pour autoriser l’utilisation de blocs-notes, Amazon Redshift a ajouté l’autorisation pour les actions suivantes :
|
17 octobre 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Mise à jour d’une politique existante |
Pour autoriser l’utilisation de blocs-notes, Amazon Redshift a ajouté l’autorisation pour les actions suivantes :
|
17 octobre 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l'espace de noms |
29 septembre 2022 |
AmazonRedshiftQueryEditorV2NoSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation aux actions |
30 août 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation aux actions |
30 août 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation aux actions |
30 août 2022 |
AmazonRedshiftFullAccess – Mise à jour d’une politique existante |
Les autorisations pour Amazon Redshift Serverless sont ajoutées à la politique gérée existante AmazonRedshiftFullAccess . |
22 juillet 2022 |
AmazonRedshiftDataFullAccess – Mise à jour d’une politique existante |
Amazon Redshift a mis à jour la condition de portée par défaut redshift-serverless:GetCredentials de l’autorisation de la balise aws:ResourceTag/RedshiftDataFullAccess passant de StringEquals à StringLike pour accorder l’accès aux ressources marquées avec une clé de balise RedshiftDataFullAccess et n’importe quelle valeur de balise. |
11 juillet 2022 |
AmazonRedshiftDataFullAccess – Mise à jour d’une politique existante |
Amazon Redshift a ajouté de nouvelles autorisations pour permettre à redshift-serverless:GetCredentials d’obtenir des informations d’identification temporaires pour Amazon Redshift sans serveur. |
8 juillet 2022 |
AmazonRedshiftQueryEditorV2NoSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation à l’action |
15 juin 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation à l’action |
15 juin 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation à l’action |
15 juin 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une politique existante |
Pour permettre un accès public aux nouveaux points de terminaison Amazon Redshift sans serveur, Amazon Redshift attribue et associe des adresses IP élastiques à l’interface réseau élastique du point de terminaison de VPC dans le compte client. Il le fait par le biais des autorisations fournies par le rôle lié au service. Pour permettre ce cas d’utilisation, les actions d’allocation et de libération d’une adresse IP élastique sont ajoutées au rôle lié au service Amazon Redshift sans serveur. |
26 mai 2022 |
AmazonRedshiftQueryEditorV2FullAccess – Mise à jour d’une politique existante |
Autorisations pour l’action |
22 février 2022 |
AmazonRedshiftQueryEditorV2NoSharing – Mise à jour d’une politique existante |
Autorisations pour l’action |
22 février 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Mise à jour d’une politique existante |
Autorisations pour l’action |
22 février 2022 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Mise à jour d’une politique existante |
Autorisations pour l’action |
22 février 2022 |
AmazonRedshiftQueryEditorV2ReadSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
22 février 2022 |
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une politique existante |
Amazon Redshift a ajouté des autorisations pour de nouvelles actions afin de permettre la gestion du réseau Amazon Redshift et des ressources VPC. |
22 novembre 2021 |
AmazonRedshiftAllCommandsFullAccess – Nouvelle politique |
Amazon Redshift a ajouté une nouvelle v permettant d’utiliser le rôle IAM créé à partir de la console Amazon Redshift et de le définir comme valeur par défaut pour que le cluster exécute les commandes COPY depuis Amazon S3, UNLOAD, CREATE EXTERNAL SCHEMA, CREATE EXTERNAL FUNCTION, CREATE MODEL ou CREATE LIBRARY. |
18 novembre 2021 |
AmazonRedshiftServiceLinkedRolePolicy – Mise à jour d’une politique existante |
Amazon Redshift a ajouté des autorisations pour les nouvelles actions afin de permettre la gestion des groupes de journaux et des flux de journaux Amazon CloudWatch Redshift, y compris l'exportation des journaux d'audit. |
15 novembre 2021 |
AmazonRedshiftFullAccess – Mise à jour d’une politique existante |
Amazon Redshift a ajouté de nouvelles autorisations pour permettre l’explicabilité du modèle, DynamoDB, Redshift Spectrum et la fédération Amazon RDS. | 7 octobre 2021 |
AmazonRedshiftQueryEditorV2FullAccess – Nouvelle politique |
Amazon Redshift a ajouté une nouvelle politique permettant un accès complet à l’éditeur de requête Amazon Redshift v2. |
24 septembre 2021 |
AmazonRedshiftQueryEditorV2NoSharing – Nouvelle politique |
Amazon Redshift a ajouté une nouvelle politique permettant d’utiliser l’éditeur de requête Amazon Redshift v2 sans partager de ressources. |
24 septembre 2021 |
AmazonRedshiftQueryEditorV2ReadSharing – Nouvelle politique |
Amazon Redshift a ajouté une nouvelle politique pour autoriser le partage de lecture dans l’éditeur de requête Amazon Redshift v2. |
24 septembre 2021 |
AmazonRedshiftQueryEditorV2ReadWriteSharing – Nouvelle politique |
Amazon Redshift a ajouté une nouvelle politique permettant le partage de lecture et de mise à jour dans l’éditeur de requête Amazon Redshift v2. |
24 septembre 2021 |
AmazonRedshiftFullAccess – Mise à jour d’une politique existante |
Amazon Redshift a ajouté de nouvelles autorisations pour autoriser |
18 août 2021 |
AmazonRedshiftDataFullAccess – Mise à jour d’une politique existante |
Amazon Redshift a ajouté de nouvelles autorisations pour autoriser |
12 août 2021 |
AmazonRedshiftDataFullAccess – Mise à jour d’une politique existante |
Amazon Redshift a ajouté de nouvelles autorisations pour autoriser |
27 Juillet 2021 |
Amazon Redshift a activé le suivi des modifications |
Amazon Redshift a commencé à suivre les modifications apportées à ses politiques AWS gérées. |
27 Juillet 2021 |
Autorisations requises pour utiliser Redshift Spectrum
Amazon Redshift Spectrum a besoin d'autorisations pour accéder aux AWS ressources à d'autres services. Pour plus de détails sur les autorisations dans les politiques IAM pour Redshift Spectrum, consultez Politiques IAM pour Amazon Redshift Spectrum dans le Guide du développeur de bases de données Amazon Redshift.
Autorisations requises pour utiliser la console Amazon Redshift
Pour qu'un utilisateur puisse utiliser la console Amazon Redshift, il doit disposer d'un ensemble minimal d'autorisations lui permettant de décrire les ressources Amazon Redshift associées à son compte. AWS Ces autorisations doivent également permettre à l'utilisateur de décrire d'autres informations connexes, notamment les informations relatives à EC2 la sécurité Amazon CloudWatch, Amazon, Amazon SNS et au réseau.
Si vous créez une politique IAM plus restrictive que les autorisations minimales requises, la console ne fonctionne pas comme prévu pour les utilisateurs dotés de cette politique IAM. Pour que ces utilisateurs puissent toujours utiliser la console Amazon Redshift, attachez également la politique gérée AmazonRedshiftReadOnlyAccess
à l’utilisateur. La procédure à suivre est décrite dans la section AWS politiques gérées pour Amazon Redshift.
Pour plus d’informations sur l’accès d’un utilisateur à l’éditeur de requêtes sur la console Amazon Redshift, consultez Autorisations requises pour utiliser l’éditeur de requêtes de la console Amazon Redshift.
Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement l'API Amazon Redshift AWS CLI ou l'API Amazon Redshift.
Autorisations requises pour utiliser l’éditeur de requêtes de la console Amazon Redshift
Pour qu’un utilisateur puisse travailler avec l’éditeur de requêtes Amazon Redshift, cet utilisateur doit disposer d’un ensemble minimum d’autorisations pour les opérations d’API de données Amazon Redshift et Amazon Redshift. Pour vous connecter à une base de données à l’aide d’un secret, vous devez également disposer des autorisations Secrets Manager.
Pour permettre à un utilisateur d'accéder à l'éditeur de requêtes sur la console Amazon Redshift, joignez les politiques AmazonRedshiftReadOnlyAccess
AWS
gérées AmazonRedshiftQueryEditor
et les politiques. La politique AmazonRedshiftQueryEditor
accorde l’autorisation à l’utilisateur de récupérer les résultats de ses propres instructions SQL uniquement. Il s'agit des déclarations soumises par celui-ci, aws:userid
comme indiqué dans cette section de la politique AmazonRedshiftQueryEditor
AWS gérée.
{ "Sid":"DataAPIIAMStatementPermissionsRestriction", "Action": [ "redshift-data:GetStatementResult", "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:ListStatements" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "redshift-data:statement-owner-iam-userid": "${aws:userid}" } } }
Pour permettre à un utilisateur de récupérer les résultats des instructions SQL d’autres personnes dans le même rôle IAM, créez votre propre politique sans la condition de limiter l’accès à l’utilisateur actuel. Limitez également l’accès pour modifier une politique à un administrateur.
Autorisations requises pour utiliser l’éditeur de requête v2
Pour qu'un utilisateur puisse utiliser l'éditeur de requêtes Amazon Redshift v2, il doit disposer d'un minimum d'autorisations pour accéder à Amazon Redshift, aux opérations de l'éditeur de requêtes v2 et à AWS d'autres services AWS Key Management Service tels que AWS Secrets Manager, et le service de balisage.
Pour donner à un utilisateur un accès complet à l'éditeur de requêtes v2, joignez la politique AmazonRedshiftQueryEditorV2FullAccess
AWS gérée. La politique AmazonRedshiftQueryEditorV2FullAccess
donne à l’utilisateur l’autorisation de partager des ressources de l’éditeur de requête v2, telles que des requêtes, avec d’autres membres de la même équipe. Pour plus d’informations sur la façon dont l’accès aux ressources de l’éditeur de requête v2 est contrôlé, reportez-vous à la définition de la politique gérée spécifique pour l’éditeur de requête v2 dans la console IAM.
Certaines politiques AWS gérées par l'éditeur de requêtes Amazon Redshift v2 utilisent des AWS balises dans des conditions permettant de définir l'accès aux ressources. Dans l’éditeur de requête v2, le partage des requêtes est basé sur la clé et la valeur de balise "aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}"
dans la politique IAM attachée au principal (le rôle IAM). Les principaux dans le même Compte AWS avec la même valeur de balise (par exemple, accounting-team
), font partie de la même équipe dans l’éditeur de requête v2. Vous ne pouvez être associé qu’à une seule équipe à la fois. Un utilisateur disposant d’autorisations administratives peut configurer des équipes dans la console IAM en attribuant à tous les membres de l’équipe la même valeur pour la balise sqlworkbench-team
. Si la valeur de la balise de sqlworkbench-team
est modifié pour un utilisateur IAM ou un rôle IAM, il peut y avoir un retard jusqu’à ce que la modification soit reflétée dans les ressources partagées. Si la valeur de balise d’une ressource (telle qu’une requête) est modifiée, il peut à nouveau y avoir un retard jusqu’à ce que la modification soit reflétée. Les membres de l’équipe doivent également posséder l’autorisation tag:GetResources
pour le partage.
Exemple : pour ajouter la balise accounting-team
pour un rôle IAM
Connectez-vous à la console IAM AWS Management Console et ouvrez-la à https://console.aws.amazon.com/iam/
l'adresse. -
Dans le panneau de navigation de la console, choisissez Roles (Rôles), puis choisissez le nom du rôle que vous souhaitez modifier.
-
Choisissez l’onglet Tags (Balises), puis Add tags (Ajouter des balises).
-
Ajoutez la clé de balise sqlworkbench-team et la valeur
accounting-team
. -
Sélectionnez Enregistrer les modifications.
Maintenant, lorsqu’un principal IAM (auquel ce rôle IAM est attaché) partage une requête avec l’équipe, d’autres principaux ayant la même valeur de balise
accounting-team
peuvent afficher la requête.
Pour plus d’informations sur la procédure d’attachement d’une balise à un principal, y compris les rôles IAM et les utilisateurs IAM, consultez Étiquetage des ressources IAM dans le Guide de l’utilisateur IAM.
Vous pouvez également configurer des équipes au niveau de la session à l’aide d’un fournisseur d’identité (IdP). Cela permet à plusieurs utilisateurs utilisant le même rôle IAM d’avoir une équipe différente. La politique d’approbation de rôle IAM doit permettre l’opération sts:TagSession
. Pour plus d’informations, consultez Autorisations requises pour ajouter des balises de session dans le Guide de l’utilisateur IAM. Ajoutez l’attribut de balise principal à l’assertion SAML fournie par votre fournisseur d’identité.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:sqlworkbench-team"> <AttributeValue>accounting-team</AttributeValue> </Attribute>
Suivez les instructions de votre fournisseur d’identité pour renseigner l’attribut SAML avec le contenu provenant de votre répertoire. Pour plus d'informations sur les fournisseurs d'identité (IdPs) et Amazon Redshift, consultez la section Fournisseurs d'identité Utilisation de l'IAMauthentification pour générer des informations d'identification utilisateur de base de données et fédération dans le guide de l'utilisateur IAM.
sqlworkbench:CreateNotebookVersion
accorde l’autorisation d’obtenir le contenu actuel des cellules du bloc-notes et de créer une version du bloc-notes dans votre compte. Cela signifie qu’au moment de la création de la version, le contenu actuel du bloc-notes est le même que le contenu de la version. Par la suite, le contenu des cellules de la version reste le même lorsque le bloc-notes actuel est mis à jour. sqlworkbench:GetNotebookVersion
accorde l’autorisation d’obtenir une version du bloc-notes. Un utilisateur qui n’a pas d’autorisation sqlworkbench:BatchGetNotebookCell
mais qui a des autorisations sqlworkbench:CreateNotebookVersion
et sqlworkbench:GetNotebookVersion
sur un bloc-notes a accès aux cellules du bloc-notes de la version. Cet utilisateur sans autorisation sqlworkbench:BatchGetNotebookCell
peut toujours récupérer le contenu des cellules d’un bloc-notes en créant d’abord une version, puis en obtenant cette version créée.
Autorisations requises pour utiliser le planificateur Amazon Redshift
Lorsque vous utilisez le planificateur Amazon Redshift, vous configurez un rôle IAM avec une relation de confiance avec le planificateur Amazon Redshift (scheduler.redshift.amazonaws.com
) pour permettre à ce dernier d’assumer des autorisations en votre nom. Vous attachez également une politique (autorisations) au rôle pour les opérations de l’API Amazon Redshift que vous souhaitez planifier.
L’exemple suivant montre le document de politique au format JSON pour configurer une relation de confiance avec le planificateur Amazon Redshift et Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "scheduler.redshift.amazonaws.com", "redshift.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Pour plus d'informations sur les entités de confiance, consultez la section Création d'un rôle pour déléguer des autorisations à un AWS service dans le Guide de l'utilisateur IAM.
Vous devez également ajouter des autorisations pour les opérations Amazon Redshift que vous souhaitez planifier.
Pour que le planificateur utilise l’opération ResizeCluster
, ajoutez une autorisation similaire à ce qui suit dans votre politique IAM. Selon votre environnement, vous pouvez rendre la politique plus restrictive.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "redshift:ResizeCluster", "Resource": "*" } ] }
Pour connaître les étapes de création d'un rôle pour le planificateur Amazon Redshift, consultez la section Création d'un rôle pour un AWS service (console) dans le guide de l'utilisateur IAM. Effectuez ces choix lorsque vous créez un rôle dans la console IAM :
-
Pour Choisir le service qui utilisera ce rôle, choisissez Redshift.
-
Pour Sélectionner votre cas d’utilisation, choisissez Redshift - Planificateur.
-
Créez ou attachez une politique au rôle qui permet de planifier une opération Amazon Redshift. Choisissez Créer une politique ou modifiez le rôle pour attacher une politique. Entrez la politique JSON pour l’opération à planifier.
-
Après avoir créé le rôle, modifiez la Relation de confiance du rôle IAM de façon à inclure le service
redshift.amazonaws.com
.
Le rôle IAM que vous créez a des entités fiables de scheduler.redshift.amazonaws.com
et redshift.amazonaws.com
. Il a également une politique jointe qui autorise une action API Amazon Redshift prise en charge, telle que, "redshift:ResizeCluster"
.
Autorisations requises pour utiliser le EventBridge planificateur Amazon
Lorsque vous utilisez le EventBridge planificateur Amazon, vous configurez un rôle IAM avec une relation de confiance avec le EventBridge planificateur (events.amazonaws.com
) afin de permettre au planificateur d'assumer les autorisations en votre nom. Vous associez également une politique (autorisations) au rôle pour les opérations d'API Amazon Redshift Data que vous souhaitez planifier et une politique pour les opérations Amazon EventBridge.
Vous utilisez le EventBridge planificateur lorsque vous créez des requêtes planifiées avec l'éditeur de requêtes Amazon Redshift sur la console.
Vous pouvez créer un rôle IAM pour exécuter des requêtes planifiées sur la console IAM. Dans ce rôle IAM, attachez AmazonEventBridgeFullAccess
et AmazonRedshiftDataFullAccess
.
L'exemple suivant montre le document de politique au format JSON pour établir une relation de confiance avec le EventBridge planificateur.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com", ] }, "Action": "sts:AssumeRole" } ] }
Pour plus d'informations sur les entités de confiance, consultez la section Création d'un rôle pour déléguer des autorisations à un AWS service dans le Guide de l'utilisateur IAM.
Pour connaître les étapes de création d'un rôle pour le EventBridge planificateur, consultez la section Création d'un rôle pour un AWS service (console) dans le guide de l'utilisateur IAM. Effectuez ces choix lorsque vous créez un rôle dans la console IAM :
-
Pour Choisissez le service qui utilisera ce rôle : Choisissez CloudWatch Events.
-
Pour Sélectionnez votre cas d'utilisation : Choisissez CloudWatch Events.
-
Attachez les politiques de autorisation suivantes :
AmazonEventBridgeFullAccess
etAmazonRedshiftDataFullAccess
.
Le rôle IAM que vous créez a une entité de confiance de events.amazonaws.com
. Il possède également une politique jointe qui autorise les actions de l’API de données Amazon Redshift prises en charge, telles que "redshift-data:*"
.
Autorisations requises pour utiliser le machine learning (ML) Amazon Redshift
Vous trouverez ci-après une description des autorisations requises pour utiliser le machine learning (ML) Amazon Redshift pour différents cas d’utilisation.
Pour que vos utilisateurs puissent utiliser Amazon Redshift ML avec Amazon SageMaker AI, créez un rôle IAM avec une politique plus restrictive que celle par défaut. Vous pouvez utiliser la politique suivante : Vous pouvez également modifier cette politique afin de répondre à vos besoins.
La politique suivante indique les autorisations requises pour exécuter SageMaker AI Autopilot avec les explications du modèle fournies par Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:CreateAutoMLJob", "sagemaker:CreateCompilationJob", "sagemaker:CreateEndpoint", "sagemaker:DescribeAutoMLJob", "sagemaker:DescribeTrainingJob", "sagemaker:DescribeCompilationJob", "sagemaker:DescribeProcessingJob", "sagemaker:DescribeTransformJob", "sagemaker:ListCandidatesForAutoMLJob", "sagemaker:StopAutoMLJob", "sagemaker:StopCompilationJob", "sagemaker:StopTrainingJob", "sagemaker:DescribeEndpoint", "sagemaker:InvokeEndpoint", "sagemaker:StopProcessingJob", "sagemaker:CreateModel", "sagemaker:CreateProcessingJob" ], "Resource": [ "arn:aws:sagemaker:*:*:model/*redshift*", "arn:aws:sagemaker:*:*:training-job/*redshift*", "arn:aws:sagemaker:*:*:automl-job/*redshift*", "arn:aws:sagemaker:*:*:compilation-job/*redshift*", "arn:aws:sagemaker:*:*:processing-job/*redshift*", "arn:aws:sagemaker:*:*:transform-job/*redshift*", "arn:aws:sagemaker:*:*:endpoint/*redshift*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": [ "SageMaker", "/aws/sagemaker/Endpoints", "/aws/sagemaker/ProcessingJobs", "/aws/sagemaker/TrainingJobs", "/aws/sagemaker/TransformJobs" ] } } }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" }, { "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*/*" ] }, { "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": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": [ "redshift.amazonaws.com", "sagemaker.amazonaws.com" ] } } } ] }
La politique suivante indique les autorisations minimales complètes pour autoriser l’accès à Amazon DynamoDB, Redshift Spectrum et à la fédération Amazon RDS.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateTrainingJob", "sagemaker:CreateAutoMLJob", "sagemaker:CreateCompilationJob", "sagemaker:CreateEndpoint", "sagemaker:DescribeAutoMLJob", "sagemaker:DescribeTrainingJob", "sagemaker:DescribeCompilationJob", "sagemaker:DescribeProcessingJob", "sagemaker:DescribeTransformJob", "sagemaker:ListCandidatesForAutoMLJob", "sagemaker:StopAutoMLJob", "sagemaker:StopCompilationJob", "sagemaker:StopTrainingJob", "sagemaker:DescribeEndpoint", "sagemaker:InvokeEndpoint", "sagemaker:StopProcessingJob", "sagemaker:CreateModel", "sagemaker:CreateProcessingJob" ], "Resource": [ "arn:aws:sagemaker:*:*:model/*redshift*", "arn:aws:sagemaker:*:*:training-job/*redshift*", "arn:aws:sagemaker:*:*:automl-job/*redshift*", "arn:aws:sagemaker:*:*:compilation-job/*redshift*", "arn:aws:sagemaker:*:*:processing-job/*redshift*", "arn:aws:sagemaker:*:*:transform-job/*redshift*", "arn:aws:sagemaker:*:*:endpoint/*redshift*" ] }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/sagemaker/Endpoints/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/ProcessingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs/*redshift*", "arn:aws:logs:*:*:log-group:/aws/sagemaker/TransformJobs/*redshift*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": [ "SageMaker", "/aws/sagemaker/Endpoints", "/aws/sagemaker/ProcessingJobs", "/aws/sagemaker/TrainingJobs", "/aws/sagemaker/TransformJobs" ] } } }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer" ], "Resource": "*" }, { "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*/*" ] }, { "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": "*", "Condition": { "StringEqualsIgnoreCase": { "s3:ExistingObjectTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "dynamodb:Scan", "dynamodb:DescribeTable", "dynamodb:Getitem" ], "Resource": [ "arn:aws:dynamodb:*:*:table/*redshift*", "arn:aws:dynamodb:*:*:table/*redshift*/index/*" ] }, { "Effect": "Allow", "Action": [ "elasticmapreduce:ListInstances" ], "Resource": [ "arn:aws:elasticmapreduce:*:*:cluster/*redshift*" ] }, { "Effect": "Allow", "Action": [ "elasticmapreduce:ListInstances" ], "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "elasticmapreduce:ResourceTag/Redshift": "true" } } }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:*:*:function:*redshift*" }, { "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*" ] }, { "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" } } }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringEquals": { "iam:PassedToService": [ "redshift.amazonaws.com", "glue.amazonaws.com", "sagemaker.amazonaws.com", "athena.amazonaws.com" ] } } } ] }
Si vous souhaitez utiliser une AWS KMS clé pour le chiffrement, ajoutez les autorisations suivantes à la politique.
{ "Effect": "Allow", "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": [ "arn:aws:kms:<your-region>:<your-account-id>:key/<your-kms-key>" ] }
Pour permettre à Amazon Redshift et à SageMaker AI d'assumer le rôle IAM précédent pour interagir avec d'autres services, ajoutez la politique de confiance suivante au rôle.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com", "sagemaker.amazonaws.com", "forecast.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Dans ce qui précède, le compartiment Amazon S3 redshift-downloads/redshift-ml/
est l’emplacement où sont stockés les exemples de données utilisés pour les autres étapes et exemples. Vous pouvez supprimer ce compartiment si vous n’avez pas besoin de charger des données à partir d’Amazon S3. Ou alors, remplacez-le par d’autres compartiments Amazon S3 que vous utilisez pour charger des données dans Amazon Redshift.
Les valeurs your-account-id
, your-role
et your-s3-bucket
sont l’ID de compte, le rôle et le compartiment que vous spécifiez dans votre commande CREATE MODEL.
Vous pouvez éventuellement utiliser la section AWS KMS clés de l'exemple de politique si vous spécifiez une AWS KMS clé à utiliser avec Amazon Redshift ML. La valeur your-kms-key
est la clé que vous utilisez dans le cadre de votre instruction CREATE MODEL.
Lorsque vous spécifiez un cloud privé virtuel (VPC) privé pour votre tâche de réglage d’hyperparamètres, ajoutez les autorisations suivantes :
{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ] }
Pour utiliser l'explication du modèle, assurez-vous que vous êtes autorisé à appeler les opérations de l'API SageMaker AI. Nous vous recommandons d’utiliser la politique gérée AmazonSageMakerFullAccess
. Si vous souhaitez créer un rôle IAM avec une politique plus restrictive, utilisez celle qui suit.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker::CreateEndpoint", "sagemaker::CreateEndpointConfig", "sagemaker::DeleteEndpoint", "sagemaker::DeleteEndpointConfig", "sagemaker::DescribeEndpoint", "sagemaker::DescribeEndpointConfig", "sagemaker::DescribeModel", "sagemaker::InvokeEndpoint", "sagemaker::ListTags" ], "Resource": "*" } ] }
Pour plus d'informations sur la politique AmazonSageMakerFullAccess
gérée, consultez AmazonSageMakerFullAccessle manuel Amazon SageMaker AI Developer Guide.
Si vous souhaitez créer des modèles de prévision, nous vous recommandons d’utiliser la politique gérée par AmazonForecastFullAccess
. Si vous souhaitez utiliser une politique plus restrictive, ajoutez la politique suivante à votre rôle IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "forecast:CreateAutoPredictor", "forecast:CreateDataset", "forecast:CreateDatasetGroup", "forecast:CreateDatasetImportJob", "forecast:CreateForecast", "forecast:CreateForecastExportJob", "forecast:DeleteResourceTree", "forecast:DescribeAutoPredictor", "forecast:DescribeDataset", "forecast:DescribeDatasetGroup", "forecast:DescribeDatasetImportJob", "forecast:DescribeForecast", "forecast:DescribeForecastExportJob", "forecast:StopResource", "forecast:TagResource", "forecast:UpdateDatasetGroup" ], "Resource": "*" } ] }
Si vous souhaitez créer des modèles Amazon Bedrock, nous vous recommandons d'utiliser la politique AmazonBedrockFullAccess
gérée. Si vous souhaitez utiliser une politique plus restrictive, ajoutez la politique suivante à votre rôle IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:InvokeModel", "Resource": [ "*", "arn:aws:bedrock:
>region<
::foundation-model/*" ] } ] }
Pour plus d'informations sur Amazon Redshift ML, consultez Utilisation de l'apprentissage automatique dans Amazon Redshift, CREATE MODEL ou CREATE EXTERNAL MODEL.
Autorisations pour l’ingestion en streaming
L’ingestion en streaming fonctionne avec deux services. Il s’agit de Kinesis Data Streams et d’Amazon MSK.
Autorisations requises pour utiliser l’ingestion en streaming avec Kinesis Data Streams
Une procédure comportant un exemple de politique gérée est disponible sur la page Mise en route de l’ingestion en streaming à partir d’Amazon Kinesis Data Streams.
Autorisations requises pour utiliser l’ingestion en streaming avec Amazon MSK
Une procédure comportant un exemple de politique gérée est disponible sur la page Mise en route de l’ingestion en streaming à partir d’Amazon Managed Streaming for Apache Kafka.
Autorisations requises pour utiliser les opérations d’API de partage de données
Pour contrôler l’accès aux opérations d’API de partage de données, utilisez des politiques basées sur une action IAM. Pour plus d’informations sur la gestion des politiques IAM, consultez Gestion des politiques IAM dans le Guide de l’utilisateur IAM.
Supposons plus particulièrement qu’un administrateur de cluster producteur ait besoin d’utiliser l’appel AuthorizeDataShare
pour autoriser la sortie d’une unité de partage des données en dehors d’un Compte AWS. Dans ce cas, vous configurez une politique IAM basée sur l’action pour accorder cette autorisation. Utilisation de l’appel DeauthorizeDataShare
pour révoquer la sortie.
Lorsque vous utilisez des politiques IAM basées sur des actions, vous pouvez également spécifier une ressource IAM dans la politique, par exemple DataShareARN
. Ci-dessous, le format et un exemple pour DataShareARN
.
arn:aws:redshift:region:account-id:datashare:namespace-guid/datashare-name arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare
Vous pouvez restreindre l’accès AuthorizeDataShare
à une unité de partage des données spécifique en spécifiant le nom de l’unité de partage des données dans la politique IAM.
{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/SalesShare" ], "Effect": "Deny" } ] }
Vous pouvez également restreindre la politique IAM à toutes les unité de partage des données appartenant à un cluster producteur spécifique. Pour ce faire, remplacez la valeur datashare-name
dans la politique par un caractère générique ou un astérisque. Gardez la valeur namespace-guid
du cluster.
arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*
Voici une politique IAM qui empêche une entité d’appeler AuthorizeDataShare
sur les unités de partage des données appartenant à un cluster producteur spécifique.
{ "Statement": [ { "Action": [ "redshift:AuthorizeDataShare", ], "Resource": [ "arn:aws:redshift:us-east-1:555555555555:datashare:86b5169f-01dc-4a6f-9fbb-e2e24359e9a8/*" ], "Effect": "Deny" } ] }
DataShareARN
restreint l’accès en fonction du nom de l’unité de partage des données et de l’ID global unique (GUID) de l’espace de noms du cluster propriétaire. Il le fait en spécifiant le nom comme un astérisque.
Politiques relatives aux ressources pour GetClusterCredentials
Pour vous connecter à une base de données de cluster à l’aide d’une connexion JDBC ou ODBC avec des informations d’identification de base de données IAM, ou pour appeler par programmation l’action GetClusterCredentials
, vous devez disposer d’un ensemble minimal d’autorisations. Au minimum, vous avez besoin de l’autorisation d’appeler l’action redshift:GetClusterCredentials
avec accès à une ressource dbuser
.
Si vous utilisez une connexion JDBC ou ODBC, au lieu de server
et de port
, vous pouvez spécifier cluster_id
et region
, mais pour ce faire, votre politique doit autoriser l’action redshift:DescribeClusters
avec accès à la ressource cluster
.
Si vous appelez GetClusterCredentials
avec les paramètres facultatifs Autocreate
, DbGroups
et DbName
, veillez aussi à autoriser les actions et à permettre l’accès aux ressources répertoriées dans le tableau ci-dessous.
GetClusterCredentials paramètre |
Action |
Ressource |
---|---|---|
|
redshift:CreateClusterUser |
|
|
redshift:JoinGroup |
|
|
NA | dbname |
Pour plus d’informations sur les ressources, consultez Ressources et opérations Amazon Redshift.
Vous pouvez aussi inclure les conditions suivantes dans votre politique :
-
redshift:DurationSeconds
-
redshift:DbName
-
redshift:DbUser
Pour plus d’informations sur les conditions, consultez Spécification de conditions dans une politique.
Exemples de politiques gérées par le client
Dans cette section, vous trouverez des exemples de politiques utilisateur qui accordent des autorisations pour diverses actions Amazon Redshift. Ces politiques fonctionnent lorsque vous utilisez l'API Amazon Redshift AWS SDKs, ou le. AWS CLI
Note
Tous les exemples utilisent la région de l'Ouest des États-Unis (Oregon) (us-west-2
) et contiennent un récit fictif. IDs
Exemple 1 : Accorder à l’utilisateur un accès complet à toutes les actions et ressources d’Amazon Redshift
La politique suivante autorise l’accès à toutes les actions Amazon Redshift sur toutes les ressources.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowRedshift", "Action": [ "redshift:*" ], "Effect": "Allow", "Resource": "*" } ] }
La valeur redshift:*
dans l’élément Action
indique toutes les actions dans Amazon Redshift.
Exemple 2 : Refuser à un utilisateur l’accès à un ensemble d’actions Amazon Redshift
Par défaut, toutes les autorisations sont refusées. Cependant, vous devrez parfois refuser explicitement l’accès à une action ou à un ensemble d’actions spécifique. La politique suivante autorise l’accès à toutes les actions Amazon Redshift et refuse explicitement l’accès à toute action Amazon Redshift dont le nom commence par Delete
. Cette politique s’applique à toutes les ressources Amazon Redshift dans us-west-2
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowUSWest2Region", "Action": [ "redshift:*" ], "Effect": "Allow", "Resource": "arn:aws:redshift:us-west-2:*" }, { "Sid":"DenyDeleteUSWest2Region", "Action": [ "redshift:Delete*" ], "Effect": "Deny", "Resource": "arn:aws:redshift:us-west-2:*" } ] }
Exemple 3 : Autoriser un utilisateur à gérer les clusters
La politique suivante permet à un utilisateur de créer, supprimer, modifier et redémarrer tous les clusters, puis refuse l’autorisation de supprimer les clusters si le nom du cluster commence par protected
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowClusterManagement", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"DenyDeleteProtected", "Action": [ "redshift:DeleteCluster" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:cluster:protected*" ], "Effect": "Deny" } ] }
Exemple 4 : Autoriser un utilisateur à accorder et à révoquer l’accès aux instantanés
La politique suivante autorise un utilisateur, par exemple l’utilisateur A, à effectuer les opérations suivantes :
-
Autoriser l’accès à n’importe quel instantané créé à partir d’un cluster nommé
shared
. -
Annuler l’accès aux instantanés pour tous les instantanés créés à partir du cluster
shared
dont le nom d’instantané commence parrevokable
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowSharedSnapshots", "Action": [ "redshift:AuthorizeSnapshotAccess" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:shared/*" ], "Effect": "Allow" }, { "Sid":"AllowRevokableSnapshot", "Action": [ "redshift:RevokeSnapshotAccess" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/revokable*" ], "Effect": "Allow" } ] }
Si l’utilisateur A a autorisé l’utilisateur B à accéder à un instantané, l’utilisateur B doit disposer d’une politique telle que les suivantes pour autoriser l’utilisateur B à restaurer un cluster à partir de l’instantané. La politique suivante permet à l’utilisateur B de décrire et de restaurer à partir d’un instantané et de créer des clusters. Le nom de ces clusters doit commencer par from-other-account
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowDescribeSnapshots", "Action": [ "redshift:DescribeClusterSnapshots" ], "Resource": [ "*" ], "Effect": "Allow" }, { "Sid":"AllowUserRestoreFromSnapshot", "Action": [ "redshift:RestoreFromClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/*", "arn:aws:redshift:us-west-2:444455556666:cluster:from-other-account*" ], "Effect": "Allow" } ] }
Exemple 5 : Permettre à un utilisateur de copier un instantané du cluster et de restaurer un cluster à partir d’un instantané
La politique suivante permet à un utilisateur de copier n’importe quel instantané créé à partir du cluster nommé big-cluster-1
et de restaurer n’importe quel instantané dont le nom commence par snapshot-for-restore
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowCopyClusterSnapshot", "Action": [ "redshift:CopyClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:big-cluster-1/*" ], "Effect": "Allow" }, { "Sid":"AllowRestoreFromClusterSnapshot", "Action": [ "redshift:RestoreFromClusterSnapshot" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:snapshot:*/snapshot-for-restore*", "arn:aws:redshift:us-west-2:123456789012:cluster:*" ], "Effect": "Allow" } ] }
Exemple 6 : autoriser un utilisateur à accéder à Amazon Redshift, ainsi qu'aux actions et ressources courantes pour les services associés AWS
L'exemple de politique suivant autorise l'accès à toutes les actions et ressources pour Amazon Redshift, Amazon Simple Notification Service (Amazon SNS) et Amazon. CloudWatch Il autorise également des actions spécifiques sur toutes les EC2 ressources Amazon associées au compte.
Note
Les autorisations au niveau des ressources ne sont pas prises en charge pour EC2 les actions Amazon spécifiées dans cet exemple de politique.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowRedshift", "Effect": "Allow", "Action": [ "redshift:*" ], "Resource": [ "*" ] }, { "Sid":"AllowSNS", "Effect": "Allow", "Action": [ "sns:*" ], "Resource": [ "*" ] }, { "Sid":"AllowCloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:*" ], "Resource": [ "*" ] }, { "Sid":"AllowEC2Actions", "Effect": "Allow", "Action": [ "ec2:AllocateAddress", "ec2:AssociateAddress", "ec2:AttachNetworkInterface", "ec2:DescribeAccountAttributes", "ec2:DescribeAddresses", "ec2:DescribeAvailabilityZones", "ec2:DescribeInternetGateways", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs" ], "Resource": [ "*" ] } ] }
Exemple 7 : Autoriser un utilisateur à labéliser des ressources avec la console Amazon Redshift
L’exemple de politique suivant permet à un utilisateur de labéliser des ressources avec la console Amazon Redshift à l’aide de AWS Resource Groups. Cette politique peut être attachée à un rôle d’utilisateur qui appelle la console Amazon Redshift d’origine ou nouvelle. Pour plus d’informations sur le balisage, consultez Étiquetez les ressources dans Amazon Redshift.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"Tagging permissions", "Effect": "Allow", "Action": [ "redshift:DeleteTags", "redshift:CreateTags", "redshift:DescribeTags", "tag:UntagResources", "tag:TagResources" ], "Resource": "*" } ] }
Exemple de politique d'utilisation GetClusterCredentials
La politique suivante utilise ces exemples de valeurs de paramètre :
-
Région:
us-west-2
-
AWS Compte :
123456789012
-
Nom du cluster:
examplecluster
La politique suivante active les actions GetCredentials
, CreateClusterUser
et JoinGroup
. La politique utilise des clés de condition pour autoriser les CreateClusterUser
actions GetClusterCredentials
et uniquement lorsque l'ID AWS utilisateur correspond"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com"
. L’accès IAM est demandé pour la base de données "testdb"
uniquement. La politique autorise également les utilisateurs à rejoindre un groupe nommé "common_group"
.
{ "Version": "2012-10-17", "Statement": [ { "Sid":"GetClusterCredsStatement", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}", "arn:aws:redshift:us-west-2:123456789012:dbname:examplecluster/testdb", "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group" ], "Condition": { "StringEquals": { "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com" } } }, { "Sid":"CreateClusterUserStatement", "Effect": "Allow", "Action": [ "redshift:CreateClusterUser" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbuser:examplecluster/${redshift:DbUser}" ], "Condition": { "StringEquals": { "aws:userid":"AIDIODR4TAW7CSEXAMPLE:${redshift:DbUser}@yourdomain.com" } } }, { "Sid":"RedshiftJoinGroupStatement", "Effect": "Allow", "Action": [ "redshift:JoinGroup" ], "Resource": [ "arn:aws:redshift:us-west-2:123456789012:dbgroup:examplecluster/common_group" ] } ] }