Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Mengonfigurasi izin IAM

Mode fokus
Mengonfigurasi izin IAM - Amazon Redshift

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

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

Amazon Redshift menyediakan kebijakan AmazonRedshiftDataFullAccess terkelola. Kebijakan ini menyediakan akses penuh ke operasi Amazon Redshift Data API. Kebijakan ini juga memungkinkan akses tercakup ke Amazon Redshift tertentu AWS Secrets Manager,, dan operasi IAM API yang diperlukan untuk mengautentikasi dan mengakses klaster Amazon Redshift atau grup kerja Tanpa Server Redshift.

Anda juga dapat membuat kebijakan IAM Anda sendiri yang memungkinkan akses ke sumber daya tertentu. Untuk membuat kebijakan, gunakan AmazonRedshiftDataFullAccess kebijakan sebagai templat awal Anda. Setelah membuat kebijakan, tambahkan ke setiap pengguna yang memerlukan akses ke API Data.

Pertimbangkan persyaratan berikut dari kebijakan IAM yang terkait dengan pengguna:

  • Jika Anda menggunakan AWS Secrets Manager untuk mengautentikasi, konfirmasikan kebijakan mengizinkan penggunaan secretsmanager:GetSecretValue tindakan untuk mengambil rahasia yang ditandai dengan kunci. RedshiftDataFullAccess

  • Jika Anda menggunakan kredensyal sementara untuk mengautentikasi ke kluster, konfirmasikan kebijakan tersebut mengizinkan penggunaan redshift:GetClusterCredentials tindakan ke nama pengguna database redshift_data_api_user untuk database apa pun di klaster. Nama pengguna ini harus sudah dibuat di database Anda.

  • Jika Anda menggunakan kredensyal sementara untuk mengautentikasi ke grup kerja tanpa server, konfirmasikan kebijakan tersebut mengizinkan penggunaan redshift-serverless:GetCredentials tindakan untuk mengambil grup kerja yang diberi tag dengan kunci. RedshiftDataFullAccess Pengguna database dipetakan 1:1 ke identitas sumber AWS Identity and Access Management (IAM). Misalnya, pengguna sample_user dipetakan ke pengguna databaseIAM:sample_user, dan peran IAM sample_role dipetakan ke. IAMR:sample_role Untuk informasi selengkapnya tentang identitas IAM, lihat Identitas IAM (pengguna, grup pengguna, dan peran) di Panduan Pengguna IAM.

  • Tindakan IAM redshift-data:GetStatementResult memungkinkan akses ke operasi keduanya GetStatementResult dan GetStatementResultV2 API.

Tautan berikut memberikan informasi lebih lanjut tentang AWS Identity and Access Management Panduan Pengguna IAM.

Jalankan kueri pada klaster yang dimiliki oleh akun lain

Untuk menjalankan kueri pada klaster yang dimiliki oleh akun lain, akun pemilik harus menyediakan peran IAM yang dapat diasumsikan oleh API Data di akun panggilan. Misalnya, Akun B memiliki klaster yang perlu diakses oleh Akun A. Akun B dapat melampirkan kebijakan AWS terkelola AmazonRedshiftDataFullAccess ke peran IAM Akun B. Kemudian Akun B mempercayai Akun A menggunakan kebijakan kepercayaan seperti berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::accountID-of-account-A:role/someRoleA" ] }, "Action": "sts:AssumeRole" } ] }

Akhirnya, peran Account A IAM harus dapat mengambil peran Account B IAM.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::accountID-of-account-B:role/someRoleB" } }

Tentukan peran IAM yang membatasi sumber daya ke grup kerja Redshift Tanpa Server dan kluster Amazon Redshift di Akun AWS

Anda dapat menentukan sumber daya ARNs dalam kebijakan berbasis identitas untuk mengontrol akses ke grup kerja Redshift Tanpa Server dan klaster Amazon Redshift di file. Akun AWS Contoh ini menunjukkan cara Anda membuat kebijakan yang mengizinkan akses ke Data API hanya untuk workgroup dan cluster dalam yang ditentukan. Akun AWS

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult", "redshift-data:ListStatements" ], "Resource": "*" }, { "Effect": "Allow", "Action": "redshift-data:*", "Resource": [ "arn:arn-partition:redshift-serverless:*:Akun AWS:workgroup/*", "arn:arn-partition:redshift:*:Akun AWS:cluster:*" ] } ] }

Mengkonfigurasi kebijakan IAM yang membatasi akses ke informasi pernyataan SQL hanya untuk pemilik pernyataan

Secara default, Amazon Redshift Data API memperlakukan peran IAM yang digunakan saat memanggil ExecuteStatement dan BatchExecuteStatement sebagai pemilik pernyataan SQL. Siapa pun yang diizinkan untuk mengambil peran dapat mengakses informasi tentang pernyataan SQL, termasuk hasilnya. Untuk membatasi akses informasi pernyataan SQL ke sesi peran IAM dengan pemilik tertentu, tambahkan kondisi. redshift-data:statement-owner-iam-userid: "${aws:userid}" Kebijakan IAM berikut membatasi akses.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:CancelStatement", "redshift-data:DescribeStatement", "redshift-data:GetStatementResult", "redshift-data:ListStatements" ], "Resource": "*", "Condition": { "StringEquals": { "redshift-data:statement-owner-iam-userid": "${aws:userid}" } } } ] }

Anda dapat menggunakan kondisi statement-owner-iam-userid denganCancelStatement,DescribeStatement,GetStatementResult, danListStatements. Untuk informasi selengkapnya, lihat Tindakan yang ditentukan oleh Amazon Redshift Data API.

Konfigurasikan kebijakan IAM yang membatasi akses ke hasil SQL hanya untuk pemilik sesi

Secara default, Amazon Redshift Data API memperlakukan peran IAM yang digunakan saat memanggil ExecuteStatement dan BatchExecuteStatement sebagai pemilik sesi database yang menjalankan pernyataan SQL. Siapa pun yang diizinkan untuk mengambil peran dapat mengirimkan kueri ke sesi database. Untuk membatasi akses sesi ke sesi peran IAM dengan pemilik tertentu, tambahkan kondisi. redshift-data:session-owner-iam-userid: "${aws:userid}" Kebijakan IAM berikut membatasi akses.

Kebijakan IAM berikut hanya memungkinkan pemilik sesi untuk mendapatkan hasil pernyataan. Kondisi session-owner-iam-userid ini digunakan untuk membatasi akses sumber daya ke yang ditentukanuserid.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift-data:ExecuteStatement", "redshift-data:BatchExecuteStatement" ], "Resource": "*", "Condition": { "StringEquals": { "redshift-data:session-owner-iam-userid": "${aws:userid}" } } } ] }

Anda dapat menggunakan kondisi session-owner-iam-userid dengan ExecuteStatement danBatchExecuteStatement. Untuk informasi selengkapnya, lihat Tindakan yang ditentukan oleh Amazon Redshift Data API.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.