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.
Autorisierungsparameter
Der COPY Befehl benötigt eine Autorisierung, um auf Daten in einer anderen AWS Ressource zuzugreifen, einschließlich in Amazon S3, AmazonEMR, Amazon DynamoDB und Amazon. EC2 Sie können diese Autorisierung bereitstellen, indem Sie auf eine Rolle AWS Identity and Access Management (IAM) verweisen, die Ihrem Cluster zugeordnet ist (rollenbasierte Zugriffskontrolle). Sie können Ihre Ladedaten auf Amazon S3 verschlüsseln.
In den folgenden Themen finden Sie weitere Details und Beispiele für Authentifizierungsoptionen:
Verwenden Sie eine der folgenden Methoden, um die Autorisierung für den Befehl zu erteilen: COPY
-
IAM_ROLE Parameter
-
ACCESS_KEY_ID and SECRET_ACCESS_KEY parameters
-
CREDENTIALS-Klausel
- IAM_ ROLE {default | 'arn:aws:iam::
<AWS-Konto-id>
:Rolle/<role-name>
' } -
Verwenden Sie das Schlüsselwort default, damit Amazon Redshift die IAM Rolle verwendet, die als Standard festgelegt und dem Cluster zugeordnet ist, wenn der COPY Befehl ausgeführt wird.
Verwenden Sie den Amazon-Ressourcennamen (ARN) für eine IAM Rolle, die Ihr Cluster für die Authentifizierung und Autorisierung verwendet. Wenn Sie IAM _ angebenROLE, können Sie ACCESS _ KEY _ID und _ SECRET _ KEYTOKEN, ACCESS SESSION _ oder CREDENTIALS nicht verwenden.
Im Folgenden wird die Syntax für den ROLE Parameter IAM _ gezeigt.
IAM_ROLE { default | 'arn:aws:iam::
<AWS-Konto-id>
:role/<role-name>
' }Weitere Informationen finden Sie unter Rollenbasierte Zugriffskontrolle.
- ACCESS_ KEY _ID access-key-id 'SECRET_ ACCESS _KEY' secret-access-key
-
Diese Autorisierungsmethode wird nicht empfohlen.
Anmerkung
Anstatt die Zugangsdaten als Klartext anzugeben, empfehlen wir dringend, die rollenbasierte Authentifizierung durch Angabe des IAM Parameters _ zu verwenden. ROLE Weitere Informationen finden Sie unter Rollenbasierte Zugriffskontrolle.
- SESSION_ TOKEN 'temporäres Token'
-
Das Sitzungstoken, das für temporäre Zugriffsanmeldeinformationen verwendet wird. Wenn SESSION _ angegeben TOKEN ist, müssen Sie auch ACCESS _ KEY _ID und SECRET _ _ verwenden, KEY um temporäre ACCESS Zugangsschlüsselanmeldeinformationen bereitzustellen. Wenn Sie SESSION _ angeben, können TOKEN Sie IAM _ ROLE oder CREDENTIALS nicht verwenden. Weitere Informationen finden Sie Temporäre Sicherheitsanmeldeinformationen im IAM Benutzerhandbuch.
Anmerkung
Es wird nach nachdrücklich empfohlen, eine rollenbasierte Authentifizierung zu verwenden, statt temporäre Sicherheitsanmeldeinformationen zu erstellen. Wenn Sie mithilfe einer IAM Rolle autorisieren, erstellt Amazon Redshift automatisch temporäre Benutzeranmeldeinformationen für jede Sitzung. Weitere Informationen finden Sie unter Rollenbasierte Zugriffskontrolle.
Im Folgenden wird die Syntax für den TOKEN Parameter SESSION _ mit den Parametern ACCESS _ KEY _ID und _ SECRET _ ACCESS gezeigt. KEY
ACCESS_KEY_ID '
<access-key-id>
' SECRET_ACCESS_KEY '<secret-access-key>
' SESSION_TOKEN '<temporary-token>
';Wenn Sie SESSION _ angeben, können TOKEN Sie CREDENTIALS or IAM _ ROLE nicht verwenden.
- [WITH] CREDENTIALS [AS] 'Anmeldeinformationen-Argumente'
-
Eine Klausel, die angibt, mit welcher Methode Ihr Cluster auf andere AWS Ressourcen zugreift, die Daten- oder Manifestdateien enthalten. Sie können den CREDENTIALS Parameter nicht mit IAM _ ROLE oder ACCESS _ KEY _ID und SECRET _ ACCESS _ KEY verwenden.
Anmerkung
Für mehr Flexibilität empfehlen wir, den IAM_ROLE Parameter anstelle des Parameters zu verwenden. CREDENTIALS
Wenn der Parameter ENCRYPTED verwendet wird, stellt die Zeichenfolge credentials-args auch den Verschlüsselungsschlüssel bereit.
Die Zeichenfolge credentials-args unterscheidet zwischen Groß- und Kleinschreibung und darf keine Leerzeichen enthalten.
Die Schlüsselwörter WITH und AS sind optional und werden ignoriert.
Sie können entweder role-based access control oder key-based access control angeben. In beiden Fällen muss die IAM Rolle oder der Benutzer über die erforderlichen Berechtigungen für den Zugriff auf die angegebenen AWS Ressourcen verfügen. Weitere Informationen finden Sie unter IAMBerechtigungen für COPYUNLOAD, und CREATE LIBRARY.
Anmerkung
Um Ihre AWS Anmeldeinformationen und vertrauliche Daten zu schützen, empfehlen wir dringend, die rollenbasierte Zugriffskontrolle zu verwenden.
Um die rollenbasierte Zugriffssteuerung anzugeben, stellen Sie die Zeichenfolge credentials-args im folgenden Format bereit.
'aws_iam_role=arn:aws:iam::
<aws-account-id>
:role/<role-name>
'Um temporäre Token-Anmeldeinformationen zu verwenden, müssen Sie die temporäre Zugriffschlüssel-ID, den temporären geheimen Zugriffschlüssel und das temporäre Token bereitstellen. Die credentials-args-Zeichenfolge hat das folgende Format.
CREDENTIALS 'aws_access_key_id=
<temporary-access-key-id>
;aws_secret_access_key=<temporary-secret-access-key>
;token=<temporary-token>
'Weitere Informationen finden Sie unter Temporäre Sicherheitsanmeldeinformationen.
Wenn der ENCRYPTED Parameter verwendet wird, hat die Zeichenfolge credentials args das folgende Format, wobei
<root-key>
ist der Wert des Stammschlüssels, der zum Verschlüsseln der Dateien verwendet wurde.CREDENTIALS '
<credentials-args>
;master_symmetric_key=<root-key>
'Der folgende COPY Befehl verwendet beispielsweise eine rollenbasierte Zugriffskontrolle mit einem Verschlüsselungsschlüssel.
copy customer from 's3://amzn-s3-demo-bucket/mydata' credentials 'aws_iam_role=arn:aws:iam::
<account-id>
:role/<role-name>
;master_symmetric_key=<root-key>
'Der folgende COPY Befehl zeigt die rollenbasierte Zugriffskontrolle mit einem Verschlüsselungsschlüssel.
copy customer from 's3://amzn-s3-demo-bucket/mydata' credentials 'aws_iam_role=arn:aws:iam::
<aws-account-id>
:role/<role-name>
;master_symmetric_key=<root-key>
'