Présentation de la gestion des autorisations d’accès à vos ressources Amazon Redshift - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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'autorisations aux identités IAM (c'est-à-dire aux utilisateurs, aux groupes et aux rôles), et certains services (tels que AWS Lambda) prennent également en charge l'attachement de politiques d'autorisations aux ressources.

Note

Un administrateur de compte (ou utilisateur administrateur) est un utilisateur doté des privilèges d’administrateur. Pour plus d’informations, consultez Bonnes pratiques IAM dans le Guide de l’utilisateur IAM.

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 les ressources, actions et clés de contexte de condition spécifiques au service en vue de leur utilisation dans les politiques d’autorisation IAM.

Autorisations d’accès Amazon Redshift, Amazon Redshift sans serveur, API de données Amazon Redshift et Éditeur de requêtes Amazon Redshift v2

Lorsque vous configurez Contrôle d’accès, vous écrivez des politiques d’autorisation que vous pouvez attacher à une identité IAM (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 :

Cette référence contient des informations sur les opérations d’API qui peuvent être utilisées dans une politique IAM. 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 de conditions de politique IAM 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 préfixe redshift: suivi du nom de l’opération d’API (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 utilisateur IAM ou un rôle IAM) 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 rôle IAM 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 utilisateur IAM dans votre AWS compte et que vous accordez l'autorisation de créer des ressources Amazon Redshift à cet utilisateur, celui-ci peut créer des ressources Amazon Redshift. Toutefois, votre AWS compte, auquel appartient l'utilisateur, possède les ressources Amazon Redshift. Dans la plupart des cas, cette méthode n’est pas recommandée. Nous vous recommandons de créer un rôle IAM 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’autorisation.

Note

Cette section traite de l’utilisation d’IAM dans le contexte d’Amazon Redshift. Elle ne fournit pas d’informations détaillées sur le service IAM. Pour une documentation complète sur IAM, consultez la rubrique Qu'est-ce que IAM ? dans le Guide de l'utilisateur IAM. Pour plus d’informations sur la syntaxe et les descriptions des politiques IAM, consultez la Référence des politiques AWS IAM dans le Guide de l’utilisateur IAM.

Les politiques attachées à une identité IAM sont appelées politiques basées sur une entité (politiques IAM) et les politiques attachées à une ressource sont appelées politiques basées sur une ressource. Amazon Redshift prend en charge uniquement les politiques basées sur l’identité (politiques IAM).

Politiques basées sur une identité (politiques IAM)

Vous pouvez attribuer des autorisations en associant des politiques à un rôle IAM, puis en attribuant ce rôle à un utilisateur ou à un groupe. Voici un exemple de politique contenant des autorisations permettant de créer, de supprimer, de modifier et de redémarrer des clusters Amazon Redshift pour votre AWS compte.

{ "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 des politiques basées sur l’identité (politiques IAM) pour Amazon Redshift. Pour plus d’informations sur les utilisateurs, les groupes, les rôles et les autorisations, consultez Identités (utilisateurs, groupes et rôles) dans le Guide de l’utilisateur IAM.

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’opérations d’API (voir Actions). Pour accorder des autorisations pour ces opérations d’API, Amazon Redshift définit un ensemble d’actions que vous pouvez spécifier dans une politique. Une opération d’API peut exiger des autorisations pour plusieurs actions.

Voici les éléments de base d’une politique :

  • Ressource : dans une politique, vous utilisez un Amazon Resource Name (ARN) pour identifier la ressource à laquelle la politique s’applique. Pour plus d'informations, consultez 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 Redshift DescribeClusters.

  • 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 une identité (politiques IAM), 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 politiques IAM, consultez la Référence des politiques AWS IAM dans le Guide de l’utilisateur IAM.

Pour un tableau présentant toutes les actions de l’API Amazon Redshift et les ressources auxquelles elles s’appliquent, consultez Autorisations d’accès Amazon Redshift, Amazon Redshift sans serveur, API de données Amazon Redshift et Éditeur de requêtes Amazon Redshift 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, consultez Éléments de politique IAM JSON : Condition dans le Guide de l’utilisateur IAM.

Pour identifier les conditions dans lesquelles une politique d’autorisations s’applique, incluez un élément Condition à votre politique d’autorisations IAM. 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 de conditions de politique IAM 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 sans serveur, API de données Amazon Redshift et Éditeur de requêtes Amazon Redshift v2.

Utilisation de conditions de politique IAM 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

aws:RequestTag

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 l'utilisateur IAM.

aws:ResourceTag

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 l'utilisateur IAM.

aws:TagKeys

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 l'utilisateur IAM.

Pour plus d’informations sur les balises, consultez Présentation du balisage.

Pour obtenir une liste des actions d’API qui prennent en charge les clés de condition redshift:RequestTag et redshift:ResourceTag, consultez Autorisations d’accès Amazon Redshift, Amazon Redshift sans serveur, API de données Amazon Redshift et Éditeur de requêtes Amazon Redshift v2.

Les clés de condition suivantes peuvent être utilisées avec l'action Amazon Redshift GetClusterCredentials.

Clé de condition Description

redshift:DurationSeconds

Limite le nombre de secondes qui peut être spécifié pour la durée.

redshift:DbName

Limite les noms de base de données qui peuvent être spécifiés.

redshift:DbUser

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 politique IAM suivante pour permettre à un utilisateur de modifier un cluster Amazon Redshift uniquement pour un compte AWS spécifique de us-west-2 la région avec une balise environment nommée 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 politique IAM suivante pour permettre à un utilisateur de créer un cluster Amazon Redshift uniquement si la commande de création du cluster comprend une balise nommée usage et une valeur de balise 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" ] } } } }