View a markdown version of this page

Cross-account Zugriff mit ressourcenbasierten Richtlinien in DynamoDB - 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.

Cross-account Zugriff mit ressourcenbasierten Richtlinien in DynamoDB

Mithilfe einer ressourcenbasierten Richtlinie können Sie einen kontoübergreifenden Zugriff auf Ressourcen gewähren, die in verschiedenen AWS-Konten verfügbar sind. Alle kontoübergreifenden Zugriffe, die gemäß den ressourcenbasierten Richtlinien zulässig sind, werden anhand der Ergebnisse des externen Zugriffs von IAM Access Analyzer gemeldet, sofern sich in derselben Ressource ein Analyzer befindet. AWS-Region IAM Access Analyzer führt Richtlinienprüfungen durch, um Ihre Richtlinie anhand der IAM-Richtliniengrammatik und der bewährten Methoden zu validieren. Diese Prüfungen generieren Ergebnisse und bieten umsetzbare Empfehlungen, die Sie beim Erstellen von Richtlinien unterstützen, die funktionsfähig sind und den bewährten Methoden für Sicherheit entsprechen. Sie können die aktiven Ergebnisse von IAM Access Analyzer auf der Registerkarte Berechtigungen der DynamoDB-Konsole anzeigen.

Weitere Informationen zum Validieren von Richtlinien mit IAM Access Analyzer finden Sie unter Richtlinienvalidierung mit IAM Access Analyzer im IAM-Benutzerhandbuch. Eine Liste der Warnungen, Fehler und Vorschläge, die von IAM Access Analyzer zurückgegeben werden, finden Sie unter IAM-Access-Analyzer-Richtlinienprüfungsreferenz.

Gehen Sie wie folgt vor, um einem Benutzer A in Konto A die GetItem Berechtigung zum Zugriff auf eine Tabelle B in Konto B zu gewähren:

  1. Hängen Sie eine ressourcenbasierte Richtlinie an Tabelle B an, die Benutzer A die Berechtigung zum Ausführen der Aktion GetItem erteilt.

  2. Hängen Sie eine ressourcenbasierte Richtlinie an Benutzer A an, die diesem die Berechtigung zum Ausführen der Aktion GetItem in Tabelle B erteilt.

Mit der Option Vorschau des externen Zugriffs in der DynamoDB-Konsole können Sie in einer Vorschau sehen, wie sich Ihre neue Richtlinie auf den öffentlichen und den 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.

Der Parameter für den Tabellennamen in den DynamoDB-Datenebenen- und Steuerebenen-APIs akzeptiert den vollständigen Amazon-Ressourcennamen (ARN) der Tabelle, um kontoübergreifende Operationen zu unterstützen. Wenn Sie nur den Parameter für den Tabellennamen anstelle eines vollständigen ARN angeben, wird die API-Operation für die Tabelle in dem Konto ausgeführt, zu dem der Anforderer gehört. Ein Beispiel einer Richtlinie, die den kontoübergreifenden Zugriff verwendet, finden Sie unter Resource-based Richtlinie für den kontoübergreifenden Zugriff.

Das Konto des Ressourceneigentümers wird auch dann belastet, wenn ein Prinzipal aus einem anderen Konto einen Lese- oder Schreibvorgang in der DynamoDB-Tabelle im Konto des Eigentümers ausführt. Wenn die Tabelle einen bereitgestellten Durchsatz hat, bestimmt die Summe aller Anfragen von den Eigentümerkonten und den Anforderern in anderen Konten, ob die Anforderung gedrosselt (wenn Autoscaling deaktiviert ist) oder skaliert wird, wenn Autoscaling aktiviert ist. up/down

Die Anfragen werden sowohl in den CloudTrail Protokollen des Eigentümers als auch des Anfordererkontos protokolliert, sodass jedes der beiden Konten nachverfolgen kann, welches Konto auf welche Daten zugegriffen hat.

Teilen Sie den Zugriff mit einem anderen Konto AWS Lambda-Funktionen

Lambda-Funktionen in Konto A

  1. Rufen Sie die IAM-Konsole auf, um eine IAM-Rolle zu erstellen, die als Lambda-Ausführungsrolle für Ihre AWS Lambda-Funktion in Konto A verwendet wird. Fügen Sie die verwaltete IAM-Richtlinie AWSLambdaDynamoDBExecutionRole hinzu, die über die erforderlichen DynamoDB-Streams- und Lambda-Aufrufberechtigungen verfügt. Diese Richtlinie gewährt auch Zugriff auf alle potenziellen DynamoDB Streams-Ressourcen, auf die Sie möglicherweise in Konto A zugreifen können.

  2. Erstellen Sie in der Lambda-Konsole eine AWS Lambda-Funktion, um Datensätze in einem DynamoDB-Stream zu verarbeiten, und wählen Sie während der Einrichtung der Ausführungsrolle die Rolle aus, die Sie im vorherigen Schritt erstellt haben.

  3. Stellen Sie dem Besitzer von Konto B der DynamoDB-Streams die Rolle zur Ausführung der Lambda-Funktion zur Verfügung, um die ressourcenbasierte Richtlinie für den kontoübergreifenden Lesezugriff zu konfigurieren.

  4. Schließen Sie die Einrichtung der Lambda-Funktion ab.

DynamoDB Stream in Konto B

  1. Ruft die kontoübergreifende Lambda-Ausführungsrolle von Konto A ab, die die Lambda-Funktion aufruft.

  2. Wählen Sie auf der Amazon DynamoDB-Konsole in Konto B die Tabelle für den kontoübergreifenden Lambda-Trigger aus. Suchen Sie auf der Registerkarte Exporte und Streams nach Ihrem DynamoDB-Stream-ARN. Stellen Sie sicher, dass der DynamoDB-Stream-Status auf On steht, und notieren Sie sich den vollständigen Stream-ARN, da Sie ihn für die Ressourcenrichtlinie benötigen.

  3. Klicken Sie auf der Registerkarte „Berechtigungen“ auf die Schaltfläche „Stream-Richtlinie erstellen“, um den visuellen Richtlinien-Editor zu starten. Klicken Sie auf die Schaltfläche „Neue Aussage hinzufügen“ oder bearbeiten Sie die Richtlinie, falls bereits eine vorhanden ist.

  4. Erstellen Sie eine Richtlinie, die die Lambda-Ausführungsrolle in Konto A als Prinzipal angibt, und gewähren Sie die erforderlichen DynamoDB Streams-Aktionen. Stellen Sie sicher, dass Sie die Aktionendynamodb:DescribeStream, und dynamodb:GetRecords angeben. dynamodb:GetShardIterator Weitere Informationen zu Beispiel-Ressourcenrichtlinien für DynamoDB-Streams finden Sie unter Beispiele für ressourcenbasierte DynamoDB-Richtlinien.

Anmerkung

Für den kontoübergreifenden Zugriff von Steuerebenen-APIs gilt ein niedrigeres TPS-Limit (Transaktionen pro Sekunde) von 500 Anforderungen.