Stream-Berechtigungen in QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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 PostgreSQL.

Bevor Sie einen Amazon QLDB-Stream erstellen, müssen Sie QLDB Schreibberechtigungen für Ihre angegebene Amazon Kinesis Data Streams Streams-Ressource gewähren. Wenn Sie einen Kunden verwenden, der AWS KMS key für die serverseitige Verschlüsselung Ihres Kinesis-Streams verwaltet wird, müssen Sie QLDB auch die Berechtigungen zur Verwendung Ihres angegebenen symmetrischen Verschlüsselungsschlüssels erteilen. Kinesis Data Streams unterstützt keine asymmetrischen KMS-Schlüssel.

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

Anmerkung

Um beim Anfordern eines Journalstreams eine Rolle an QLDB zu übergeben, müssen Sie über Berechtigungen zum Ausführen der iam:PassRole-Aktion für die IAM-Rollenressource verfügen. Dies gilt zusätzlich zu den qldb:StreamJournalToKinesis Berechtigungen für die QLDB-Stream-Subressource.

Informationen zur Steuerung des Zugriffs auf QLDB mithilfe von IAM finden Sie unter. So funktioniert Amazon QLDB mit IAM Ein Beispiel für eine QLDB-Richtlinie finden Sie unter. Beispiele 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 zum Delegieren von Berechtigungen an einen AWS-Service im IAM-Benutzerhandbuch.

Wenn Sie AWS-Konto zum ersten Mal ein QLDB-Journal in Ihrem streamen, 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 es QLDB ermöglicht, Ihren KMS-Schlüssel für die symmetrische Verschlüsselung zu verwenden.

Weitere Informationen zu den Kinesis Data Streams Streams-Richtlinien finden Sie unter Steuern des Zugriffs auf Amazon Kinesis Data Streams Streams-Ressourcen mithilfe von IAM und Berechtigungen zur Verwendung von benutzergenerierten KMS-Schlüsseln im Amazon Kinesis Data Streams Streams-Entwicklerhandbuch. Weitere Informationen zu wichtigen Richtlinien finden Sie unter Verwenden von AWS KMS Schlüsselrichtlinien im AWS KMS Entwicklerhandbuch.AWS Key Management Service

Anmerkung

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

So verwenden Sie den JSON-Richtlinieneditor zum Erstellen einer Richtlinie
  1. Melden Sie sich bei der an 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 den Tab JSON.

  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-1123456789012,kinesis-stream-name, und 1234abcd-12ab-34cd-56ef-1234567890ab im Beispiel durch Ihre 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 Beispielrichtliniendokument. Um diese Richtlinie zu verwendenus-east-1, ersetzen Sie123456789012, und kinesis-stream-name im Beispiel durch Ihre 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 den Registerkarten Visual editor (Visueller Editor) und JSON wechseln. Wenn Sie jedoch Änderungen vornehmen oder auf der Registerkarte Visueller Editor die Option Richtlinie überprüfen auswählen, strukturiert IAM möglicherweise Ihre Richtlinie neu, um sie für den visuellen Editor zu optimieren. Weitere Informationen finden Sie unter Richtlinienrestrukturierung im IAM-Benutzerhandbuch.

  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 einer IAM-Rolle

Nachdem Sie eine Berechtigungsrichtlinie für Ihren QLDB-Stream erstellt haben, können Sie eine IAM-Rolle erstellen und Ihre Richtlinie daran anhängen.

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

  2. Klicken Sie im Navigationsbereich der IAM-Konsole auf Rollen, und wählen Sie dann Rolle erstellen.

  3. Wählen Sie für Vertrauenswürdige Entität die Option AWS-Service aus.

  4. Wählen Sie für Service oder Anwendungsfall QLDB und dann den QLDB-Anwendungsfall 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 Eine Berechtigungsgrenze verwenden, um die maximalen Rollenberechtigungen zu steuern aus.

      IAM enthält eine Liste der AWS verwalteten und kundenverwalteten 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 Ihrer AWS-Konto Person eindeutig sein und können nicht von Fall zu Fall eindeutig sein.

      Erstellen Sie beispielsweise keine Rollen mit dem Namen PRODROLE und prodrole. Wenn ein Rollenname in einer Richtlinie oder als Teil einer ARN verwendet wird, muss die Groß-/Kleinschreibung des Rollennamens beachtet werden. Wenn ein Rollenname den Kunden jedoch in der Konsole angezeigt wird, z. B. während des Anmeldevorgangs, wird die Groß-/Kleinschreibung des Rollennamens nicht beachtet.

    • Sie können den Namen der Rolle nach ihrer Erstellung nicht mehr bearbeiten, da andere Entitäten möglicherweise auf die Rolle verweisen.

  10. (Optional) Geben Sie unter Beschreibung eine Beschreibung für die neue 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.

  12. (Optional) Fügen Sie Tags als Schlüssel-Wert-Paare hinzu, um die Identifizierung, Organisation oder Suche nach der Rolle zu vereinfachen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter Tags für AWS Identity and Access Management Ressourcen im IAM-Benutzerhandbuch.

  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 mit spezifischen Berechtigungen anzunehmen.

{ "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 globalen Bedingungsschlüssel verwenden können, um das Problem des verwirrten Stellvertreters zu verhindern. Mit dieser Vertrauensrichtlinie kann QLDB die Rolle für jeden QLDB-Stream nur im Konto 123456789012 für das Ledger übernehmen. myExampleLedger

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 QLDB-Stream erstellen, damit sie Ihre neue Rolle finden kann.