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

COPYPerintah tersebut 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 COPY perintah:

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

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

Gunakan Amazon Resource Name (ARN) untuk IAM peran 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, atauCREDENTIALS.

Berikut ini menunjukkan sintaks untuk ROLE parameter IAM _.

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

Untuk informasi selengkapnya, lihat Kontrol akses berbasis peran.

ACCESS_ KEY _ID 'access-key-id ' SECRET _ ACCESS _ KEY '' 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 atauCREDENTIALS. Untuk informasi selengkapnya, lihat Kredensial keamanan sementara di Panduan IAM Pengguna.

catatan

Alih-alih membuat kredensil keamanan sementara, kami sangat menyarankan untuk menggunakan otentikasi berbasis peran. Saat Anda mengotorisasi penggunaan IAM peran, 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 _ dengan TOKEN 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.

[WITH] CREDENTIALS [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 CREDENTIALS parameter dengan IAM _ ROLE atau ACCESS _ KEY _ID dan SECRET _ ACCESS _KEY.

catatan

Untuk meningkatkan fleksibilitas, kami sarankan menggunakan IAM_ROLE parameter alih-alih CREDENTIALS parameter.

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 tersebut, IAM peran atau pengguna harus memiliki izin yang diperlukan untuk mengakses AWS sumber daya yang ditentukan. Untuk informasi selengkapnya, lihat IAMizin untukCOPY,UNLOAD, dan CREATE LIBRARY.

catatan

Untuk melindungi AWS kredensil 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> adalah nilai kunci root yang digunakan untuk mengenkripsi file.

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

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

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

COPYPerintah berikut menunjukkan kontrol akses berbasis peran dengan kunci enkripsi.

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