Einrichten des Zugriffs auf einen Amazon S3-Bucket - 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.

Einrichten des Zugriffs auf einen Amazon S3-Bucket

Um Daten nach Amazon S3 zu exportieren, erteilen Sie Ihrer SQL die Erlaubnis, auf den Amazon S3 S3-Bucket zuzugreifen, in den die Dateien aufgenommen werden sollen.

Führen Sie dazu die folgenden Schritte aus.

Um einer SQL über eine IAM Rolle Zugriff auf Amazon S3 zu gewähren
  1. Erstellen Sie eine IAM Richtlinie.

    Diese Richtlinie stellt die Bucket- und Objektberechtigungen bereit, die es Ihrer SQL ermöglichen, auf Amazon S3 zuzugreifen.

    Führen Sie beim Erstellen dieser Richtlinie die folgenden Schritte aus:

    1. Nehmen Sie die folgenden erforderlichen Aktionen in die Richtlinie auf, um die Übertragung von Dateien von Ihrer SQL in einen Amazon S3 S3-Bucket zu ermöglichen:

      • s3:PutObject

      • s3:AbortMultipartUpload

    2. Geben Sie den Amazon-Ressourcennamen (ARN) an, der den Amazon S3-Bucket und die Objekte im Bucket identifiziert. Das ARN Format für den Zugriff auf Amazon S3 ist: arn:aws:s3:::amzn-s3-demo-bucket/*

    Weitere Informationen zum Erstellen einer IAM Richtlinie für finden Sie unter. Erstellen und Verwenden einer IAM-Richtlinie für den IAM-Datenbankzugriff Siehe auch Tutorial: Erstellen und Anhängen Ihrer ersten vom Kunden verwalteten Richtlinie im IAMBenutzerhandbuch.

    Folgendes AWS CLI Der Befehl erstellt eine IAM Richtlinie rds-s3-export-policy mit diesen Optionen. Es gewährt Zugriff auf einen Bucket mit dem Namen amzn-s3-demo-bucket.

    Warnung

    Wir empfehlen Ihnen, Ihre Datenbank in einer privaten Datenbank einzurichtenVPC, in der Endpunktrichtlinien für den Zugriff auf bestimmte Buckets konfiguriert sind. Weitere Informationen finden Sie unter Verwenden von Endpunktrichtlinien für Amazon S3 im VPC Amazon-Benutzerhandbuch.

    Es wird dringend empfohlen, keine Richtlinie mit Zugriff auf alle Ressourcen zu erstellen. Dieser Zugriff kann eine Bedrohung für die Datensicherheit darstellen. Wenn Sie eine Richtlinie erstellen, die S3:PutObject Zugriff auf alle Ressourcen mit "Resource":"*" gewährt, kann ein Benutzer mit Exportberechtigungen Daten in alle Buckets in Ihrem Konto exportieren. Darüber hinaus kann der Benutzer Daten in jeden öffentlich beschreibbaren Bucket in Ihrem exportieren AWS Region.

    Nachdem Sie die Richtlinie erstellt haben, notieren Sie sich den Amazon-Ressourcennamen (ARN) der Richtlinie. Sie benötigen den ARN für einen nachfolgenden Schritt, wenn Sie die Richtlinie einer IAM Rolle zuordnen.

    aws iam create-policy --policy-name rds-s3-export-policy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "s3export", "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation", "s3:AbortMultipartUpload" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'
  2. Erstellen Sie eine IAM Rolle.

    Sie tun dies, damit Amazon diese IAM Rolle in Ihrem Namen übernehmen RDS kann, um auf Ihre Amazon S3 S3-Buckets zuzugreifen. Weitere Informationen finden Sie im Benutzerhandbuch unter Erstellen einer Rolle zur Delegierung von Berechtigungen an einen IAM Benutzer. IAM

    Wir empfehlen die Verwendung der globalen Bedingungskontextschlüssel aws:SourceArn und aws:SourceAccount in ressourcenbasierten Richtlinien, 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.

    Wenn Sie sowohl globale Kontextschlüssel nutzen und der aws:SourceArn-Wert enthält die Konto-ID, muss der aws:SourceAccount-Wert und das Konto im aws:SourceArn-Wert die gleiche Konto-ID verwenden, wenn er in der gleichen Richtlinienanweisung verwendet wird.

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

    Achten Sie in der Richtlinie darauf, den aws:SourceArn globalen Bedingungskontextschlüssel mit ARN der gesamten Ressource zu verwenden. Das folgende Beispiel zeigt, wie Sie dies mit dem tun können AWS CLI Befehl zum Erstellen einer Rolle mit dem Namenrds-s3-export-role.

    Beispiel

    Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

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

    Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:

    aws iam create-role ^ --role-name rds-s3-export-role ^ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:rds:us-east-1:111122223333:db:dbname" } } } ] }'
  3. Ordnen Sie die von Ihnen erstellte IAM Richtlinie der von Ihnen erstellten IAM Rolle zu.

    Folgendes AWS CLI Der Befehl fügt die zuvor erstellte Richtlinie der Rolle rds-s3-export-role. Replace your-policy-arn mit der Richtlinie hinzuARN, die Sie in einem früheren Schritt notiert haben.

    aws iam attach-role-policy --policy-arn your-policy-arn --role-name rds-s3-export-role
  4. Fügen Sie die IAM Rolle der hinzu. Sie tun dies, indem Sie den AWS Management Console or AWS CLI, wie im Folgenden beschrieben.

Um mithilfe der Konsole eine IAM Rolle für eine SQL hinzuzufügen
  1. Melden Sie sich an bei AWS Management Console und öffnen Sie die RDS Amazon-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie den Namen der SQL , um die zugehörigen Details anzuzeigen.

  3. Wählen Sie auf der Registerkarte Konnektivität und Sicherheit im Abschnitt IAMRollen verwalten unter Rollen zu dieser Instance hinzufügen die Rolle aus, die hinzugefügt IAM werden soll.

  4. Wählen Sie unter Funktion die Option s3Export aus.

  5. Wählen Sie Rolle hinzufügen.

Um eine IAM Rolle für eine SQL Postgre-DB-Instance hinzuzufügen, verwenden Sie den CLI
  • Verwenden Sie den folgenden Befehl, um die Rolle zur SQL Postgre-DB-Instance mit dem Namen hinzuzufügen. my-db-instance Ersetzen your-role-arn mit der RolleARN, die Sie in einem vorherigen Schritt notiert haben. Verwenden Sie s3Export für den Wert der --feature-name-Option.

    Beispiel

    Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

    aws rds add-role-to-db-instance \ --db-instance-identifier my-db-instance \ --feature-name s3Export \ --role-arn your-role-arn \ --region your-region

    Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:

    aws rds add-role-to-db-instance ^ --db-instance-identifier my-db-instance ^ --feature-name s3Export ^ --role-arn your-role-arn ^ --region your-region