授權參數 - Amazon Redshift

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

授權參數

此COPY命令需要授權才能存取其他 AWS 資源中的資料,包括 Amazon S3、Amazon EMR、Amazon DynamoDB 和 Amazon EC2。您可以參考連接至叢集的 AWS Identity and Access Management (IAM) 角色角色型存取控制 ),以提供該授權。您可以在 Amazon S3 上加密載入資料。

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

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

IAM_ROLE { 預設 | 'arn:aws:iam::<AWS 帳戶-id>:角色/<role-name>' }

使用預設關鍵字讓 Amazon Redshift 在COPY命令執行時,使用設定為預設並與叢集相關聯的IAM角色。

針對叢集用於身分驗證和授權IAM的角色,請使用 Amazon Resource Name (ARN)。如果您指定 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 '暫時金鑰 '

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

注意

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

以下顯示 SESSION__TOKENID 和 ACCESS_KEY_ 參數的 SECRETACCESS_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 參數,而非 CREDENTIALS 參數。

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

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

關鍵字WITH和 AS 是選用項目,且會被忽略。

您可指定為 role-based access controlkey-based access control。無論哪種情況,IAM角色或使用者都必須具有存取指定 AWS 資源所需的許可。如需詳細資訊,請參閱IAM COPY、 UNLOAD和 的許可 CREATE LIBRARY

注意

為了保護您的 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 參數, Credential-args 字串會以下列格式顯示,其中 <root-key> 是用來加密檔案的根金鑰值。

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

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

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>'

下列COPY命令顯示具有加密金鑰的角色型存取控制。

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>'