Exemples de politiques basées sur l'identité d'Amazon Keyspaces - Amazon Keyspaces (pour Apache Cassandra)

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.

Exemples de politiques basées sur l'identité d'Amazon Keyspaces

Par défaut, IAM les utilisateurs et les rôles ne sont pas autorisés à créer ou à modifier les ressources Amazon Keyspaces. Ils ne peuvent pas non plus effectuer de tâches à l'aide de la console CQLSH AWS CLI, ou AWS API. Un IAM administrateur doit créer des IAM politiques qui accordent aux utilisateurs et aux rôles l'autorisation d'effectuer des API opérations spécifiques sur les ressources spécifiques dont ils ont besoin. Il doit ensuite attacher ces stratégies aux utilisateurs ou aux groupes IAM ayant besoin de ces autorisations.

Pour savoir comment créer une politique IAM basée sur l'identité à l'aide de ces exemples de documents de JSON stratégie, voir Création de politiques dans l'JSONonglet du Guide de l'IAMutilisateur.

Bonnes pratiques en matière de politiques

Les politiques basées sur l'identité déterminent si quelqu'un peut créer, accéder ou supprimer les ressources Amazon Keyspaces de votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :

  • Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations à vos utilisateurs et à vos charges de travail, utilisez les politiques AWS gérées qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. Pour plus d'informations, consultez les politiques AWS gérées ou les politiques AWS gérées pour les fonctions professionnelles dans le Guide de IAM l'utilisateur.

  • Appliquer les autorisations du moindre privilège : lorsque vous définissez des autorisations à IAM l'aide de politiques, accordez uniquement les autorisations nécessaires à l'exécution d'une tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées autorisations de moindre privilège. Pour plus d'informations sur l'utilisation IAM pour appliquer des autorisations, consultez la section Politiques et autorisations du Guide de IAM l'utilisateur. IAM

  • Utilisez des conditions dans IAM les politiques pour restreindre davantage l'accès : vous pouvez ajouter une condition à vos politiques pour limiter l'accès aux actions et aux ressources. Par exemple, vous pouvez rédiger une condition de politique pour spécifier que toutes les demandes doivent être envoyées en utilisantSSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service si elles sont utilisées par le biais d'un service spécifique Service AWS, tel que AWS CloudFormation. Pour plus d'informations, voir Éléments IAM JSON de politique : Condition dans le guide de IAM l'utilisateur.

  • Utilisez IAM Access Analyzer pour valider vos IAM politiques afin de garantir des autorisations sécurisées et fonctionnelles. IAM Access Analyzer valide les politiques nouvelles et existantes afin qu'elles soient conformes au langage des IAM politiques (JSON) et IAM aux meilleures pratiques. IAM Access Analyzer fournit plus de 100 vérifications des politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d'informations, consultez la section Valider les politiques avec IAM Access Analyzer dans le guide de l'IAMutilisateur.

  • Exiger l'authentification multifactorielle (MFA) : si vous avez un scénario qui nécessite des IAM utilisateurs ou un utilisateur root Compte AWS, activez-le MFA pour une sécurité supplémentaire. Pour exiger le MFA moment où les API opérations sont appelées, ajoutez MFA des conditions à vos politiques. Pour plus d'informations, consultez la section APIAccès sécurisé avec MFA dans le guide de IAM l'utilisateur.

Pour plus d'informations sur les meilleures pratiques en matière de sécuritéIAM, consultez la section Bonnes pratiques en matière de sécurité IAM dans le Guide de IAM l'utilisateur.

Utilisation de la console Amazon Keyspaces

Amazon Keyspaces n'a pas besoin d'autorisations spécifiques pour accéder à la console Amazon Keyspaces. Vous devez disposer d'au moins des autorisations en lecture seule pour répertorier et consulter les informations relatives aux ressources Amazon Keyspaces dans votre. Compte AWS Si vous créez une stratégie basée sur l'identité qui est plus restrictive que l'ensemble minimum d'autorisations requis, la console ne fonctionnera pas comme prévu pour les entités (utilisateurs et rôles IAM) tributaires de cette stratégie.

Deux politiques AWS gérées sont à la disposition des entités pour l'accès à la console Amazon Keyspaces.

Pour plus d'informations sur les politiques gérées par Amazon Keyspaces, consultez. AWS politiques gérées pour Amazon Keyspaces

Autorisation accordée aux utilisateurs pour afficher leurs propres autorisations

Cet exemple montre comment créer une stratégie qui permet aux utilisateurs IAM d'afficher les stratégies en ligne et gérées attachées à leur identité d'utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide du AWS CLI ou. AWS API

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

Accès aux tables Amazon Keyspaces

Voici un exemple de politique qui accorde un accès en lecture seule (SELECT) aux tables du système Amazon Keyspaces. Pour tous les échantillons, remplacez la région et l'ID de compte dans le nom de la ressource Amazon (ARN) par les vôtres.

Note

Pour se connecter avec un pilote standard, un utilisateur doit avoir au moins un accès SELECT aux tables système, car la plupart des pilotes lisent les keyspaces/tables système lors de la connexion.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Select" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

L'exemple de politique suivant ajoute un accès en lecture seule à la table utilisateur mytable dans le keyspace. mykeyspace

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Select" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

L'exemple de stratégie suivant affecte l'accès en lecture/écriture à une table utilisateur et l'accès en lecture aux tables système.

Note

Les tables système sont toujours en lecture seule.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Select", "cassandra:Modify" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

L'exemple de stratégie suivant permet à un utilisateur de créer des tables dans le keyspace mykeyspace.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "cassandra:Create", "cassandra:Select" ], "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/*", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ] } ] }

Accès aux ressources Amazon Keyspaces basé sur des balises

Vous pouvez utiliser les conditions de votre politique basée sur l'identité pour contrôler l'accès aux ressources Amazon Keyspaces en fonction de balises. Ces politiques contrôlent la visibilité des espaces clés et des tables du compte. Notez que les autorisations basées sur des balises pour les tables système se comportent différemment lorsque les demandes sont effectuées à l'aide d'APIappels AWS SDK par rapport à Cassandra Query Language (CQL) via les pilotes Cassandra et les outils de développement.

  • Pour effectuer Get des demandes List et y accéder en AWS SDK cas d'utilisation d'un accès basé sur des balises, l'appelant doit disposer d'un accès en lecture aux tables système. Par exemple, des autorisations Select d'action sont nécessaires pour lire les données des tables système via l'GetTableopération. Si l'appelant ne dispose que d'un accès basé sur des balises à une table spécifique, une opération nécessitant un accès supplémentaire à une table système échouera.

  • Pour des raisons de compatibilité avec le comportement établi du pilote Cassandra, les politiques d'autorisation basées sur les balises ne sont pas appliquées lors de l'exécution d'opérations sur les tables système à l'aide d'APIappels Cassandra Query Language (CQL) via des pilotes Cassandra et des outils de développement.

L'exemple suivant montre comment créer une stratégie qui accorde des autorisations à un utilisateur pour afficher une table si son Owner contient la valeur du nom d'utilisateur de cet utilisateur. Dans cet exemple, vous accordez également un accès en lecture aux tables système.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ReadOnlyAccessTaggedTables", "Effect":"Allow", "Action":"cassandra:Select", "Resource":[ "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/*", "arn:aws:cassandra:us-east-1:111122223333:/keyspace/system*" ], "Condition":{ "StringEquals":{ "aws:ResourceTag/Owner":"${aws:username}" } } } ] }

Vous pouvez attacher cette stratégie aux utilisateurs IAM de votre compte. Si un utilisateur nommé richard-roe tente de consulter une table Amazon Keyspaces, la table doit être Owner=richard-roe balisée ou. owner=richard-roe Dans le cas contraire, l’utilisateur se voit refuser l'accès. La clé de condition d'étiquette Owner correspond à la fois à Owner et à owner, car les noms de clé de condition ne sont pas sensibles à la casse. Pour plus d'informations, voir Éléments IAM JSON de politique : Condition dans le guide de IAM l'utilisateur.

La stratégie suivante autorise un utilisateur à créer des tables avec des balises si l'Owner de la table contient la valeur du nom d'utilisateur de cet utilisateur.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateTagTableUser", "Effect": "Allow", "Action": [ "cassandra:Create", "cassandra:TagResource" ], "Resource": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/*", "Condition":{ "StringEquals":{ "aws:RequestTag/Owner":"${aws:username}" } } } ] }