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 CloudFormation

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

Denken Sie daran, den italicized 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 an AWS-Managementkonsole und öffnen Sie die DynamoDB-Konsole unter. https://console.aws.amazon.com/dynamodb/

  2. Wählen Sie auf dem Dashboard Tabelle erstellen aus.

  3. Geben Sie im Feld Tabellendetails den Tabellennamen, den Partitionsschlüssel und den 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äre Indizes, 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 jede Ressource hat und welche Aktionen für jede Ressource ausgeführt werden dürfen. Um eine Richtlinie hinzuzufügen, gehen Sie wie folgt vor:

    • 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 unter Beispiele für Richtlinien im Entwicklerhandbuch für Amazon DynamoDB.

    • Wählen Sie Neue Anweisung hinzufügen aus, um eine neue Anweisung hinzuzufügen, und geben Sie die Informationen in die bereitgestellten Felder ein. Wiederholen Sie diesen Vorgang für so viele Anweisungen, wie Sie hinzufügen möchten.

    Wichtig

    Beheben Sie mögliche Sicherheitswarnungen, Fehler und Vorschläge, bevor Sie die Richtlinie speichern.

    Das folgende Beispiel für eine IAM-Richtlinie ermöglicht es dem BenutzerJohn, die PutItemAPI-Aktionen RestoreTableToPointInTimeGetItem, und für die Tabelle auszuführen. MusicCollection

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

    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. (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 Vorschau des Zugriffs.

  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 außerdem ressourcenbasierte Richtlinien, die sowohl der Tabelle als auch dem 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": "*" }] } } } } ] } } } }