Erstellen Sie eine Tabelle mit einer ressourcenbasierten Richtlinie - Amazon-DynamoDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie eine Tabelle mit einer ressourcenbasierten Richtlinie

Sie können beim Erstellen einer Tabelle mithilfe der DynamoDB-Konsole, der CreateTableAPI, des AWS SDK oder einer Vorlage eine ressourcenbasierte Richtlinie hinzufügen. AWS CLI AWS CloudFormation

Im folgenden Beispiel wird eine Tabelle erstellt, die mit dem Befehl benannt MusicCollectionwird. create-table AWS CLI Dieser Befehl enthält auch den resource-policy Parameter, der der Tabelle eine ressourcenbasierte Richtlinie hinzufügt. Diese Richtlinie ermöglicht es dem Benutzer John RestoreTableToPointInTime, die PutItemAPI-Aktionen GetItem, und für die Tabelle auszuführen.

Denken Sie daran, den kursiv geschriebenen Text durch Ihre ressourcenspezifischen Informationen zu ersetzen.

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. Melden Sie sich bei der DynamoDB-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/dynamodb/.

  2. Wählen Sie im Dashboard die Option Tabelle erstellen aus.

  3. Geben Sie unter Tabellendetails den Tabellennamen, den Partitionsschlüssel und die Details zum Sortierschlüssel ein.

  4. Wählen Sie unter Tabelleneinstellungen die Option Einstellungen anpassen aus.

  5. (Optional) Geben Sie Ihre Optionen für Tabellenklasse, Kapazitätsrechner, Lese-/Schreibkapazitätseinstellungen, Sekundärindizes, Verschlüsselung im Ruhezustand und Löschschutz an.

  6. Fügen Sie unter Ressourcenbasierte Richtlinie eine Richtlinie hinzu, um die Zugriffsberechtigungen für die Tabelle und ihre Indizes zu definieren. In dieser Richtlinie geben Sie an, wer Zugriff auf diese Ressourcen hat und welche Aktionen sie für jede Ressource ausführen dürfen. Gehen Sie wie folgt vor, um eine Richtlinie hinzuzufügen:

    • Geben oder fügen Sie ein JSON-Richtliniendokument ein. Einzelheiten zur Sprache der IAM-Richtlinien finden Sie unter Erstellen von Richtlinien mit dem JSON-Editor im IAM-Benutzerhandbuch.

      Tipp

      Beispiele für ressourcenbasierte Richtlinien finden Sie im Amazon DynamoDB Developer Guide unter Richtlinienbeispiele.

    • Wählen Sie Neuen Kontoauszug hinzufügen, um einen neuen Kontoauszug hinzuzufügen, und geben Sie die Informationen in die dafür vorgesehenen Felder ein. Wiederholen Sie diesen Vorgang für so viele Anweisungen, wie Sie hinzufügen möchten.

    Wichtig

    Stellen Sie sicher, dass Sie alle Sicherheitswarnungen, Fehler oder Vorschläge behoben haben, bevor Sie Ihre Richtlinie speichern.

    Das folgende Beispiel für eine IAM-Richtlinie ermöglicht es dem Benutzer John RestoreTableToPointInTime, die PutItemAPI-Aktionen GetItem, und für die Tabelle MusicCollectionauszuführen.

    Denken Sie daran, den kursiv geschriebenen Text durch Ihre ressourcenspezifischen Informationen zu ersetzen.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/John" }, "Action": [ "dynamodb:RestoreTableToPointInTime", "dynamodb:GetItem", "dynamodb:PutItem" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012:table/MusicCollection" } ] }
  7. (Optional) Wählen Sie unten rechts Preview external access (Vorschau des externen Zugriffs) aus, um eine Vorschau anzuzeigen, wie sich Ihre neue Richtlinie auf den öffentlichen und kontoübergreifenden Zugriff auf Ihre Ressource auswirkt. Bevor Sie Ihre Richtlinie speichern, können Sie überprüfen, ob sie neue IAM-Access-Analyzer-Ergebnisse einführt oder vorhandene Ergebnisse löst. Wenn Sie keinen aktiven Analyzer sehen, wählen Sie Go to Access Analyzer (Zu Access Analyzer wechseln) aus, um einen Account Analyzer in IAM Access Analyzer zu erstellen. Weitere Informationen finden Sie unter Zugriff auf die Vorschau.

  8. Wählen Sie Create table (Tabelle erstellen) aus.

Using the AWS::DynamoDB::Table resource

Die folgende CloudFormation Vorlage erstellt mithilfe der Ressource AWS: :DynamoDB: :Table eine Tabelle mit einem Stream. Diese Vorlage enthält auch ressourcenbasierte Richtlinien, die sowohl an die Tabelle als auch an den Stream angehängt sind.

{ "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

Die folgende CloudFormation Vorlage erstellt eine Tabelle mit der AWS: :DynamoDB:: GlobalTable -Ressource und fügt der Tabelle und ihrem Stream eine ressourcenbasierte Richtlinie hinzu.

{ "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": "*" }] } } } } ] } } } }