Einrichten des Zugriffs auf einen Amazon-S3-Bucket - Amazon Aurora

Einrichten des Zugriffs auf einen Amazon-S3-Bucket

Sie identifizieren den Amazon-S3-Bucket und gewähren dem Snapshot die Berechtigung, auf den Bucket zuzugreifen.

Identifizieren des Amazon-S3-Buckets, in den exportiert werden soll

Identifizieren Sie den Amazon-S3-Bucket, in den der DB-Snapshot exportiert werden soll. Verwenden Sie einen vorhandenen S3-Bucket oder erstellen Sie einen neuen S3-Bucket.

Anmerkung

Der S3-Bucket, in den exportiert werden soll, muss sich in derselben AWS-Region wie der Snapshot befinden.

Weitere Informationen zur Arbeit mit Amazon S3-Buckets finden Sie im Amazon Simple Storage Service User Guide:

Bereitstellen des Zugriffs auf einen Amazon S3-Bucket mit einer IAM-Rolle

Bevor Sie DB-Snapshot-Daten nach Amazon S3 exportieren, geben Sie den Snapshot-Exportaufgaben Schreibzugriffsrechte auf den Amazon S3-Bucket.

Zum Gewähren dieser Berechtigung erstellen Sie erstellen Sie eine IAM-Richtlinie, die Zugriff auf den Bucket ermöglicht. Erstellen Sie dann eine IAM-Rolle und fügen Sie der Rolle die Richtlinie an. Die IAM-Rolle können Sie später Ihrer Snapshot-Exportaufgabe zuweisen.

Wichtig

Wenn Sie planen, die AWS Management Console zum Exportieren Ihres Snapshots zu verwenden, können Sie wählen, dass die IAM-Richtlinie und die Rolle beim Exportieren des Snapshots automatisch erstellt werden. Detaillierte Anweisungen finden Sie unter Erstellen von Snapshot-Exportaufgaben.

So geben Sie DB-Snapshot-Aufgaben Zugriff auf Amazon S3
  1. Erstellen Sie eine IAM-Richtlinie. Diese Richtlinie bietet die Berechtigungen für den Bucket und die Objekte, die den Zugriff auf Ihre Snapshot-Exportaufgabe ermöglichen Amazon S3.

    Die Richtlinie muss die folgenden erforderlichen Aktionen enthalten, um die Übertragung von Dateien aus Amazon Aurora in einen S3-Bucket zu ermöglichen:

    • s3:PutObject*

    • s3:GetObject*

    • s3:ListBucket

    • s3:DeleteObject*

    • s3:GetBucketLocation

    Fügen Sie in die Richtlinie die folgenden Ressourcen zur Identifizierung des S3-Buckets und der Objekte im Bucket ein. Die folgende Liste von Ressourcen zeigt das ARN-Format (Amazon-Ressourcenname) für den Amazon S3-Zugriff.

    • arn:aws:s3:::amzn-s3-demo-bucket

    • arn:aws:s3:::amzn-s3-demo-bucket/*

    Weitere Informationen zur Erstellung einer IAM-Richtlinie für Amazon Aurora finden Sie unter Erstellen und Verwenden einer IAM-Richtlinie für den IAM-Datenbankzugriff. Siehe auch Tutorial: Erstellen und Anfügen Ihrer ersten vom Kunden verwalteten Richtlinie im IAM-Benutzerhandbuch.

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

    Anmerkung

    Nachdem Sie die Richtlinie erstellt haben, notieren Sie den ARN der Richtlinie. Sie benötigen den ARN für einen nachfolgenden Schritt, in dem Sie die Richtlinie an eine IAM-Rolle anhängen.

    aws iam create-policy --policy-name ExportPolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExportPolicy", "Effect": "Allow", "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }'
  2. Erstellen Sie eine IAM-Rolle, damit Aurora diese IAM-Rolle in Ihrem Namen übernehmen kann, um auf Ihre Amazon-S3-Buckets zuzugreifen. Weitere Informationen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen IAM-Benutzer im IAM-Benutzerhandbuch.

    Das folgende Beispiel zeigt die Verwendung des AWS CLI-Befehls zum Erstellen einer Rolle mit dem Namen rds-s3-export-role.

    aws iam create-role --role-name rds-s3-export-role --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "export.rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'
  3. Fügen Sie die erstellte IAM-Richtlinie der IAM-Rolle an, die Sie erstellt haben.

    Mit dem folgenden AWS CLI-Befehl wird die zuvor erstellte Richtlinie der Rolle mit dem Namen rds-s3-export-role zugeordnet. Ersetzen Sie your-policy-arn durch den Richtlinien-ARN, den Sie in einem früheren Schritt notiert haben.

    aws iam attach-role-policy --policy-arn your-policy-arn --role-name rds-s3-export-role

Einen kontoübergreifenden Amazon-S3-Bucket verwenden

Sie können Amazon-S3-Bucket für AWS-Konten. Um einen kontoübergreifenden Bucket zu verwenden, fügen Sie eine Bucket-Richtlinie hinzu, um den Zugriff auf die IAM-Rolle zu erlauben, die Sie für die S3-Exporte verwenden. Weitere Informationen finden Sie unter Beispiel 2: Bucket-Eigentümer erteilt kontoübergreifende Bucket-Berechtigungen.

  • Fügen Sie eine Bucket-Richtlinie an Ihren Bucket an, wie im folgenden Beispiel gezeigt.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/Admin" }, "Action": [ "s3:PutObject*", "s3:ListBucket", "s3:GetObject*", "s3:DeleteObject*", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket", "arn:aws:s3:::amzn-s3-demo-destination-bucket/*" ] } ] }

Verwenden eines kontoübergreifenden AWS KMS key

Sie können ein kontoübergreifendes AWS KMS key nutzen, um Amazon-S3-Exporte zu verschlüsseln. Zuerst fügen Sie dem lokalen Konto eine Schlüsselrichtlinie hinzu und fügen dann IAM-Richtlinien im externen Konto hinzu. Weitere Informationen finden Sie unter Benutzern in anderen Konten die Verwendung eines KMS-Schlüssels erlauben.

So verwenden Sie einen kontoübergreifenden KMS-Schlüssel
  1. Fügen Sie dem lokalen Konto eine Schlüsselrichtlinie hinzu.

    Das folgende Beispiel gibt ExampleRole und ExampleUser im externen Konto 444455556666 Berechtigungen im lokalen Konto 123456789012.

    { "Sid": "Allow an external account to use this KMS key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/ExampleRole", "arn:aws:iam::444455556666:user/ExampleUser" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey", "kms:RetireGrant" ], "Resource": "*" }
  2. Fügen Sie IAM-Richtlinien im externen Konto hinzu.

    Die folgende IAM-Richtlinie erlaubt es dem Prinzipal, den KMS-Schlüssel im Konto 123456789012 für kryptografische Operationen zu erlauben. Um diese Berechtigung an ExampleRole und ExampleUser zu erteilen, fügen Sie die Richtlinie zu ihnen im Konto 444455556666 an.

    { "Sid": "Allow use of KMS key in account 123456789012", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey", "kms:RetireGrant" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }