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.
Voraussetzungen für die Integration von RDS-for-SQL-Server mit S3
Bevor Sie beginnen, suchen oder erstellen Sie den S3-Bucket, den Sie verwenden möchten. Fügen Sie weiterhin Berechtigungen hinzu, so dass die RDS DB-Instance auf den S3-Bucket zugreifen kann. Zur Konfiguration dieses Zugriffs erstellen Sie eine IAM-Richtlinie und eine IAM-Rolle.
So erstellen Sie eine IAM-Richtlinie für den Zugriff auf Amazon S3:
-
Wählen Sie in der IAM Management-Konsole
im Navigationsbereich Policies (Richtlinien). -
Erstellen Sie eine neue Richtlinie, und verwenden Sie die Registerkarte Visual editor für die folgenden Schritte.
-
Geben Sie unter Service
S3ein, und wählen Sie dann den S3-Service. -
Wählen Sie unter Actions (Aktionen) Folgendes, um den Zugang zu gewähren, den Ihre DB-Instance benötigt.
-
ListAllMyBuckets– erforderlich -
ListBucket– erforderlich -
GetBucketAcl– erforderlich -
GetBucketLocation– erforderlich -
GetObject– erforderlich für das Herunterladen von Dateien von S3 zuD:\S3\ -
PutObject– erforderlich für das Hochladen von Dateien vonD:\S3\zu S3 -
ListMultipartUploadParts– erforderlich für das Hochladen von Dateien vonD:\S3\zu S3 -
AbortMultipartUpload– erforderlich für das Hochladen von Dateien vonD:\S3\zu S3
-
-
Für Resources (Ressourcen) hängen die angezeigten Optionen davon ab, welche Aktionen Sie im vorherigen Schritt ausgewählt haben. Möglicherweise sehen Sie Optionen für Bucket, Object (Objekt) oder beide. Geben Sie für beide den jeweiligen Amazon-Ressourcennamen (ARN) an.
Geben Sie für Bucket den ARN für den Bucket an, den Sie verwenden möchten. Wenn Ihr Bucket beispielsweise den Namen
amzn-s3-demo-buckethat, setzen Sie den ARN aufarn:aws:s3:::.amzn-s3-demo-bucketGeben Sie für Object (Objekt) den ARN für den Bucket ein, und wählen Sie dann eine der folgenden Optionen:
-
Um Zugriff auf alle Dateien in dem angegebenen Bucket zu gewähren, wählen Sie Any (Beliebig) für Bucket name (Name des Buckets) und Object name (Name des Objekts).
-
Um Zugriff auf bestimmte Dateien oder Ordner im Bucket zu gewähren, geben ARNs Sie die spezifischen Buckets und Objekte an, auf die SQL Server zugreifen soll.
-
-
Befolgen Sie die Anweisungen in der Konsole, bis Sie die Richtlinie fertig erstellt haben.
Vorstehendes ist eine verkürzte Anleitung zur Einrichtung einer Richtlinie. Ausführlichere Anweisungen zum Erstellen von IAM-Richtlinien finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch.
So erstellen Sie eine IAM-Rolle, die die IAM-Richtlinie aus der vorherigen Prozedur verwendet:
-
Wählen Sie in der IAM Management-Konsole
im Navigationsbereich Roles (Rollen). -
Erstellen Sie eine neue IAM-Rolle, und wählen Sie die folgenden Optionen, wenn sie in der Konsole angezeigt werden:
-
AWS Service nicht zulässig
-
RDS
-
RDS – Add Role to Database (Rolle zu Datenbank hinzufügen)
Wählen Sie dann unten Next permissions (Nächste Berechtigungen).
-
-
Geben Sie für Attach permissions policies (Berechtigungsrichtlinien anfügen) den Namen der vorher erstellten IAM-Richtlinie ein. Wählen Sie dann eine Richtlinie aus der Liste aus.
-
Befolgen Sie die Anweisungen in der Konsole, bis Sie die Rolle fertig erstellt haben.
Vorstehendes ist eine verkürzte Anleitung zur Einrichtung einer Rolle. Wenn Sie eine ausführlichere Anleitung zum Erstellen einer Rolle wünschen, vgl. IAM-Rollen im IAM-Benutzerhandbuch.
Sie können Amazon RDS wie folgt Zugriff auf einen Amazon-S3-Bucket gewähren:
-
Erstellen Sie eine IAM-Richtlinie, die Amazon RDS Zugriff auf einen S3-Bucket gewährt.
-
Erstellen Sie eine IAM-Rolle, die Amazon RDS in Ihrem Auftrag annehmen kann, um auf Ihre S3-Buckets zuzugreifen.
Weitere Informationen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen IAM-Benutzer im IAM-Benutzerhandbuch.
-
Fügen Sie die erstellte IAM-Richtlinie der IAM-Rolle an, die Sie erstellt haben.
So erstellen Sie die -IAM-Richtlinie
Schließen Sie die jeweiligen Aktionen ein, um den Zugriff zu gewähren, den Ihre DB-Instance erfordert:
-
ListAllMyBuckets– erforderlich -
ListBucket– erforderlich -
GetBucketAcl– erforderlich -
GetBucketLocation– erforderlich -
GetObject– erforderlich für das Herunterladen von Dateien von S3 zuD:\S3\ -
PutObject– erforderlich für das Hochladen von Dateien vonD:\S3\zu S3 -
ListMultipartUploadParts– erforderlich für das Hochladen von Dateien vonD:\S3\zu S3 -
AbortMultipartUpload– erforderlich für das Hochladen von Dateien vonD:\S3\zu S3
-
Mit dem folgenden AWS CLI Befehl wird eine IAM-Richtlinie
rds-s3-integration-policymit diesen Optionen erstellt. Sie gewährt Zugriff auf einen Bucket namensamzn-s3-demo-bucket.Für LinuxmacOS, oderUnix:
aws iam create-policy \ --policy-namerds-s3-integration-policy\ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/key_prefix/*" } ] }'Windows:
Achten Sie darauf, dass Sie die Zeilenenden so ändern, dass Ihre Schnittstelle sie unterstützt (
^anstelle von\). Unter Windows müssen Sie dazu alle doppelten Anführungszeichen mit dem Escape-Zeichen versehe\. Um dies für alle Anführungszeichen in JSON zu vermeiden, können Sie sie stattdessen in eine Datei speichern und als Parameter einführen.Erstellen Sie zuerst die
policy.json-Datei mit der folgenden Berechtigungsrichtlinie:Verwenden Sie dann den folgenden Befehl, um die Richtlinie zu erstellen:
aws iam create-policy ^ --policy-namerds-s3-integration-policy^ --policy-document file://file_path/assume_role_policy.json -
Notieren Sie nach dem Erstellen der Richtlinie den Amazon-Ressourcennamen (ARN) der Richtlinie. Sie benötigen den ARN bei einem späteren Schritt.
So erstellen Sie die IAM-Rolle
-
Der folgende AWS CLI Befehl erstellt die
rds-s3-integration-roleIAM-Rolle für diesen Zweck.Für LinuxmacOS, oderUnix:
aws iam create-role \ --role-namerds-s3-integration-role\ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'Windows:
Achten Sie darauf, dass Sie die Zeilenenden so ändern, dass Ihre Schnittstelle sie unterstützt (
^anstelle von\). Unter Windows müssen Sie dazu alle doppelten Anführungszeichen mit dem Escape-Zeichen versehe\. Um dies für alle Anführungszeichen in JSON zu vermeiden, können Sie sie stattdessen in eine Datei speichern und als Parameter einführen.Erstellen Sie zuerst die
assume_role_policy.json-Datei mit der folgenden Richtlinie:Verwenden Sie anschließend den folgenden Befehl zum Erstellen der IAM-Rolle:
aws iam create-role ^ --role-namerds-s3-integration-role^ --assume-role-policy-document file://file_path/assume_role_policy.jsonBeispiel die Verwendung des globalen Bedingungskontextschlüssels zum Erstellen der IAM-Rolle
Wir empfehlen die Verwendung der globalen Bedingungskontextschlüssel
aws:SourceArnundaws:SourceAccountin 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.Sie können beide globalen Bedingungskontextschlüssel verwenden und der Wert
aws:SourceArnenthält die Konto-ID. Stellen Sie in diesen Fällen sicher, dass der Wertaws:SourceAccountund das Konto im Wertaws:SourceArndieselbe Konto-ID verwenden, wenn sie in derselben Richtlinienanweisung verwendet werden.-
Verwenden von
aws:SourceArnwenn Sie einen serviceübergreifenden Zugriff für eine einzelne Ressource wünschen. -
Verwenden von
aws:SourceAccountwenn Sie zulassen möchten, dass eine Ressource in diesem Konto mit der betriebsübergreifenden Verwendung verknüpft wird.
Stellen Sie in der Richtlinie sicher, dass Sie den globalen Bedingungskontextschlüssel
aws:SourceArnmit dem vollständigen Amazon-Ressourcennamen (ARN) der Ressourcen verwenden, die auf die Rolle zugreifen. Stellen Sie bei der S3-Integration sicher, dass Sie die DB-Instance einbeziehen ARNs, wie im folgenden Beispiel gezeigt.Für LinuxmacOS, oderUnix:
aws iam create-role \ --role-namerds-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:SourceArn":"arn:aws:rds:Region:my_account_ID:db:db_instance_identifier" } } } ] }'Windows:
Fügen Sie den globalen Bedingungskontextschlüssel zu
assume_role_policy.jsonhinzu. -
IAM-Richtlinie an die IAM-Rolle anfügen
-
Mit dem folgenden AWS CLI Befehl wird die Richtlinie an die angegebene
rds-s3-integration-roleRolle angehängt. Ersetzen Siedurch den Richtlinien-ARN, den Sie im vorherigen Schritt notiert haben.your-policy-arnFür LinuxmacOS, oderUnix:
aws iam attach-role-policy \ --policy-arnyour-policy-arn\ --role-namerds-s3-integration-roleWindows:
aws iam attach-role-policy ^ --policy-arnyour-policy-arn^ --role-namerds-s3-integration-role