授權參數 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

授權參數

COPY 命令需要取得授權來存取另一個AWS資源中,包括在 Amazon S3、Amazon EMR、Amazon DynamoDB 和 Amazon EC2 中。您可以通過引用AWS Identity and Access Management(IAM) 角色連接到您的集羣(角色類型存取控制。您可以在 Amazon S3 上加密您的加載數據。

下列主題提供身份驗證選項的詳細資訊和範例:

使用下列其中一項來提供 COPY 命令的授權:

IAM_ROL{ 默認 | 'arn: aws: iam።<AWS 帳戶-id>: 角色/<role-name>'}

使用默認關鍵字讓 Amazon Redshift 使用設置為默認角色並在 COPY 命令運行時與集羣關聯的 IAM 角色。

使用 Amazon Resource Name (ARN) 作為叢集進行身份驗證和授權時所使用之 IAM 角色。如果指定 IAM_ROLE,則不能使用 ACCESS_KEY_ID 和 SECRET_ACCESS_KEY、SESSION_TOKEN 或 CREDENTIALS。

以下顯示 IAM_ROLE 參數的語法。

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

如需詳細資訊,請參閱 角色類型存取控制

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

不建議使用此授權方法。

注意

除了以純文字提供存取登入資料,強烈建議指定 IAM_ROLE 參數來使用角色型身份驗證。如需詳細資訊,請參閱 角色類型存取控制

SESSION_TOKEN 'temporary-token'

用於暫時存取登入資料的工作階段字符。指定 SESSION_TOKEN 時,您還必須使用 ACCESS_KEY_ID 和 SECRET_ACCESS_KEY 來提供暫時存取金鑰登入資料。如果指定 SESSION_TOKEN,則不能使用 IAM_ROLE 或 CREDENTIALS。如需詳細資訊,請參閱「」暫時安全憑證IAM 使用者指南中的。

注意

除了建立暫時安全登入資料,強烈建議使用角色型身份驗證。使用 IAM 角色來授權時,Amazon Redshift 會自動為每個工作階段建立臨時使用者登入資料。如需詳細資訊,請參閱 角色類型存取控制

以下顯示 SESSION_TOKEN 參數及 ACCESS_KEY_ID 和 SECRET_ACCESS_KEY 參數的語法。

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

如果指定 SESSION_TOKEN,則不能使用 CREDENTIALS 或 IAM_ROLE。

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

此子句指出叢集在存取其他AWS包含數據文件或清單文件的資源。CREDENTIALS 參數不能與 IAM_ROLE 或 ACCESS_KEY_ID 和 SECRET_ACCESS_KEY 一起使用。

注意

若要提高彈性,建議您使用IAM_ROLE參數而不是憑據參數。

(選用) 如果使用 ENCRYPTED 參數,則 credentials-args 字串也提供加密金鑰。

credentials-args 字串區分大小寫,且不得包含空格。

關鍵字 WITH 和 AS 是選用的且會被忽略。

您可指定為 role-based access controlkey-based access control。在任一情況下,IAM 角色或 IAM 使用者必須具有存取指定的AWS的費用。如需詳細資訊,請參閱 COPY、UNLOAD 和 CREATE LIBRARY 的 IAM 許可

注意

為了保護您的AWS登入資料和敏感資料,強烈建議使用角色型存取控制。

若要指定角色型存取控制,請依下列格式提供 credentials-args 字串。

'aws_iam_role=arn:aws:iam::<aws-account-id>:role/<role-name>'

若要使用暫時字符登入資料,您必須提供暫時存取金鑰 ID、暫時私密存取金鑰及暫時字符。credentials-args 字串採用下列格式。

CREDENTIALS 'aws_access_key_id=<temporary-access-key-id>;aws_secret_access_key=<temporary-secret-access-key>;token=<temporary-token>'

如需詳細資訊,請參閱 暫時安全憑證

如果ENCRYPTED參數時,憑據參數字串採用下列格式,其中<root-key>是用於加密檔案的根密鑰的值。

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

例如,下列 COPY 命令會使用角色型存取控制搭配加密金鑰。

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

下列 COPY 命令顯示金鑰型存取控制搭配加密金鑰。

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