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.
Sicherheit globaler DynamoDB-Tabellen
Globale Tabellenreplikate sind DynamoDB-Tabellen. Sie verwenden also dieselben Methoden zur Steuerung des Zugriffs auf Replikate wie für Tabellen mit einer einzelnen Region, einschließlich AWS Identity and Access Management (IAM) -Identitätsrichtlinien und ressourcenbasierten Richtlinien.
Wie verwenden globale Tabellen IAM AWS
Mit dem Replikationsdienst verknüpfte Rolle
Wenn Sie zum ersten Mal eine globale Tabelle erstellen, erstellt Amazon DynamoDB automatisch eine serviceverknüpfte Rolle AWS Identity and Access Management (IAM). Die Spiegelreflexkamera trägt einen Namen und ermöglicht DynamoDB AWSServiceRoleForDynamoDBReplication
Wenn Sie ressourcenbasierte Richtlinien auf Replikate anwenden, stellen Sie sicher, dass Sie dem SLR-Prinzipal keine der in der AWSServiceRoleForDynamoDBReplication
Richtlinie definierten Berechtigungen verweigern, da dadurch die Replikation unterbrochen wird. Wenn Sie die erforderlichen SLR-Berechtigungen verweigern, wird die Replikation zu und von den betroffenen Replikaten beendet, und der Status der Replikattabelle ändert sich auf. REPLICATION_NOT_AUTHORIZED
-
Wenn ein Replikat in einer globalen Tabelle, die für Multi-Region Eventual Consistency (MREC) konfiguriert ist, länger als 20 Stunden im
REPLICATION_NOT_AUTHORIZED
Status verbleibt, wird das Replikat unwiderruflich in eine Single-Region-DynamoDB-Tabelle konvertiert. -
Globale Tabellenreplikate, die für MRSC (Multi-Region Strong Consistency) -Rückgabe und für Schreib- und Strongly Consistent-Lesevorgänge konfiguriert sind.
AccessDeniedException
Wenn ein Replikat in einer globalen MRSC-Tabelle länger als sieben Tage imREPLICATION_NOT_AUTHORIZED
Status verbleibt, kann nicht mehr auf das Replikat zugegriffen werden, und Schreib- und Strongly Consistent-Lesevorgänge schlagen weiterhin mit einem Fehler fehl. Einige Verwaltungsvorgänge wie das Löschen von Replikaten werden erfolgreich sein.
Mit dem Dienst verknüpfte Rolle automatisch skalieren
Wenn Sie eine globale Tabelle für den Modus „Bereitgestellte Kapazität“ konfigurieren, müssen Sie auch Auto Scaling für die globale Tabelle konfigurieren. DynamoDB Auto Scaling verwendet den AWS
Application Auto Scaling Service, um die bereitgestellte Durchsatzkapazität auf Ihren globalen Tabellenreplikaten dynamisch anzupassen. Der Application Auto Scaling Scaling-Dienst erstellt eine serviceverknüpfte Rolle (SLR), die benannt ist, AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
um die bereitgestellte Tabellenkapazität zu verwalten und Alarme zu erstellen. CloudWatch Wenn Sie ressourcenbasierte Richtlinien auf Replikate anwenden, stellen Sie sicher, dass Sie dem SLR-Prinzipal des Application Auto Scaling Service keine der in der AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
Richtlinie definierten Berechtigungen verweigern, da dadurch die Auto Scaling-Funktionalität unterbrochen wird.
Weitere Informationen zu serviceverknüpften Rollen finden Sie unter Verwenden serviceverknüpfter Rollen im IAM-Benutzerhandbuch.
Erforderliche Berechtigungen für globale Tabellen
Um ein Replikat zu erstellen, benötigen Sie die folgenden Berechtigungen für die Tabelle oder das Replikat, zu dem Sie neue Replikate hinzufügen:
-
dynamodb:UpdateTable
Um ein Replikat zu erstellen, benötigen Sie in jeder Region, in der ein neues Replikat erstellt werden soll, die folgenden Berechtigungen:
-
dynamodb:CreateTable
-
dynamodb:CreateTableReplica
Um einen Zeugen zu erstellen, benötigen Sie in der Region, in der ein neuer Zeuge erstellt werden soll, die folgenden Berechtigungen:
-
dynamodb:CreateGlobalTableWitness
Um ein Replikat zu löschen, benötigen Sie die folgenden Berechtigungen für das Replikat:
-
dynamodb:DeleteTable
-
dynamodb:DeleteTableReplica
Um einen Zeugen zu löschen, benötigen Sie die folgenden Berechtigungen für den Zeugen:
-
dynamodb:DeleteGlobalTableWitness
Um eine Richtlinie für die auto Skalierung von Replikaten mit der UpdateTableReplicaAutoScaling
API zu aktualisieren, müssen Sie in allen Regionen, die Replikate enthalten, über die folgenden Berechtigungen verfügen:
-
application-autoscaling:DeleteScalingPolicy
-
application-autoscaling:DeleteScheduledAction
-
application-autoscaling:DeregisterScalableTarget
-
application-autoscaling:DescribeScalableTargets
-
application-autoscaling:DescribeScalingActivities
-
application-autoscaling:DescribeScalingPolicies
-
application-autoscaling:DescribeScheduledActions
-
application-autoscaling:PutScalingPolicy
-
application-autoscaling:PutScheduledAction
-
application-autoscaling:RegisterScalableTarget
Um die Time-to-Live-Einstellungen mit der UpdateTimeToLive
API zu aktualisieren, benötigen Sie die folgenden Berechtigungen für alle Replikate:
-
dynamodb:UpdateTimeToLive
IAM-Beispielrichtlinien
Beispiel: Eine globale Tabelle verwalten
Die folgende IAM-Richtlinie gewährt Berechtigungen zum Erstellen und Löschen globaler Tabellenreplikate und Zeugen für die Tabelle „Benutzer“ in drei Regionen:
Beispiel: Schließen Sie die erforderlichen SLR-Berechtigungen aus den Richtlinien zum Ablehnen von Platzhaltern aus
Eine IAM-Richtlinie mit der folgenden Bedingung hat keine Auswirkungen auf die erforderlichen Berechtigungen für die DynamoDB-Replikations-SLR und AWS Auto Scaling SLR. Diese Bedingung kann zu ansonsten weitgehend restriktiven Richtlinien hinzugefügt werden, um zu verhindern, dass Replikation oder Auto Scaling unbeabsichtigt unterbrochen werden:
"Condition": { "StringNotEquals": { "aws:PrincipalArn": [ "arn:aws:iam::
YOUR_ACCOUNT_ID
:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication
", "arn:aws:iam::YOUR_ACCOUNT_ID
:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
" ] } }
Wie verwenden globale Tabellen AWS KMS
Wie alle DynamoDB-Tabellen verschlüsseln Replikas für globale Tabellen Daten im Ruhezustand immer mit Verschlüsselungsschlüsseln, die im AWS Key Management Service () gespeichert sind.AWS KMS
Alle Replikate in einer globalen Tabelle müssen mit demselben Typ von KMS-Schlüssel (AWS eigener Schlüssel, AWS verwalteter Schlüssel oder vom Kunden verwalteter Schlüssel) konfiguriert werden.
Wichtig
DynamoDB benötigt Zugriff auf den Verschlüsselungsschlüssel des Replikats, um ein Replikat zu löschen. Wenn Sie einen vom Kunden verwalteten Schlüssel, der zur Verschlüsselung eines Replikats verwendet wird, deaktivieren oder löschen möchten, weil Sie das Replikat löschen, sollten Sie zuerst das Replikat löschen, warten, bis sich der Tabellenstatus auf einem der verbleibenden Replikate ändert, und dann den Schlüssel deaktivieren oder löschen. ACTIVE
Wenn Sie bei einer globalen Tabelle, die für Multi-Region Eventual Consistency (MREC) konfiguriert ist, den Zugriff von DynamoDB auf einen vom Kunden verwalteten Schlüssel, der zur Verschlüsselung eines Replikats verwendet wird, deaktivieren oder entziehen, wird die Replikation zum und vom Replikat beendet und der Replikatstatus wird auf geändertINACCESSIBLE_ENCRYPTION_CREDENTIALS
. Wenn ein Replikat in einer globalen MREC-Tabelle länger als 20 Stunden im INACCESSIBLE_ENCRYPTION_CREDENTIALS
Status verbleibt, wird das Replikat irreversibel in eine DynamoDB-Tabelle mit einer einzigen Region konvertiert.
Wenn Sie bei einer globalen Tabelle, die für Multi-Region Strong Consistency (MRSC) konfiguriert ist, den Zugriff von DynamoDB auf einen vom Kunden verwalteten Schlüssel, der zur Verschlüsselung eines Replikats verwendet wird, deaktivieren oder entziehen, wird die Replikation zum und vom Replikat gestoppt. Versuche, Schreibvorgänge oder stark konsistente Lesevorgänge für das Replikat durchzuführen, geben einen Fehler zurück, und der Replikatstatus ändert sich inINACCESSIBLE_ENCRYPTION_CREDENTIALS
. Wenn ein Replikat in einer globalen MRSC-Tabelle länger als sieben Tage im INACCESSIBLE_ENCRYPTION_CREDENTIALS
Status verbleibt, wird das Replikat je nach den widerrufenen spezifischen Berechtigungen archiviert oder es kann dauerhaft nicht mehr darauf zugegriffen werden.