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.
Présentation de la gestion des autorisations d’accès à vos ressources Amazon Redshift
Chaque AWS ressource appartient à un AWS compte, et les autorisations de création ou d'accès aux ressources sont régies par des politiques d'autorisation. 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), et certains services (tels que AWS Lambda) permettent également d'associer des politiques d'autorisation aux ressources.
Note
Un administrateur de compte (ou utilisateur administrateur) est un utilisateur doté des privilèges d’administrateur. Pour plus d'informations, consultez les IAMmeilleures pratiques dans le guide de IAM l'utilisateur.
Lorsque vous accordez des autorisations, vous décidez qui doit les obtenir, à quelles ressources ces autorisations s’appliquent et les actions spécifiques que vous souhaitez autoriser sur ces ressources.
Ressources et opérations Amazon Redshift
Amazon Redshift fournit des ressources, des actions et des clés de contexte de condition spécifiques aux services à utiliser dans les politiques d'autorisation. IAM
Autorisations d'accès à Amazon Redshift, Amazon Redshift Serverless, Amazon Redshift API Data et Amazon Redshift Query Editor v2
Lors de la configurationContrôle d’accès, vous rédigez des politiques d'autorisation que vous pouvez associer à une IAM identité (politiques basées sur l'identité). Pour des informations de référence détaillées, consultez les rubriques suivantes dans la Référence de l’autorisation de service :
-
Pour Amazon Redshift, consultez Actions, ressources et clés de condition pour Amazon Redshift qui utilisent le préfixe
redshift:
. -
Pour Amazon Redshift sans serveur, consultez Actions, ressources et clés de condition pour Amazon Redshift sans serveur qui utilisent le préfixe
redshift-serverless:
. -
Pour les données Amazon RedshiftAPI, consultez Actions, ressources et clés de condition pour les API données Amazon Redshift qui utilisent le préfixe.
redshift-data:
-
Pour l'éditeur de requêtes Amazon Redshift v2, consultez Actions, ressources et clés de condition pour AWS SQL Workbench (éditeur de requêtes Amazon Redshift v2) qui utilisent le préfixe.
sqlworkbench:
L'éditeur de requêtes v2 inclut des actions avec autorisation uniquement qui ne correspondent pas directement à une opération. API Ces actions sont indiquées dans la référence d’autorisation de service avec
[permission only]
.
La référence d'autorisation de service contient des informations sur API les opérations qui peuvent être utilisées dans une IAM politique. Il inclut également la AWS ressource pour laquelle vous pouvez accorder les autorisations, ainsi que les clés de condition que vous pouvez inclure pour un contrôle d'accès précis. Pour plus d’informations sur les conditions, consultez Utilisation IAM de conditions politiques pour un contrôle d'accès précis.
Vous spécifiez les actions dans le champ Action
de la politique, la valeur de ressource dans le champ Resource
de la politique, et les conditions dans le champ Condition
de la politique. Pour spécifier une action pour Amazon Redshift, utilisez le redshift:
préfixe suivi du nom de l'APIopération (par exemple,). redshift:CreateCluster
Présentation de la propriété des ressources
Le propriétaire d'une ressource est le AWS compte qui a créé une ressource. En d'autres termes, le propriétaire de la ressource est le AWS compte de l'entité principale (le compte root, un IAM utilisateur ou un IAM rôle) qui authentifie la demande qui crée la ressource. Les exemples suivants illustrent comment cela fonctionne :
-
Si vous utilisez les informations d'identification du compte root de votre AWS compte pour créer un cluster de base de données, votre AWS compte est le propriétaire de la ressource Amazon Redshift.
-
Si vous créez un IAM rôle dans votre AWS compte avec les autorisations nécessaires pour créer des ressources Amazon Redshift, toute personne pouvant assumer ce rôle peut créer des ressources Amazon Redshift. Votre compte AWS , auquel le rôle appartient, reste le propriétaire des ressources Amazon Redshift.
-
Si vous créez un IAM utilisateur dans votre AWS compte et que vous lui accordez l'autorisation de créer des ressources Amazon Redshift, celui-ci peut créer des ressources Amazon Redshift. Toutefois, votre compte AWS , auquel appartient l’utilisateur, détient ces ressources Amazon Redshift. Dans la plupart des cas, cette méthode n’est pas recommandée. Nous vous recommandons de créer un IAM rôle et d'y associer des autorisations, puis de l'attribuer à un utilisateur.
Gestion de l’accès aux ressources
Une politique d'autorisation décrit qui a accès à quoi. La section suivante explique les options disponibles pour créer des politiques d'autorisations.
Note
Cette section décrit l'utilisation IAM dans le contexte d'Amazon Redshift. Il ne fournit pas d'informations détaillées sur le IAM service. Pour une IAM documentation complète, voir Qu'est-ce que c'est IAM ? dans le guide de IAM l'utilisateur. Pour plus d'informations sur la syntaxe et les descriptions des IAM politiques, consultez la référence aux AWS IAM politiques dans le Guide de IAM l'utilisateur.
Les politiques associées à une IAM identité sont appelées politiques basées sur l'identité (politiques) et IAM les politiques associées à une ressource sont appelées politiques basées sur les ressources. Amazon Redshift prend uniquement en charge les politiques basées sur l'identité (politiques). IAM
Politiques basées sur l'identité (politiques) IAM
Vous pouvez attribuer des autorisations en attachant des politiques à un IAM rôle, puis en attribuant ce rôle à un utilisateur ou à un groupe. Voici un exemple de politique qui contient des autorisations pour créer, supprimer, modifier et redémarrer les clusters Amazon Redshift pour votre compte AWS .
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowManageClusters", "Effect":"Allow", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource":"*" } ] }
Pour plus d’informations sur l’utilisation des politiques basées sur l’identité avec Amazon Redshift, consultez Utilisation de politiques basées sur l'identité (IAMpolitiques) pour Amazon Redshift. Pour plus d'informations sur les utilisateurs, les groupes, les rôles et les autorisations, consultez la section Identités (utilisateurs, groupes et rôles) dans le guide de IAM l'utilisateur.
Politiques basées sur les ressources
D’autres services, tels qu’Amazon S3, prennent également en charge les politiques d’autorisation basées sur une ressource. Par exemple, vous pouvez attacher une politique à un compartiment S3 pour gérer les autorisations d’accès à ce compartiment. Amazon Redshift ne prend pas en charge les politiques basées sur une ressource.
Spécification des éléments d’une politique : actions, effets, ressources et principaux
Pour chaque ressource Amazon Redshift (voirRessources et opérations Amazon Redshift), le service définit un ensemble d'APIopérations (voir Actions). Pour accorder des autorisations pour ces API opérations, Amazon Redshift définit un ensemble d'actions que vous pouvez spécifier dans une politique. L'exécution d'une API opération peut nécessiter des autorisations pour plusieurs actions.
Voici les éléments de base d’une politique :
-
Ressource : dans une politique, vous utilisez un nom de ressource Amazon (ARN) pour identifier la ressource à laquelle la politique s'applique. Pour de plus amples informations, veuillez consulter Ressources et opérations Amazon Redshift.
-
Action : vous utilisez des mots clés d’action pour identifier les opérations de ressource que vous voulez accorder ou refuser. Par exemple, l’autorisation
redshift:DescribeClusters
permet à l’utilisateur d’effectuer l’opération Amazon RedshiftDescribeClusters
. -
Effet – Vous spécifiez l’effet produit lorsque l’utilisateur demande l’action spécifique, qui peut être une autorisation ou un refus. Si vous n’accordez pas explicitement l’accès pour (autoriser) une ressource, l’accès est implicitement refusé. Vous pouvez aussi explicitement refuser l’accès à une ressource, ce que vous pouvez faire afin de vous assurer qu’un utilisateur n’y a pas accès, même si une politique différente accorde l’accès.
-
Principal — Dans les politiques basées sur l'identité (IAMpolitiques), l'utilisateur auquel la politique est attachée est le principal implicite. Pour les politiques basées sur une ressource, vous spécifiez l’utilisateur, le compte, le service ou une autre entité qui doit recevoir les autorisations (s’applique uniquement aux politiques basées sur une ressource). Amazon Redshift ne prend pas en charge les politiques basées sur une ressource.
Pour en savoir plus sur la syntaxe et les descriptions des IAM politiques, consultez la référence aux AWS IAM politiques dans le Guide de IAM l'utilisateur.
Pour consulter un tableau présentant toutes les API actions Amazon Redshift et les ressources auxquelles elles s'appliquent, consultez. Autorisations d'accès à Amazon Redshift, Amazon Redshift Serverless, Amazon Redshift API Data et Amazon Redshift Query Editor v2
Spécification de conditions dans une politique
Lorsque vous accordez des autorisations, vous pouvez utiliser le langage de la politique d’accès pour spécifier les conditions définissant quand une politique doit prendre effet. Par exemple, il est possible d’appliquer une politique après seulement une date spécifique. Pour plus d'informations sur la spécification des conditions dans un langage de politique d'accès, voir Éléments de IAM JSON politique : Condition dans le guide de IAM l'utilisateur.
Pour identifier les conditions dans lesquelles une politique d'autorisations s'applique, incluez un Condition
élément dans votre politique IAM d'autorisations. Par exemple, vous pouvez créer une politique qui autorise un utilisateur à créer un cluster à l’aide de l’action redshift:CreateCluster
et vous pouvez ajouter un élément Condition
pour limiter cet utilisateur à la création du cluster dans une région spécifique uniquement. Pour plus de détails, consultez Utilisation IAM de conditions politiques pour un contrôle d'accès précis. Pour obtenir une liste de toutes les valeurs clés conditionnelles et des actions et ressources Amazon Redshift auxquelles elles s’appliquent, consultez Autorisations d'accès à Amazon Redshift, Amazon Redshift Serverless, Amazon Redshift API Data et Amazon Redshift Query Editor v2.
Utilisation IAM de conditions politiques pour un contrôle d'accès précis
Dans Amazon Redshift, vous pouvez utiliser des clés de condition pour restreindre l’accès aux ressources en fonction des balises de ces ressources. Vous trouverez ci-dessous des clés de condition Amazon Redshift courantes.
Clé de condition | Description |
---|---|
|
Nécessite que les utilisateurs incluent une clé de balise (nom) et une valeur chaque fois qu’ils créent une ressource. Pour plus d'informations, consultez aws : RequestTag dans le guide de IAM l'utilisateur. |
|
Limite l’accès utilisateur aux ressources basées sur des clés et des valeurs de balise spécifiques. Pour plus d'informations, consultez aws : ResourceTag dans le guide de IAM l'utilisateur. |
|
Utilisez cette clé pour comparer les clés de balise d’une demande avec celles spécifiées dans la politique. Pour plus d'informations, consultez aws : TagKeys dans le guide de IAM l'utilisateur. |
Pour plus d’informations sur les balises, consultez Étiquetez les ressources dans Amazon Redshift.
Pour obtenir la liste des API actions prenant en charge les touches de redshift:ResourceTag
condition redshift:RequestTag
et, consultezAutorisations d'accès à Amazon Redshift, Amazon Redshift Serverless, Amazon Redshift API Data et Amazon Redshift Query Editor v2.
Les clés de condition suivantes peuvent être utilisées avec l'action Amazon Redshift GetClusterCredentials.
Clé de condition | Description |
---|---|
|
Limite le nombre de secondes qui peut être spécifié pour la durée. |
|
Limite les noms de base de données qui peuvent être spécifiés. |
|
Limite les noms d’utilisateur de base de données qui peuvent être spécifiés. |
Exemple 1 : Restreindre l'accès à l'aide de la clé de ResourceTag condition aws :
Utilisez la IAM politique suivante pour autoriser un utilisateur à modifier un cluster Amazon Redshift uniquement pour un AWS compte spécifique de la us-west-2
région avec une balise nommée environment
avec une valeur de balise de. test
{ "Version": "2012-10-17", "Statement": { "Sid":"AllowModifyTestCluster", "Effect": "Allow", "Action": "redshift:ModifyCluster", "Resource": "arn:aws:redshift:us-west-2:123456789012:cluster:*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "test" } } } }
Exemple 2 : Restreindre l'accès à l'aide de la clé de RequestTag condition aws :
Utilisez la IAM politique suivante pour autoriser un utilisateur à créer un cluster Amazon Redshift uniquement si la commande de création du cluster inclut une balise nommée usage
et une valeur de balise de. production
La condition avec aws:TagKeys
et le modificateur ForAllValues
spécifie que seules les clés costcenter
et usage
peuvent être spécifiées dans la demande.
{ "Version": "2012-10-17", "Statement": { "Sid":"AllowCreateProductionCluster", "Effect": "Allow", "Action": [ "redshift:CreateCluster", "redshift:CreateTags" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/usage": "production" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "costcenter", "usage" ] } } } }