Konfigurieren von IAM-Berechtigungen für die Integration von RDS for Oracle in Amazon S3 - Amazon Relational Database Service

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.

Konfigurieren von IAM-Berechtigungen für die Integration von RDS for Oracle in Amazon S3

Damit RDS for Oracle in Amazon S3 integriert werden kann, benötigt Ihre DB-Instance Zugriff auf einen Amazon-S3-Bucket. Die von Ihrer DB-Instance verwendete Amazon VPC muss keinen Zugriff auf die Amazon S3-Endpunkte ermöglichen.

RDS for Oracle unterstützt die Übertragung von Dateien zwischen einer DB-Instance in einem Konto und einem Amazon S3 S3-Bucket in einem anderen Konto. Wenn zusätzliche Schritte erforderlich sind, werden diese in den folgenden Abschnitten vermerkt.

Schritt 1: Erstellen einer IAM-Richtlinie für Ihre Amazon-RDS-Rolle

In diesem Schritt erstellen Sie eine AWS Identity and Access Management (IAM-) Richtlinie mit den erforderlichen Berechtigungen, um Dateien zwischen Ihrem Amazon S3 S3-Bucket und Ihrer RDS-DB-Instance zu übertragen. In diesem Schritt wird davon ausgegangen, dass Sie bereits einen S3-Bucket erstellt haben.

Notieren Sie sich vor dem Erstellen der Richtlinie die folgenden Informationen:

  • Amazon-Ressourcenname (ARN) Ihres Buckets

  • Der ARN für Ihren AWS KMS Schlüssel, wenn Ihr Bucket SSE-KMS- oder SSE-S3-Verschlüsselung verwendet

    Anmerkung

    Eine DB-Instance von RDS für Oracle kann nicht auf mit SSE-C verschlüsselte Amazon-S3-Buckets zugreifen.

Weitere Informationen finden Sie unter Schutz von Daten durch serverseitige Verschlüsselung im Amazon Simple Storage Service User Guide.

So erstellen Sie eine IAM-Richtlinie, die Amazon RDS Zugriff auf Ihren Amazon-S3-Bucket gewährt
  1. Öffnen Sie die IAM-Managementkonsole.

  2. Wählen Sie unter Zugriffsverwaltung Richtlinien aus.

  3. Wählen Sie Create Policy (Richtlinie erstellen) aus.

  4. Wählen Sie auf der Registerkarte Visueller Editor die Option Service auswählen und dann S3 aus.

  5. Wählen Sie unter Actions (Aktionen) die Option Expand all (Alle expandieren). Wählen Sie dann die Bucket-Berechtigungen und Objektberechtigungen aus, die benötigt werden, um Dateien aus einem Amazon S3-Bucket Amazon RDS zu übertragen. Führen Sie beispielsweise folgende Schritte aus:

    • Erweitern Sie Liste und wählen Sie dann aus. ListBucket

    • Erweitern Sie Lesen und wählen Sie dann aus GetObject.

    • Erweitern Sie Schreiben und wählen Sie dann PutObjectund aus DeleteObject.

    • Erweitern Sie Berechtigungsverwaltung, und wählen Sie dann aus PutObjectAcl. Diese Berechtigung ist erforderlich, wenn Sie planen, Dateien in einen Bucket hochzuladen, der einem anderen Konto gehört, und dieses Konto die volle Kontrolle über den Bucket-Inhalt benötigt.

    Objektberechtigungen sind Berechtigungen für Objektoperationen in Amazon S3. Sie müssen sie für Objekte in einem Bucket und nicht für den Bucket selbst erteilen. Weitere Informationen finden Sie unter Berechtigungen für Objektoperationen.

  6. Wählen Sie Ressourcen aus und gehen Sie wie folgt vor:

    1. Wählen Sie Spezifisch aus.

    2. Wählen Sie für Bucket die Option ARN hinzufügen aus. Geben Sie Ihren Bucket-ARN ein. Der Bucket-Name wird automatisch ausgefüllt. Wählen Sie dann Add (Hinzufügen).

    3. Wenn die Ressource Objekt angezeigt wird, wählen Sie entweder ARN hinzufügen aus, um Ressourcen manuell hinzuzufügen, oder klicken Sie auf Beliebige.

      Anmerkung

      Sie können für Amazon-Ressourcenname (ARN) einen spezifischen ARN-Wert einstellen, um Amazon RDS nur den Zugriff auf spezifische Dateien oder Order in einem Amazon S3-Bucket zu gewähren. Weitere Informationen über das Definieren von Zugriffsrichtlinien für Amazon S3 finden Sie unter Verwaltung der Zugriffsberechtigungen zu Ihren Amazon S3-Ressourcen.

  7. (Optional) Wählen Sie Zusätzliche Berechtigungen hinzufügen, um Ressourcen zur Richtlinie hinzuzufügen. Führen Sie beispielsweise folgende Schritte aus:

    1. Wenn Ihr Bucket mit einem benutzerdefinierten KMS-Schlüssel verschlüsselt ist, wählen Sie für den Service KMS aus.

    2. Wählen Sie für Manuelle Aktionen Folgendes aus:

      • Encrypt

      • ReEncrypt von und ReEncrypt nach

      • Decrypt

      • DescribeKey

      • GenerateDataKey

    3. Wählen Sie für Ressourcen die Option Spezifisch aus.

    4. Wählen Sie unter Schlüssel die Option ARN hinzufügen aus. Geben Sie den ARN Ihres benutzerdefinierten Schlüssels als Ressource ein und wählen Sie Hinzufügen aus.

      Weitere Informationen finden Sie unter Schützen von Daten mithilfe serverseitiger Verschlüsselung mit in gespeicherten KMS-Schlüsseln AWS Key Management Service (SSE-KMS) im Amazon Simple Storage Service-Benutzerhandbuch.

    5. Wenn Sie möchten, dass Amazon RDS auf andere Buckets zugreift, fügen Sie den ARNs für diese Buckets hinzu. Alternativ können Sie auch Zugriff auf alle Buckets und Objekte in Amazon S3 erlauben.

  8. Wählen Sie Next: Tags (Weiter: Tags) und danach Next: Review (Weiter: Prüfen) aus.

  9. Geben Sie unter Name einen Namen für Ihre IAM-Richtlinie ein, z. B. rds-s3-integration-policy. Sie verwenden diesen Namen, wenn Sie eine IAM-Rolle erstellen, um sie Ihrer DB-Instance zuzuweisen. Sie können auch einen optionalen Wert für Description (Beschreibung) hinzufügen.

  10. Wählen Sie Richtlinie erstellen aus.

Erstellen Sie eine AWS Identity and Access Management (IAM-) Richtlinie, die Amazon RDS Zugriff auf einen Amazon S3 S3-Bucket gewährt. Nachdem Sie die Richtlinie erstellt haben, notieren Sie den ARN der Richtlinie. Sie benötigen den ARN bei einem nachfolgenden Schritt.

Schließen Sie basierend auf dem erforderlichen Zugriffstyp die entsprechenden Aktionen ein:

  • GetObject – Erforderlich für die Übertragung von Dateien aus einem Amazon S3-Bucket zu Amazon RDS.

  • ListBucket – Erforderlich für die Übertragung von Dateien aus einem Amazon S3-Bucket zu Amazon RDS.

  • PutObject – Erforderlich für die Übertragung von Dateien von Amazon RDS in einen Amazon S3-Bucket.

Der folgende AWS CLI Befehl erstellt eine IAM-Richtlinie rds-s3-integration-policy mit diesen Optionen. Sie gewährt Zugriff auf einen Bucket namens amzn-s3-demo-bucket.

Beispiel

Für LinuxmacOS, oderUnix:

aws iam create-policy \ --policy-name rds-s3-integration-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'

Das folgende Beispiel enthält Berechtigungen für benutzerdefinierte KMS-Schlüssel.

aws iam create-policy \ --policy-name rds-s3-integration-policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:kms:::your-kms-arn" ] } ] }'

Windows:

aws iam create-policy ^ --policy-name rds-s3-integration-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'

Das folgende Beispiel enthält Berechtigungen für benutzerdefinierte KMS-Schlüssel.

aws iam create-policy ^ --policy-name rds-s3-integration-policy ^ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3integration", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject", "kms:Decrypt", "kms:Encrypt", "kms:ReEncrypt", "kms:GenerateDataKey", "kms:DescribeKey", ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:kms:::your-kms-arn" ] } ] }'

Schritt 2: (Optional) Erstellen einer IAM-Richtlinie für Ihren Amazon-S3-Bucket

Dieser Schritt ist nur unter den folgenden Bedingungen erforderlich:

  • Sie planen, Dateien von einem Konto (Konto A) in einen Amazon-S3-Bucket hochzuladen und von einem anderen Konto (Konto B) auf sie zuzugreifen.

  • Konto B ist Eigentümer des Buckets.

  • Konto B benötigt die volle Kontrolle über Objekte, die in den Bucket geladen wurden.

Wenn die vorhergehenden Bedingungen nicht auf Sie zutreffen, fahren Sie mit Schritt 3: Erstellen einer IAM-Rolle für Ihre DB-Instance und Anfügen Ihrer Richtlinie fort.

Zum Erstellen Ihrer Bucket-Richtlinie müssen Sie über Folgendes verfügen:

  • Konto-ID für Konto A

  • Benutzername für Konto A

  • ARN-Wert für den Amazon-S3-Bucket in Konto B

Eine Bucket-Richtlinie erstellen oder bearbeiten
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie in der Liste Buckets den Namen des Buckets aus, für den Sie eine Bucket-Richtlinie erstellen wollen oder dessen Bucket-Richtlinie Sie bearbeiten wollen.

  3. Wählen Sie Permissions (Berechtigungen).

  4. Wählen Sie unter Bucket-Richtlinie Bearbeiten aus. Dies öffnet die Seite Bucket-Richtlinie bearbeiten.

  5. Untersuchen Sie auf der Seite Edit bucket policy (Bucket-Richtlinie bearbeiten) Policy examples (Richtlinienbeispiele) im Amazon-S3-Benutzerhandbuch, wählen Sie Policy generator (Richtliniengenerator) aus, um automatisch eine Richtlinie zu generieren, oder bearbeiten Sie die JSON im Abschnitt Policy (Richtlinie).

    Wenn Sie den Policy-Generator wählen, wird der AWS Policy-Generator in einem neuen Fenster geöffnet:

    1. Wählen Sie auf der Seite AWS -Richtliniengenerator unter Richtlinientyp auswählen die Option S3-Bucket-Richtlinie aus.

    2. Fügen Sie eine Anweisung hinzu, indem Sie die Informationen in die bereitgestellten Felder eingeben, und wählen Sie dann Anweisung hinzufügen. Wiederholen Sie diesen Vorgang für so viele Anweisungen, wie Sie hinzufügen möchten. Weitere Informationen zu diesen Feldern finden Sie in der Referenz zu den IAM-JSON-Richtlinienelementen im IAM-Benutzerhandbuch.

      Anmerkung

      Der Einfachheit halber zeigt die Seite Bucket-Richtlinie bearbeiten den Bucket-ARN (Amazon-Ressourcenname) des aktuellen Buckets über dem Richtlinientextfeld an. Sie können diesen ARN zur Verwendung in den Anweisungen auf der Seite AWS -Richtliniengenerator kopieren.

    3. Wenn Sie mit dem Hinzufügen von Anweisungen fertig sind, wählen Sie Generieren von Richtlinien.

    4. Kopieren Sie den generierten Richtlinientext, wählen Sie Schließen und kehren Sie zur Seite Bucket-Richtlinie bearbeiten in der Amazon-S3-Konsole zurück.

  6. Bearbeiten Sie im Feld Richtlinie die vorhandene Richtlinie oder fügen Sie die Bucket-Richtlinie aus dem Richtliniengenerator ein. Beheben Sie Sicherheitswarnungen, Fehler, allgemeine Warnungen und Vorschläge bevor Sie Ihre Richtlinie speichern.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Example permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-A-ID:account-A-user" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket", "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] } ] }
  7. Wählen Sie Speichern Sie die Änderungen, wodurch Sie zu der Seite Bucket-Berechtigungen zurückkehren.

Schritt 3: Erstellen einer IAM-Rolle für Ihre DB-Instance und Anfügen Ihrer Richtlinie

In diesem Schritt wird davon ausgegangen, dass Sie die IAM-Richtlinie in Schritt 1: Erstellen einer IAM-Richtlinie für Ihre Amazon-RDS-Rolle erstellt haben. In diesem Schritt erstellen Sie eine Rolle für Ihre DB-Instance von RDS for Oracle und fügen dann Ihre Richtlinie an die Rolle an.

So erstellen Sie eine IAM-Rolle, um Amazon RDS Zugriff auf einen Amazon-S3-Bucket zu gewähren
  1. Öffnen Sie die IAM-Managementkonsole.

  2. Wählen Sie im Navigationsbereich Rollen aus.

  3. Wählen Sie Create role (Rolle erstellen) aus.

  4. Wählen Sie einen AWS -Service aus.

  5. Für Anwendungsfälle für andere AWS Dienste: Wählen Sie RDS und dann RDS — Rolle zur Datenbank hinzufügen. Wählen Sie anschließend Weiter.

  6. Geben Sie für Suchen unter Berechtigungsrichtlinien anfügen den Namen der von Ihnen in Schritt 1: Erstellen einer IAM-Richtlinie für Ihre Amazon-RDS-Rolle erstellten IAM-Richtlinie ein. Wählen Sie die Richtlinie aus, wenn sie in der Liste erscheint. Wählen Sie anschließend Weiter.

  7. Geben Sie unter Rollenname einen Namen für Ihre IAM-Rolle ein, z. B. rds-s3-integration-role. Sie können auch einen optionalen Wert für Description (Beschreibung) hinzufügen.

  8. Wählen Sie Rolle erstellen aus.

So erstellen Sie eine Rolle und fügen ihr eine Richtlinie an
  1. Erstellen Sie eine IAM-Rolle, die Amazon RDS in Ihrem Auftrag annehmen kann, um auf Ihre Amazon S3-Buckets zuzugreifen.

    Wir empfehlen die Verwendung der globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount in ressourcenbasierten Vertrauensbeziehungen, um die Berechtigungen des Services auf eine bestimmte Ressource zu beschränken. Dies ist der effektivste Weg, um sich vor dem verwirrtes Stellvertreterproblem zu schützen.

    Sie können beide globalen Bedingungskontextschlüssel verwenden und der Wert aws:SourceArn enthält die Konto-ID. Stellen Sie in diesen Fällen sicher, dass der Wert aws:SourceAccount und das Konto im Wert aws:SourceArn dieselbe Konto-ID verwenden, wenn sie in derselben Anweisung verwendet werden.

    • Verwenden von aws:SourceArn wenn Sie einen serviceübergreifenden Zugriff für eine einzelne Ressource wünschen.

    • Verwenden von aws:SourceAccount wenn Sie zulassen möchten, dass eine Ressource in diesem Konto mit der betriebsübergreifenden Verwendung verknüpft wird.

    Stellen Sie in der Vertrauensbeziehung sicher, dass Sie den globalen Bedingungskontextschlüssel aws:SourceArn mit dem vollständigen Amazon-Ressourcennamen (ARN) der Ressourcen verwenden, die auf die Rolle zugreifen.

    Der folgende AWS CLI Befehl erstellt die rds-s3-integration-role für diesen Zweck benannte Rolle.

    Beispiel

    Für LinuxmacOS, oderUnix:

    aws iam create-role \ --role-name rds-s3-integration-role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "my_account_ID", "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname" } } } ] }'

    Windows:

    aws iam create-role ^ --role-name rds-s3-integration-role ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "my_account_ID", "aws:SourceArn": "arn:aws:rds:Region:my_account_ID:db:dbname" } } } ] }'

    Weitere Informationen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen IAM-Benutzer im IAM-Benutzerhandbuch.

  2. Notieren Sie nach dem Erstellen der Rolle den ARN der Rolle. Sie benötigen den ARN bei einem nachfolgenden Schritt.

  3. Fügen Sie die erstellte Richtlinie an die erstellte Rolle an.

    Mit dem folgenden AWS CLI Befehl wird die Richtlinie an die angegebene rds-s3-integration-role Rolle angehängt.

    Beispiel

    Für LinuxmacOS, oderUnix:

    aws iam attach-role-policy \ --policy-arn your-policy-arn \ --role-name rds-s3-integration-role

    Windows:

    aws iam attach-role-policy ^ --policy-arn your-policy-arn ^ --role-name rds-s3-integration-role

    Ersetzen Sie your-policy-arn durch den Richtlinien-ARN, den Sie im vorherigen Schritt notiert haben.

Schritt 4: So ordnen Sie Ihre IAM-Rolle Ihrer DB-Instance von RDS für Oracle zu

Der letzte Schritt bei der Konfiguration der Berechtigungen für die Amazon S3-Integration ist die Zuordnung Ihrer IAM-Rolle zu Ihrer DB-Instance. Beachten Sie die folgenden Voraussetzungen:

  • Sie müssen Zugriff auf eine IAM-Rolle haben, der die Amazon-S3-Berechtigungsrichtlinie angefügt ist.

  • Sie können jeweils nur eine IAM-Rolle Ihrer DB-Instance von RDS für Oracle hinzufügen.

  • Ihre DB-Instance muss sich im Status Verfügbar befinden.

So ordnen Sie Ihre IAM-Rolle Ihrer DB-Instance von RDS for Oracle zu
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie aus dem Navigationsbereich Datenbanken aus.

  3. Wählen Sie den Namen der DB-Instance von RDS für Oracle aus, um deren Details anzuzeigen.

  4. Auf derKonnektivität & SicherheitScrollen Sie nach unten zumIAM-Rollen verwaltenunten auf der Seite.

  5. Wählen Sie unter IAM-Rollen zu dieser Instance hinzufügen die Rolle aus, die Sie in Schritt 3: Erstellen einer IAM-Rolle für Ihre DB-Instance und Anfügen Ihrer Richtlinie erstellt haben.

  6. Wählen Sie unter Feature (Funktion) die Option S3_INTEGRATION aus.

    Hinzufügen der S3_INTEGRATION-Rolle
  7. Wählen Sie Rolle hinzufügen.

Der folgende AWS CLI Befehl fügt die Rolle einer Oracle-DB-Instance mit dem Namen hinzumydbinstance.

Beispiel

Für LinuxmacOS, oderUnix:

aws rds add-role-to-db-instance \ --db-instance-identifier mydbinstance \ --feature-name S3_INTEGRATION \ --role-arn your-role-arn

Windows:

aws rds add-role-to-db-instance ^ --db-instance-identifier mydbinstance ^ --feature-name S3_INTEGRATION ^ --role-arn your-role-arn

Ersetzen Sie your-role-arn durch den Rollen-ARN, den Sie im vorherigen Schritt notiert haben. Für die Option S3_INTEGRATION muss --feature-name angegeben werden.