Stream-Berechtigungen in QLDB - Amazon Quantum Ledger-Datenbank (AmazonQLDB)

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.

Stream-Berechtigungen in QLDB

Wichtig

Hinweis zum Ende des Supports: Bestandskunden können Amazon QLDB bis zum Ende des Supports am 31.07.2025 nutzen. Weitere Informationen finden Sie unter Migrieren eines Amazon QLDB Ledgers zu Amazon Aurora SQL Postgre.

Bevor Sie einen QLDB Amazon-Stream erstellen, müssen Sie Schreibberechtigungen für Ihre angegebene Amazon Kinesis Data Streams-Ressource bereitstellenQLDB. Wenn Sie eine vom Kunden verwaltete AWS KMS key Für die serverseitige Verschlüsselung Ihres Kinesis-Streams müssen Sie auch Berechtigungen zur Verwendung Ihres angegebenen symmetrischen Verschlüsselungsschlüssels bereitstellenQLDB. Kinesis Data Streams unterstützt keine asymmetrischen Schlüssel KMS.

Um Ihrem QLDB Stream die erforderlichen Berechtigungen zu gewähren, können Sie eine IAM Servicerolle mit den entsprechenden Berechtigungsrichtlinien QLDB annehmen. Eine Servicerolle ist eine IAMRolle, die ein Dienst übernimmt, um Aktionen in Ihrem Namen auszuführen. Ein IAM Administrator kann eine Servicerolle von innen heraus erstellen, ändern und löschenIAM. Weitere Informationen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an ein AWS-Service im IAM-Benutzerhandbuch.

Anmerkung

Um bei der Anforderung eines Journal-Streams eine Rolle zu QLDB übergeben, müssen Sie über die erforderlichen Berechtigungen verfügen, um die iam:PassRole Aktion für die IAM Rollenressource auszuführen. Dies gilt zusätzlich zu den qldb:StreamJournalToKinesis Berechtigungen für die QLDB Stream-Subressource.

Informationen zur Steuerung des Zugriffs auf QLDB Using finden Sie IAM unter. So QLDB arbeitet Amazon mit IAM Ein Beispiel für eine QLDB Richtlinie finden Sie unterBeispiele für identitätsbasierte Richtlinien für Amazon QLDB.

In diesem Beispiel erstellen Sie eine Rolle, die es QLDB ermöglicht, in Ihrem Namen Datensätze in einen Kinesis-Datenstream zu schreiben. Weitere Informationen finden Sie unter Erstellen einer Rolle zur Delegierung von Berechtigungen an AWS-Service im IAM-Benutzerhandbuch.

Wenn Sie ein QLDB Journal streamen in Ihrem AWS-Konto Zum ersten Mal müssen Sie zunächst eine IAM Rolle mit den entsprechenden Richtlinien erstellen, indem Sie wie folgt vorgehen. Oder Sie können die QLDB Konsole verwenden, um die Rolle automatisch für Sie zu erstellen. Andernfalls können Sie eine Rolle auswählen, die Sie zuvor erstellt haben.

Erstellen einer Berechtigungsrichtlinie

Gehen Sie wie folgt vor, um eine Berechtigungsrichtlinie für einen QLDB Stream zu erstellen. Dieses Beispiel zeigt eine Kinesis Data Streams Streams-Richtlinie, die QLDB Berechtigungen zum Schreiben von Datensätzen in Ihren angegebenen Kinesis-Datenstream gewährt. Falls zutreffend, zeigt das Beispiel auch eine Schlüsselrichtlinie, die die Verwendung Ihres symmetrischen QLDB Verschlüsselungsschlüssels ermöglicht. KMS

Weitere Informationen zu den Richtlinien von Kinesis Data Streams finden Sie unter Steuern des Zugriffs auf Amazon Kinesis Data Streams Streams-Ressourcen mithilfe IAM und Berechtigungen zur Verwendung von benutzergenerierten KMS Schlüsseln im Amazon Kinesis Data Streams Streams-Entwicklerhandbuch. Für weitere Informationen über AWS KMS wichtige Richtlinien finden Sie unter Verwendung wichtiger Richtlinien in AWS KMS in der AWS Key Management Service Leitfaden für Entwickler.

Anmerkung

Ihr Kinesis-Datenstrom und Ihr KMS Schlüssel müssen sich beide im selben System befinden AWS-Region und Konto als Ihr QLDB Hauptbuch.

Um den Policy-Editor zu verwenden, um eine JSON Richtlinie zu erstellen
  1. Melden Sie sich an bei AWS Management Console und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie in der Navigationsleiste auf der linken Seite auf Policies (Richtlinien).

    Wenn Sie zum ersten Mal Policies (Richtlinien) auswählen, erscheint die Seite Welcome to Managed Policies (Willkommen bei verwalteten Richtlinien). Wählen Sie Get Started.

  3. Wählen Sie oben auf der Seite Create policy (Richtlinie erstellen) aus.

  4. Wählen Sie die JSONRegisterkarte.

  5. Geben Sie ein JSON Richtliniendokument ein.

    • Wenn Sie einen vom Kunden verwalteten KMS Schlüssel für die serverseitige Verschlüsselung Ihres Kinesis-Streams verwenden, verwenden Sie das folgende Beispielrichtliniendokument. Um diese Richtlinie zu verwenden, ersetzen Sie us-east-1, 123456789012, kinesis-stream-name, und 1234abcd-12ab-34cd-56ef-1234567890ab im Beispiel mit Ihren eigenen Informationen.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBStreamKinesisPermissions", "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ], "Effect": "Allow", "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name" }, { "Sid": "QLDBStreamKMSPermission", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }
    • Verwenden Sie andernfalls das folgende Beispieldokument für Richtlinien. Um diese Richtlinie zu verwenden, ersetzen Sie us-east-1, 123456789012, und kinesis-stream-name im Beispiel mit Ihren eigenen Informationen.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "QLDBStreamKinesisPermissions", "Action": [ "kinesis:PutRecord*", "kinesis:DescribeStream", "kinesis:ListShards" ], "Effect": "Allow", "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/kinesis-stream-name" } ] }
  6. Wählen Sie Richtlinie prüfen.

    Anmerkung

    Sie können jederzeit zwischen dem Visual Editor und den JSONTabs wechseln. Wenn Sie jedoch Änderungen vornehmen oder auf der Registerkarte „Visueller Editor“ die Option „Richtlinie überprüfen“ auswählen, IAM kann es sein, dass Ihre Richtlinie neu strukturiert wird, um sie für den visuellen Editor zu optimieren. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Umstrukturierung von Richtlinien.

  7. Geben Sie auf der Seite Review policy (Richtlinie überprüfen) unter Name einen Namen und unter Description (Beschreibung) eine optionale Beschreibung für die Richtlinie ein, die Sie erstellen. Überprüfen Sie unter Summary die Richtlinienzusammenfassung, um die Berechtigungen einzusehen, die von Ihrer Richtlinie gewährt werden. Wählen Sie dann Create policy aus, um Ihre Eingaben zu speichern.

Erstellen Sie eine IAM-Rolle

Nachdem Sie eine Berechtigungsrichtlinie für Ihren QLDB Stream erstellt haben, können Sie eine IAM Rolle erstellen und diese mit Ihrer Richtlinie verknüpfen.

Um die Servicerolle für QLDB (IAMKonsole) zu erstellen
  1. Melden Sie sich an bei AWS Management Console und öffnen Sie die IAM Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich der IAM Konsole Rollen und anschließend Rolle erstellen aus.

  3. Wählen Sie für Vertrauenswürdigen Entitätstyp AWS-Service.

  4. Wählen QLDBSie für Service oder Anwendungsfall die Option und wählen Sie dann den QLDBAnwendungsfall aus.

  5. Wählen Sie Weiter.

  6. Wählen Sie das Kästchen neben der Richtlinie aus, die Sie in den vorherigen Schritten erstellt haben.

  7. (Optional) Legen Sie eine Berechtigungsgrenze fest. Dies ist ein erweitertes Feature, das für Servicerollen verfügbar ist, aber nicht für servicegebundene Rollen.

    1. Öffnen Sie den Abschnitt Berechtigungsgrenze festlegen und wählen Sie dann Berechtigungsgrenze verwenden aus, um die maximalen Rollenberechtigungen zu steuern.

      IAMenthält eine Liste der AWS verwaltete und vom Kunden verwaltete Richtlinien in Ihrem Konto.

    2. Wählen Sie die Richtlinie aus, die für eine Berechtigungsgrenze verwendet werden soll.

  8. Wählen Sie Weiter.

  9. Geben Sie einen Rollennamen oder ein Rollennamensuffix ein, damit Sie den Zweck der Rolle leichter erkennen können.

    Wichtig

    Beachten Sie beim Benennen einer Rolle Folgendes:

    • Rollennamen müssen innerhalb Ihres AWS-Konto, und kann nicht von Fall zu Fall eindeutig gemacht werden.

      Erstellen Sie beispielsweise keine Rollen mit dem Namen PRODROLE sowohl als auchprodrole. Wenn ein Rollenname in einer Richtlinie oder als Teil einer verwendet wirdARN, unterscheidet der Rollenname Groß- und Kleinschreibung. Wenn Kunden jedoch ein Rollenname in der Konsole angezeigt wird, z. B. während des Anmeldevorgangs, wird die Groß- und Kleinschreibung nicht berücksichtigt.

    • Sie können den Namen der Rolle nicht bearbeiten, nachdem er erstellt wurde, da andere Entitäten möglicherweise auf die Rolle verweisen.

  10. (Optional) Geben Sie unter Beschreibung eine Beschreibung für die Rolle ein.

  11. (Optional) Um die Anwendungsfälle und Berechtigungen für die Rolle zu bearbeiten, wählen Sie in den Abschnitten Schritt 1: Vertrauenswürdige Entitäten auswählen oder Schritt 2: Berechtigungen hinzufügen die Option Bearbeiten aus.

  12. (Optional) Fügen Sie Tags als Schlüssel-Wert-Paare hinzu, um die Rolle leichter zu identifizieren, zu organisieren oder nach ihr zu suchen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie im Benutzerhandbuch unter IAMRessourcen taggen. IAM

  13. Prüfen Sie die Rolle und klicken Sie dann auf Create Role (Rolle erstellen).

Das folgende JSON Dokument ist ein Beispiel für eine Vertrauensrichtlinie, die es QLDB ermöglicht, eine IAM Rolle anzunehmen, der bestimmte Berechtigungen zugewiesen sind.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "qldb.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:qldb:us-east-1:123456789012:stream/myExampleLedger/*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
Anmerkung

Dieses Beispiel für eine Vertrauensrichtlinie zeigt, wie Sie die Kontextschlüssel aws:SourceArn und die aws:SourceAccount globale Bedingung verwenden können, um das Problem des verwirrten Stellvertreters zu verhindern. Mit dieser Vertrauensrichtlinie QLDB können Sie die Rolle für jeden QLDB Stream im Konto myExampleLedger nur 123456789012 für das Hauptbuch übernehmen.

Weitere Informationen finden Sie unter Serviceübergreifende Confused-Deputy-Prävention.

Nachdem Sie Ihre IAM Rolle erstellt haben, kehren Sie zur QLDB Konsole zurück und aktualisieren Sie die Seite „QLDBStream erstellen“, damit sie Ihre neue Rolle finden kann.