Exemples de politiques basées sur les ressources DynamoDB
Lorsque vous spécifiez un ARN dans le champ Resource d’une politique basée sur les ressources, la politique ne prend effet que si l’ARN spécifié correspond à celui de la ressource DynamoDB à laquelle il est attaché.
Note
N’oubliez pas de remplacer le texte en italique par les informations spécifiques à la ressource.
Politique basée sur les ressources pour une table
La politique basée sur les ressources suivante, attachée à une table DynamoDB nommée MusicCollection, autorise les utilisateurs IAM John et Jane à effectuer des actions GetItem et BatchGetItem sur la ressource MusicCollection.
Politique basée sur les ressources pour un flux
La politique basée sur les ressources suivante, attachée à un flux DynamoDB nommé 2024-02-12T18:57:26.492, autorise les utilisateurs IAM John et Jane à effectuer les actions d’API GetRecords, GetShardIterator et DescribeStream sur la ressource 2024-02-12T18:57:26.492.
Politique d’accès basée sur les ressources pour effectuer toutes les actions sur les ressources spécifiées
Pour permettre à un utilisateur d’effectuer toutes les actions sur une table et tous les index associés à une table, vous pouvez utiliser un caractère générique (*) pour représenter les actions et les ressources associées à la table. L’utilisation d’un caractère générique pour les ressources permettra à l’utilisateur d’accéder à la table DynamoDB et à tous ses index associés, y compris ceux qui n’ont pas encore été créés. Par exemple, la politique suivante autorisera l’utilisateur John à effectuer des actions sur la table MusicCollection et sur tous ses index, y compris ceux qui seront créés ultérieurement.
Politique basées sur les ressources pour l’accès intercompte
Vous pouvez spécifier des autorisations pour une identité IAM intercompte afin d’accéder aux ressources DynamoDB. Par exemple, vous pouvez avoir besoin qu’un utilisateur d’un compte approuvé bénéficie d’un accès au contenu de votre table, à condition qu’il n’accède qu’à des éléments et à des attributs spécifiques de ces éléments. La politique suivante autorise l’accès à l’utilisateur John, à partir de l’ID de Compte AWS approuvé 111111111111, d’accéder aux données d’une table dans le compte 123456789012 à l’aide de l’API GetItem. La politique garantit que l’utilisateur ne peut accéder qu’aux éléments dotés d’une clé primaire Jane et qu’il peut récupérer uniquement les attributs Artist et SongTitle.
Important
Si vous ne spécifiez pas la condition SPECIFIC_ATTRIBUTES, vous verrez tous les attributs des articles renvoyés.
Outre la politique basée sur les ressources précédente, la politique basée sur l’identité attachée à l’utilisateur John doit également autoriser l’action de l’API GetItempour que l’accès intercompte fonctionne. Voici un exemple de politique basée sur l’identité que vous devez attacher à l’utilisateur John.
L’utilisateur John peut faire une demande GetItem en spécifiant l’ARN de la table dans le paramètre table-name pour l’accès à la table MusicCollection dans le compte 123456789012.
aws dynamodb get-item \ --table-name arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\ --key '{"Artist": {"S": "Jane"}' \ --projection-expression 'Artist, SongTitle' \ --return-consumed-capacity TOTAL
Politique basée sur les ressources avec conditions d’adresse IP
Vous pouvez appliquer une condition pour restreindre les adresses IP sources, les clouds privés virtuels (VPC) et les points de terminaison d’un VPC (VPCE). Vous pouvez spécifier des autorisations en fonction des adresses sources de la demande d’origine. Par exemple, vous pouvez autoriser un utilisateur à accéder aux ressources DynamoDB uniquement si elles sont accessibles à partir d’une source IP spécifique, telle qu’un point de terminaison VPN d’entreprise. Spécifiez ces adresses IP dans la déclaration Condition.
L’exemple suivant permet à l’utilisateur John d’accéder à n’importe quelle ressource DynamoDB lorsque les adresses IP source sont 54.240.143.0/24 et 2001:DB8:1234:5678::/64.
Vous pouvez également refuser tout accès aux ressources DynamoDB, sauf lorsque la source est un point de terminaison de VPC spécifique, par exemple vpce-1a2b3c4d.
Politique basée sur les ressources utilisant un rôle IAM
Vous pouvez également spécifier un rôle de service IAM dans la politique basée sur les ressources. Les entités IAM qui assument ce rôle sont limitées par les actions autorisées spécifiées pour le rôle et par l’ensemble de ressources spécifique dans le cadre de la politique basée sur les ressources.
L’exemple suivant permet à une entité IAM d’effectuer toutes les actions DynamoDB sur les ressources MusicCollection et MusicCollection DynamoDB.