授權參數 - Amazon Redshift

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

授權參數

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

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

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

IAM_ ROLE {默認 | 'ARN:AWN:IAM::<AWS 帳戶-id>:角色/<role-name>' }

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

將 Amazon 資源名稱 (ARN) 用於叢集用於身份驗證和授權的IAM角色。如果指定 IAM _ROLE,則無法使用 ACCESS _ KEY _ID 和 SECRET ACCESS _ KEY TOKEN、SESSION _ 或CREDENTIALS。

以下顯示 IAM _ ROLE 參數的語法。

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

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

ACCESSKEY_ 識別碼 '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 會自動為每個工作階段建立臨時使用者登入資料。如需詳細資訊,請參閱角色類型存取控制

以下顯示具有 _ KEY _ID 和 SESSION _ _ TOKEN 參數的 ACCESS 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] '憑證參數'

一個子句,指出您的叢集在存取包含資料檔案或資訊清單檔案的其他 AWS 資源時將使用的方法。您不能將CREDENTIALS參數與 IAM _ ROLE 或 _ 或 KEY _ID 和 ACCESS SECRET ACCESS _ KEY 一起使用。

注意

為了提高靈活性,我們建議使用IAM_ROLE參數而不是CREDENTIALS參數。

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

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

關鍵字WITH和 AS 是可選的,並且會被忽略。

您可指定為 role-based access controlkey-based access control。在任何一種情況下,IAM角色或使用者都必須具有存取指定 AWS 資源所需的權限。如需詳細資訊,請參閱IAMCOPY、和的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參數,則憑據參數字符串的格式如下,其中 <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>'