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.
Themen
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
-
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
ExportPolicymit diesen Optionen. Sie gewährt Zugriff auf einen Bucket namensamzn-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/*" ] } ] }' -
-
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" } ] }' -
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-rolezugeordnet. Ersetzen Siedurch den Richtlinien-ARN, den Sie in einem früheren Schritt notiert haben.your-policy-arnaws iam attach-role-policy --policy-arnyour-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.
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
-
Fügen Sie dem lokalen Konto eine Schlüsselrichtlinie hinzu.
Das folgende Beispiel gibt
ExampleRoleundExampleUserim 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": "*" } -
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
ExampleRoleundExampleUserzu 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" }