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 de politiques basées sur l'identité (IAMpolitiques) pour Amazon Redshift
Cette rubrique fournit des exemples de politiques basées sur l'identité dans lesquelles un administrateur de compte peut associer des politiques d'autorisation aux IAM identités (c'est-à-dire aux utilisateurs, aux groupes et aux 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'instruction spécifie un nom de ressource Amazon du cluster (ARN) pour la
Resource
valeur 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 IAM politiques 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 les politiques AWS gérées dans le Guide de IAM l'utilisateur.
Vous pouvez également créer vos propres IAM politiques personnalisées pour autoriser les API opérations et les ressources Amazon Redshift. Vous pouvez associer ces politiques personnalisées aux IAM rôles ou aux groupes 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 API opérations et aux ressources d'Amazon Redshift Data pour un AWS compte.
Vous pouvez trouver la AmazonRedshiftDataFullAccess
AmazonRedshiftQueryEditorV2 FullAccess
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
AmazonRedshiftQueryEditorV2 NoSharing
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
AmazonRedshiftQueryEditorV2 ReadSharing
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
AmazonRedshiftQueryEditorV2 ReadWriteSharing
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 attacher AmazonRedshiftServiceLinkedRolePolicy à vos IAM entités. 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 IAM rôle créé à partir de la console Amazon Redshift et de le définir par défaut pour que le cluster exécute les commandes COPY depuis Amazon S3,,UNLOAD, CREATE EXTERNAL SCHEMA CREATE EXTERNALFUNCTION, et CREATEMODEL. La politique accorde également des autorisations pour exécuter SELECT des instructions pour des services connexes, tels qu'Amazon S3, CloudWatch Logs SageMaker, Amazon ou AWS Glue.
Vous pouvez trouver la AmazonRedshiftAllCommandsFullAccess
Vous pouvez également créer vos propres IAM politiques personnalisées pour autoriser les API opérations et les ressources Amazon Redshift. Vous pouvez associer ces politiques personnalisées aux IAM rôles ou aux groupes 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 concernant les modifications apportées à cette page, abonnez-vous au RSS flux sur la page d'historique des documents Amazon Redshift.
Modification | Description | Date |
---|---|---|
AmazonRedshiftQueryEditorV2 FullAccess – Mise à jour d’une stratégie existante |
Les autorisations pour les actions |
21 février 2024 |
AmazonRedshiftQueryEditorV2 NoSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
21 février 2024 |
AmazonRedshiftQueryEditorV2 ReadSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
21 février 2024 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 |
AmazonRedshiftQueryEditorV2 NoSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
16 août 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing – Mise à jour d’une politique existante |
Les autorisations pour les actions |
16 août 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 |
AmazonRedshiftQueryEditorV2 NoSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
21 mars 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
21 mars 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
21 mars 2023 |
AmazonRedshiftQueryEditorV2 NoSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
2 février 2023 |
AmazonRedshiftQueryEditorV2 ReadSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
2 février 2023 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Mise à jour d’une politique existante |
L’autorisation pour l’action |
2 février 2023 |
AmazonRedshiftQueryEditorV2 NoSharing – 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 |
AmazonRedshiftQueryEditorV2 ReadSharing – 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 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 |
AmazonRedshiftQueryEditorV2 NoSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation aux actions |
30 août 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation aux actions |
30 août 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 |
AmazonRedshiftQueryEditorV2 NoSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation à l’action |
15 juin 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Mise à jour d’une politique existante |
Amazon Redshift a ajouté l’autorisation à l’action |
15 juin 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 l'accès public aux nouveaux points de terminaison Amazon Redshift Serverless, Amazon Redshift alloue et associe des adresses IP élastiques à l'interface réseau Elastic du point de VPC terminaison 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 |
AmazonRedshiftQueryEditorV2 FullAccess – Mise à jour d’une politique existante |
Autorisations pour l’action |
22 février 2022 |
AmazonRedshiftQueryEditorV2 NoSharing – Mise à jour d’une politique existante |
Autorisations pour l’action |
22 février 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – Mise à jour d’une politique existante |
Autorisations pour l’action |
22 février 2022 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – Mise à jour d’une politique existante |
Autorisations pour l’action |
22 février 2022 |
AmazonRedshiftQueryEditorV2 ReadSharing – 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 les nouvelles actions afin de permettre la gestion du réseau et des ressources Amazon Redshift. VPC |
22 novembre 2021 |
AmazonRedshiftAllCommandsFullAccess – Nouvelle politique |
Amazon Redshift a ajouté une nouvelle politique permettant d'utiliser le IAM rôle créé à partir de la console Amazon Redshift et de le définir par défaut pour que le cluster exécute les commandes depuis COPY Amazon S3UNLOAD,,,,, CREATE EXTERNAL SCHEMA CREATE EXTERNAL FUNCTION CREATEMODEL, 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 |
AmazonRedshiftQueryEditorV2 FullAccess – 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 |
AmazonRedshiftQueryEditorV2 NoSharing – 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 |
AmazonRedshiftQueryEditorV2 ReadSharing – 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 |
AmazonRedshiftQueryEditorV2 ReadWriteSharing – 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 en savoir plus sur les autorisations figurant dans IAM les politiques de Redshift Spectrum, consultez IAMles politiques relatives à Amazon Redshift Spectrum dans le manuel du développeur de base 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, AmazonSNS, Amazon et au réseau.
Si vous créez une IAM politique plus restrictive que les autorisations minimales requises, la console ne fonctionne pas comme prévu pour les utilisateurs dotés de cette IAM politique. 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 passent des appels uniquement à Amazon Redshift AWS CLI ou à Amazon RedshiftAPI.
Autorisations requises pour utiliser l’éditeur de requêtes de la console Amazon Redshift
Pour qu'un utilisateur puisse utiliser l'éditeur de requêtes Amazon Redshift, il doit disposer d'un ensemble minimum d'autorisations pour les opérations Amazon Redshift et Amazon Redshift Data. API Pour vous connecter à une base de données à l’aide d’un secret, vous devez également disposer des autorisations Secrets Manager.
Pour donner à un utilisateur l'accès à l'éditeur de requêtes sur la console Amazon Redshift, joignez les politiques AmazonRedshiftReadOnlyAccess
AWS gérées AmazonRedshiftQueryEditor
et. La AmazonRedshiftQueryEditor
politique autorise l'utilisateur à récupérer les résultats de ses propres SQL déclarations 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": "DataAPIIAMSessionPermissionsRestriction", "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 SQL déclarations d'autres utilisateurs jouant le même IAM rôle, 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 de détails sur le contrôle de l'accès aux ressources de l'éditeur de requêtes v2, consultez la définition de la politique gérée spécifique pour l'éditeur de requêtes v2 dans la IAM console.
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êtes v2, le partage de requêtes est basé sur la clé de balise et la valeur "aws:ResourceTag/sqlworkbench-team": "${aws:PrincipalTag/sqlworkbench-team}"
de la IAM politique attachée au principal (le IAM rôle). Les principaux acteurs Compte AWS ayant la même valeur de balise (par exemple,accounting-team
) font partie de la même équipe dans l'éditeur de requêtes v2. Vous ne pouvez être associé qu’à une seule équipe à la fois. Un utilisateur disposant d'autorisations administratives peut configurer des équipes dans la IAM console en attribuant à tous les membres de l'équipe la même valeur pour le sqlworkbench-team
tag. Si la valeur de balise de sqlworkbench-team
est modifiée pour un IAM utilisateur ou un IAM rôle, il peut y avoir un délai avant que la modification ne 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 le accounting-team
tag d'un IAM rôle
Connectez-vous à la IAM console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/
. 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.
Désormais, lorsqu'un IAM directeur (auquel ce IAM rôle est attaché) partage une requête avec l'équipe, les autres directeurs ayant la même valeur de
accounting-team
balise peuvent consulter la requête.
Pour plus d'informations sur la façon d'associer un tag à un principal, notamment sur les IAM rôles et les IAM utilisateurs, consultez les IAMressources relatives au balisage dans le guide de l'IAMutilisateur.
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 IAM rôle d'avoir une équipe différente. La politique de confiance IAM dans les rôles doit autoriser l'sts:TagSession
opération. Pour plus d'informations, consultez la section Autorisations requises pour ajouter des balises de session dans le Guide de IAM l'utilisateur. Ajoutez l'attribut de balise principal à l'SAMLassertion fournie par votre IdP.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:sqlworkbench-team"> <AttributeValue>accounting-team</AttributeValue> </Attribute>
Suivez les instructions de votre fournisseur d'identité (IdP) pour renseigner l'SAMLattribut avec le contenu provenant de votre annuaire. 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'IAMutilisateur.
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 IAM rôle avec une relation de confiance avec le planificateur Amazon Redshift (scheduler.redshift.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 API opérations Amazon Redshift que vous souhaitez planifier.
L'exemple suivant montre le document de politique au JSON format permettant de 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 IAM l'utilisateur.
Vous devez également ajouter des autorisations pour les opérations Amazon Redshift que vous souhaitez planifier.
Pour que le planificateur puisse utiliser l'ResizeCluster
opération, ajoutez une autorisation similaire à la suivante à votre IAM politique. 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 Faites les choix suivants lorsque vous créez un rôle dans la IAM console :
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 JSON politique pour l'opération à planifier.
Après avoir créé le rôle, modifiez la relation de confiance du IAM rôle pour inclure le service
redshift.amazonaws.com
.
Le IAM rôle que vous créez possède des entités fiables de scheduler.redshift.amazonaws.com
etredshift.amazonaws.com
. Il est également associé à une politique qui autorise une API action 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 IAM rôle doté d'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 API opérations 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 IAM rôle pour exécuter des requêtes planifiées sur la IAM console. Dans ce IAM rôle, attachez AmazonEventBridgeFullAccess
etAmazonRedshiftDataFullAccess
.
L'exemple suivant montre le document de politique au JSON format permettant de définir 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 IAM l'utilisateur.
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'IAMutilisateur. Faites les choix suivants lorsque vous créez un rôle dans la IAM console :
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 IAM rôle que vous créez possède une entité de confiance deevents.amazonaws.com
. Il est également associé à une politique qui autorise les API actions Amazon Redshift Data 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, créez un IAM rôle 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 le SageMaker pilote automatique 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 Amazon Federation. 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 autoriser Amazon Redshift et SageMaker assumer le IAM rôle précédent à 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 your-s3-bucket
valeurs your-account-id
your-role
, et sont l'ID de compte, le rôle et le compartiment que vous spécifiez dans votre CREATE MODEL commande.
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 your-kms-key
valeur est la clé que vous utilisez dans le cadre de votre CREATE MODEL commande.
Lorsque vous spécifiez un cloud privé virtuel privé (VPC) pour une 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 SageMaker API des opérations. Nous vous recommandons d’utiliser la politique gérée AmazonSageMakerFullAccess
. Si vous souhaitez créer un IAM rôle avec une politique plus restrictive, utilisez la stratégie suivante.
{ "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 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 IAM rôle.
{ "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": "*" } ] }
Pour plus d'informations sur Amazon Redshift ML, consultez Utilisation de l'apprentissage automatique dans Amazon Redshift ou. CREATEMODEL
Autorisations pour l’ingestion en streaming
L’ingestion en streaming fonctionne avec deux services. Il s'agit de Kinesis Data Streams et d'AmazonMSK.
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 de 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 API opérations de partage de données
Pour contrôler l'accès aux API opérations de partage de données, utilisez des politiques IAM basées sur l'action. Pour plus d'informations sur la gestion des IAM politiques, consultez la section Gestion des IAM politiques dans le Guide de IAM l'utilisateur.
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 définissez 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 IAM des politiques basées sur l'action, vous pouvez également spécifier une IAM ressource dans la stratégie, telle que. 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'AuthorizeDataShare
accès à un partage de données spécifique en spécifiant le nom du partage de 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 IAM politique à tous les partages de données appartenant à un cluster de producteurs 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 IAM politique qui empêche une entité d'appeler les AuthorizeDataShare
partages de données appartenant à un cluster de producteurs 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 à la fois du nom du partage de données et de l'ID unique global (GUID) pour 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 ODBC connexion JDBC ou avec des informations d'identification de IAM base de données, ou pour appeler l'GetClusterCredentials
action par programmation, vous avez besoin 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 ODBC connexion JDBC ou, au lieu de server
et port
vous pouvez spécifier cluster_id
etregion
, mais pour ce faire, votre politique doit autoriser l'redshift:DescribeClusters
action avec accès à la cluster
ressource.
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 Amazon Redshift API 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 : Accorder à un utilisateur l’accès à Amazon Redshift, ainsi qu’à des actions et ressources communes pour les services AWS connexes
L'exemple de politique suivant permet d'accéder à toutes les actions et ressources pour Amazon Redshift, Amazon Simple Notification Service SNS (Amazon) 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 Étiquetage des ressources 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"
. IAMl'accès est demandé pour la "testdb"
base de données 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" ] } ] }