Autorisierungsparameter - Amazon Redshift

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, Amazon EMR, Amazon DynamoDB und Amazon EC2. Sie gewähren diese Autorisierung durch die Referenzierung einer IAM-Rolle (AWS Identity and Access Management ), die mit Ihrem Cluster verbunden 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 eines der folgenden Verfahren, um eine Autorisierung für den COPY-Befehl bereitzustellen:

IAM_ROLE { default | 'arn:aws:iam::<AWS-Konto-id>:role/<role-name>' }

Verwenden Sie das Standardstichwort, damit Amazon Redshift die IAM-Rolle verwendet, die als Standard festgelegt und mit dem Cluster verknüpft ist, wenn der COPY-Befehl ausgeführt wird.

Verwenden Sie den Amazon-Ressourcennamen (ARN) für eine IAM-Rolle, die von Ihrem Cluster für Authentifizierung und Autorisierung verwendet wird. Wenn Sie IAM_ROLE angeben, können Sie ACCESS_KEY_ID und SECRET_ACCESS_KEY, SESSION_TOKEN oder CREDENTIALS nicht verwenden.

Im Folgenden wird die Syntax für den Parameter IAM_ROLE gezeigt.

IAM_ROLE { default | 'arn:aws:iam::<AWS-Konto-id>:role/<role-name>' }

Weitere Informationen finden Sie unter Rollenbasierte Zugriffskontrolle.

ACCESS_KEY_ID '' SECRET_ACCESS_KEY 'access-key-id secret-access-key

Diese Autorisierungsmethode wird nicht empfohlen.

Anmerkung

Es wird nach nachdrücklich empfohlen, eine rollenbasierte Authentifizierung durch Angabe des Parameters IAM_ROLE zu verwenden, statt die Zugriffsanmeldeinformationen in Textform bereitzustellen. Weitere Informationen finden Sie unter Rollenbasierte Zugriffskontrolle.

SESSION_TOKEN 'temporary-token'

Das Sitzungstoken, das für temporäre Zugriffsanmeldeinformationen verwendet wird. Wenn SESSION_TOKEN angegeben wird, müssen Sie auch ACCESS_KEY_ID und SECRET_ACCESS_KEY verwenden, um temporäre Zugriffsschlüssel-Anmeldeinformationen bereitzustellen. Wenn Sie SESSION_TOKEN angeben, können Sie IAM_ROLE oder CREDENTIALS nicht verwenden. Weitere Informationen finden Sie unter 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 eine Autorisierung unter Verwendung einer IAM-Rolle ausführen, erstellt Amazon Redshift automatisch für jede Sitzung temporäre Benutzeranmeldeinformationen. Weitere Informationen finden Sie unter Rollenbasierte Zugriffskontrolle.

Im Folgenden wird die Syntax für den Parameter SESSION_TOKEN mit den Parametern ACCESS_KEY_ID und SECRET_ACCESS_KEY gezeigt.

ACCESS_KEY_ID '<access-key-id>' SECRET_ACCESS_KEY '<secret-access-key>' SESSION_TOKEN '<temporary-token>';

Wenn Sie SESSION_TOKEN angeben, können Sie CREDENTIALS oder IAM_ROLE nicht verwenden.

[WITH] CREDENTIALS [AS] 'credentials-args'

Eine Klausel, die angibt, mit welcher Methode Ihr Cluster auf andere AWS Ressourcen zugreift, die Daten- oder Manifestdateien enthalten. Sie können den Parameter CREDENTIALS nicht mit IAM_ROLE oder ACCESS_KEY_ID und SECRET_ACCESS_KEY verwenden.

Anmerkung

Um die Flexibilität zu verbessern, wird die Verwendung des Parameters IAM_ROLE anstelle des Parameters CREDENTIALS empfohlen.

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 müssen die IAM-Rolle oder der Benutzer die nötigen Berechtigungen besitzen, um auf die angegebenen AWS -Ressourcen zuzugreifen. Weitere Informationen finden Sie unter IAM-Berechtigungen für COPY, UNLOAD 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 Parameter ENCRYPTED verwendet wird, hat die Zeichenfolge credentials-args das folgende Format, wobei<root-key> der Wert des Root-Schlüssels ist, der verwendet wurde, um die Dateien zu verschlüsseln.

CREDENTIALS '<credentials-args>;master_symmetric_key=<root-key>'

Der folgende COPY-Befehl verwendet beispielsweise die rollenbasierte Zugriffssteuerung mit einem Verschlüsselungsschlüssel.

copy customer from 's3://DOC-EXAMPLE-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 Zugriffssteuerung mit einem Verschlüsselungsschlüssel.

copy customer from 's3://DOC-EXAMPLE-BUCKET/mydata' credentials 'aws_iam_role=arn:aws:iam::<aws-account-id>:role/<role-name>;master_symmetric_key=<root-key>'