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.
Verwenden von IAM mit globalen Tabellen
Wichtig
Diese Dokumentation bezieht sich auf globale Tabellen der Version 2017.11.29 (veraltet), die für neue globale Tabellen vermieden werden sollte. Kunden sollten nach Möglichkeit die Version 2019.11.21 (Current) von Global Tables verwenden, da sie mehr Flexibilität und Effizienz bietet und weniger Schreibkapazität verbraucht als 2017.11.29 (Legacy).
Informationen dazu, welche Version Sie verwenden, finden Sie unter Ermitteln der Version der DynamoDB-Tabelle, die Sie verwenden. Informationen zur Aktualisierung globaler Tabellen von Version 2017.11.29 (veraltet) auf Version 2019.11.21 (aktuell) finden Sie unter Aktualisieren globaler Tabellen.
Beim ersten Erstellen einer globalen Tabelle generiert Amazon DynamoDB automatisch eine mit dem AWS Identity and Access Management -(IAM)-Service verknüpfte Rolle für Sie. Diese Rolle trägt den Namen AWSServiceRoleForDynamoDBReplication
Weitere Informationen zu serviceverknüpften Rollen finden Sie unter Verwenden serviceverknüpfter Rollen im IAM-Benutzerhandbuch.
Zum Erstellen und Verwalten globaler Tabellen in DynamoDB müssen Sie über die dynamodb:CreateGlobalTable
-Berechtigung für den Zugriff auf die folgenden Komponenten verfügen:
-
Die Replikattabelle, die Sie hinzufügen möchten.
-
Jedes vorhandene Replikat, das bereits Teil der globalen Tabelle ist.
-
Die globale Tabelle selbst.
Zum Aktualisieren der Einstellungen (UpdateGlobalTableSettings
) für eine globale Tabelle in DynamoDB benötigen Sie die Berechtigungen dynamodb:UpdateGlobalTable
, dynamodb:DescribeLimits
, application-autoscaling:DeleteScalingPolicy
und application-autoscaling:DeregisterScalableTarget
.
Die application-autoscaling:DeleteScalingPolicy
und application-autoscaling:DeregisterScalableTarget
-Berechtigungen sind erforderlich, wenn eine vorhandene Skalierungsrichtlinie aktualisiert wird. Dadurch kann der globale Tabellendienst die alte Skalierungsrichtlinie entfernen, bevor die neue Richtlinie an die Tabelle oder den sekundären Index anfügt.
Wenn Sie eine IAM-Richtlinie verwenden, um den Zugriff auf eine Replikattabelle zu verwalten, sollten Sie eine identische Richtlinie auf alle anderen Replikate innerhalb dieser globalen Tabelle anwenden. Auf diese Weise wird ein einheitliches Berechtigungsmodell für alle Replikattabellen aufrechterhalten.
Durch die Verwendung identischer IAM-Richtlinien für alle Replikate in einer globalen Tabelle können Sie auch vermeiden, unbeabsichtigten Lese- und Schreibzugriff auf Ihre globalen Tabellendaten zu gewähren. Nehmen wir als Beispiel einen Benutzer, der nur Zugriff auf ein Replikat in einer globalen Tabelle hat. Wenn dieser Benutzer in dieses Replikat schreiben kann, übertragt DynamoDB den Schreibvorgang auf alle anderen Replikattabellen. Der Benutzer kann so (indirekt) in alle anderen Replikate der globalen Tabelle schreiben. Dieses Szenario kann mit konsistenten IAM-Richtlinien für alle Replikattabellen vermieden werden.
CreateGlobalTableBeispiel: Erlaube die Aktion
Bevor Sie einer globalen Tabelle ein Replikat hinzufügen können, müssen Sie über die dynamodb:CreateGlobalTable
-Berechtigung für die globale Tabelle und für alle zugehörigen Replikattabellen verfügen.
Mit der folgenden IAM-Richtlinie werden die Berechtigungen zum Zulassen der Aktion CreateGlobalTable
für alle Tabellen erteilt.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["dynamodb:CreateGlobalTable"], "Resource": "*" } ] }
Beispiel: Erlauben Sie die UpdateGlobalTable Aktionen, DescribeLimits, application-autoscaling: DeleteScalingPolicy und application-autoscaling: DeregisterScalableTarget
Zum Aktualisieren der Einstellungen (UpdateGlobalTableSettings
) für eine globale Tabelle in DynamoDB benötigen Sie die Berechtigungen dynamodb:UpdateGlobalTable
, dynamodb:DescribeLimits
, application-autoscaling:DeleteScalingPolicy
und application-autoscaling:DeregisterScalableTarget
.
Mit der folgenden IAM-Richtlinie werden die Berechtigungen zum Zulassen der Aktion UpdateGlobalTableSettings
für alle Tabellen erteilt.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:UpdateGlobalTable", "dynamodb:DescribeLimits", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeregisterScalableTarget" ], "Resource": "*" } ] }
Beispiel: Erlauben Sie die CreateGlobalTable Aktion für einen bestimmten globalen Tabellennamen, wobei Replikate nur in bestimmten Regionen zulässig sind
Die folgende IAM-Richtlinie erteilt Berechtigungen, damit die CreateGlobalTable
-Aktion eine globale Tabelle namens Customers
mit Replikaten in zwei Regionen erstellen kann.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:CreateGlobalTable", "Resource": [ "arn:aws:dynamodb::123456789012:global-table/Customers", "arn:aws:dynamodb:us-east-1:123456789012:table/Customers", "arn:aws:dynamodb:us-west-1:123456789012:table/Customers" ] } ] }