Parameter otorisasi - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Parameter otorisasi

Perintah COPY memerlukan otorisasi untuk mengakses data di AWS sumber daya lain, termasuk di Amazon S3, Amazon EMR, Amazon DynamoDB, dan Amazon EC2. Anda dapat memberikan otorisasi tersebut dengan mereferensikan peran AWS Identity and Access Management (IAM) yang dilampirkan ke klaster Anda (kontrol akses berbasis peran). Anda dapat mengenkripsi data pemuatan Anda di Amazon S3.

Topik berikut memberikan rincian lebih lanjut dan contoh opsi otentikasi:

Gunakan salah satu dari berikut ini untuk memberikan otorisasi untuk perintah COPY:

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

Gunakan kata kunci default agar Amazon Redshift menggunakan peran IAM yang ditetapkan sebagai default dan terkait dengan cluster saat perintah COPY berjalan.

Gunakan Amazon Resource Name (ARN) untuk peran IAM yang digunakan klaster Anda untuk autentikasi dan otorisasi. Jika Anda menentukan IAM_ROLE, Anda tidak dapat menggunakan ACCESS_KEY_ID dan SECRET_ACCESS_KEY, SESSION_TOKEN, atau CREDENTIALS.

Berikut ini menunjukkan sintaks untuk parameter IAM_ROLE.

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

Untuk informasi selengkapnya, lihat Kontrol akses berbasis peran.

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

Metode otorisasi ini tidak disarankan.

catatan

Alih-alih memberikan kredensi akses sebagai teks biasa, kami sangat menyarankan menggunakan otentikasi berbasis peran dengan menentukan parameter IAM_ROLE. Untuk informasi selengkapnya, lihat Kontrol akses berbasis peran.

SESSION_TOKEN 'token sementara'

Token sesi untuk digunakan dengan kredensil akses sementara. Ketika SESSION_TOKEN ditentukan, Anda juga harus menggunakan ACCESS_KEY_ID dan SECRET_ACCESS_KEY untuk memberikan kredensyal kunci akses sementara. Jika Anda menentukan SESSION_TOKEN, Anda tidak dapat menggunakan IAM_ROLE atau CREDENTIALS. Untuk informasi selengkapnya, lihat Kredensial keamanan sementara di Panduan Pengguna IAM.

catatan

Alih-alih membuat kredensyal keamanan sementara, kami sangat menyarankan menggunakan otentikasi berbasis peran. Saat Anda mengotorisasi penggunaan peran IAM, Amazon Redshift secara otomatis membuat kredensyal pengguna sementara untuk setiap sesi. Untuk informasi selengkapnya, lihat Kontrol akses berbasis peran.

Berikut ini menunjukkan sintaks untuk parameter SESSION_TOKEN dengan parameter ACCESS_KEY_ID dan SECRET_ACCESS_KEY.

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

Jika Anda menentukan SESSION_TOKEN, Anda tidak dapat menggunakan CREDENTIALS atau IAM_ROLE.

[DENGAN] KREDENSIAL [AS] 'credentials-args'

Klausa yang menunjukkan metode yang akan digunakan cluster Anda saat mengakses AWS sumber daya lain yang berisi file data atau file manifes. Anda tidak dapat menggunakan parameter CREDENTIALS dengan IAM_ROLE atau ACCESS_KEY_ID dan SECRET_ACCESS_KEY.

catatan

Untuk meningkatkan fleksibilitas, sebaiknya gunakan IAM_ROLE parameter alih-alih parameter CREDENTIALS.

Secara opsional, jika ENCRYPTED parameter digunakan, string credentials-args juga menyediakan kunci enkripsi.

String credentials-args bersifat case-sensitive dan tidak boleh berisi spasi.

Kata kunci WITH dan AS bersifat opsional dan diabaikan.

Anda dapat menentukan role-based access control atau key-based access control. Dalam kedua kasus, peran IAM atau pengguna harus memiliki izin yang diperlukan untuk mengakses sumber daya yang ditentukan AWS . Untuk informasi selengkapnya, lihat Izin IAM untuk COPY, UNLOAD, dan CREATE LIBRARY.

catatan

Untuk melindungi AWS kredensyal Anda dan melindungi data sensitif, kami sangat menyarankan untuk menggunakan kontrol akses berbasis peran.

Untuk menentukan kontrol akses berbasis peran, berikan string credentials-args dalam format berikut.

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

Untuk menggunakan kredensil token sementara, Anda harus memberikan ID kunci akses sementara, kunci akses rahasia sementara, dan token sementara. String credentials-args dalam format berikut.

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

Untuk informasi selengkapnya, lihat Kredensial keamanan sementara.

Jika ENCRYPTED parameter digunakan, string credentials-args dalam format berikut, di mana <root-key>nilai kunci root yang digunakan untuk mengenkripsi file.

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

Misalnya, perintah COPY berikut menggunakan kontrol akses berbasis peran dengan kunci enkripsi.

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

Perintah COPY berikut menunjukkan kontrol akses berbasis peran dengan kunci enkripsi.

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