Création d’une table avec une politique basée sur les ressources - Amazon DynamoDB

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.

Création d’une table avec une politique basée sur les ressources

Vous pouvez ajouter une politique basée sur les ressources lorsque vous créez une table à l'aide de la console DynamoDB, de l'CreateTableAPI AWS CLI,AWS du SDK ou d'un modèle. CloudFormation

L'exemple suivant crée une table nommée à MusicCollection l'aide de la create-table AWS CLI commande. Cette commande inclut également le paramètre resource-policy qui ajoute une politique basée sur les ressources à la table. Cette politique permet John à l'utilisateur d'effectuer les actions RestoreTableToPointInTimeGetItem,, et PutItemd'API sur la table.

N'oubliez pas de remplacer le italicized texte par les informations spécifiques à votre ressource.

aws dynamodb create-table \ --table-name MusicCollection \ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ --resource-policy \ "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::123456789012:user/John\" }, \"Action\": [ \"dynamodb:RestoreTableToPointInTime\", \"dynamodb:GetItem\", \"dynamodb:DescribeTable\" ], \"Resource\": \"arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection\" } ] }"
  1. Connectez-vous à la console DynamoDB AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/dynamodb/

  2. Sur le tableau de bord, choisissez Créer une table.

  3. Dans Détails de la table, saisissez le nom de la table, la clé de partition et les détails de la clé de tri.

  4. Pour les Paramètres de la table, choisissez Personnaliser les paramètres.

  5. (Facultatif) Spécifiez vos options pour la Classe de table, le Calculateur de capacité, les Paramètres de capacité de lecture/écriture, les Index secondaires, le Chiffrement au repos et la Protection contre la suppression.

  6. Dans Politique basée sur les ressources, ajoutez une politique pour définir les autorisations d’accès pour la table et ses index. Dans cette politique, vous spécifiez quels utilisateurs ont accès à ces ressources et les actions qu’ils sont autorisés à effectuer sur chaque ressource. Pour ajouter une politique, effectuez l’une des actions suivantes :

    • Composez ou collez un document de politique JSON. Pour plus de détails sur le langage de politique IAM, consultez Creating policies using the JSON editor dans le Guide de l’utilisateur IAM.

      Astuce

      Pour voir des exemples de politiques basées sur les ressources dans le Guide de développement Amazon DynamoDB, sélectionnez Exemples de politiques.

    • Choisissez Ajouter une nouvelle instruction pour ajouter une nouvelle instruction et saisissez les informations dans les champs fournis. Répétez l’opération pour autant d’instructions que vous souhaitez ajouter.

    Important

    Veillez à résoudre les avertissements de sécurité, les erreurs ou les suggestions avant d’enregistrer votre politique.

    L'exemple de politique IAM suivant permet John à l'utilisateur d'effectuer les actions RestoreTableToPointInTimeGetItem,, et PutItemAPI sur la tableMusicCollection.

    N'oubliez pas de remplacer le italicized texte par les informations spécifiques à votre ressource.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/username" }, "Action": [ "dynamodb:RestoreTableToPointInTime", "dynamodb:GetItem", "dynamodb:PutItem" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection" } ] }
  7. (Facultatif) Choisissez Preview external access (Aperçu de l’accès externe) dans le coin inférieur droit pour avoir un aperçu de la façon dont votre nouvelle politique affecte l’accès public et l’accès intercompte à votre ressource. Avant d’enregistrer votre stratégie, vous pouvez vérifier si elle introduit de nouveaux résultats IAM Access Analyzer ou si elle résout les résultats existants. Si vous ne voyez pas d’analyseur actif, choisissez Go to Access Analyzer (Accédez à l’analyseur d’accès) pour créer un analyseur de compte dans l’analyseur d’accès IAM. Pour plus d’informations, consultez Prévisualiser l’accès.

  8. Choisissez Créer un tableau.

Using the AWS::DynamoDB::Table resource

Le CloudFormation modèle suivant crée une table avec un flux à l'aide de la ressource AWS::DynamoDB : :Table. Ce modèle inclut également des politiques basées sur les ressources, associées à la fois à la table et au flux.

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "MusicCollectionTable": { "Type": "AWS::DynamoDB::Table", "Properties": { "AttributeDefinitions": [ { "AttributeName": "Artist", "AttributeType": "S" } ], "KeySchema": [ { "AttributeName": "Artist", "KeyType": "HASH" } ], "BillingMode": "PROVISIONED", "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 }, "StreamSpecification": { "StreamViewType": "OLD_IMAGE", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": "arn:aws:iam::111122223333:user/John" }, "Effect": "Allow", "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": "*" } ] } } }, "TableName": "MusicCollection", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/John" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" } ] } } } } } }
Using the AWS::DynamoDB::GlobalTable resource

Le CloudFormation modèle suivant crée une table avec la AWS GlobalTable ressource ::DynamoDB : : et attache une politique basée sur les ressources à la table et à son flux.

{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "GlobalMusicCollection": { "Type": "AWS::DynamoDB::GlobalTable", "Properties": { "TableName": "MusicCollection", "AttributeDefinitions": [{ "AttributeName": "Artist", "AttributeType": "S" }], "KeySchema": [{ "AttributeName": "Artist", "KeyType": "HASH" }], "BillingMode": "PAY_PER_REQUEST", "StreamSpecification": { "StreamViewType": "NEW_AND_OLD_IMAGES" }, "Replicas": [ { "Region": "us-east-1", "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/John" ] }, "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "*" }] } }, "ReplicaStreamSpecification": { "ResourcePolicy": { "PolicyDocument": { "Version": "2012-10-17", "Statement": [{ "Principal": { "AWS": "arn:aws:iam::111122223333:user/John" }, "Effect": "Allow", "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": "*" }] } } } } ] } } } }