Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Ikhtisar mengelola izin akses ke sumber daya Amazon Redshift
Setiap AWS sumber daya dimiliki oleh AWS akun, dan izin untuk membuat atau mengakses sumber daya diatur oleh kebijakan izin. Administrator akun dapat melampirkan kebijakan izin ke IAM identitas (yaitu, pengguna, grup, dan peran), dan beberapa layanan (seperti AWS Lambda) juga mendukung melampirkan kebijakan izin ke sumber daya.
catatan
Administrator akun (atau pengguna administrator) adalah pengguna dengan hak akses administrator. Untuk informasi selengkapnya, lihat praktik IAM terbaik di Panduan IAM Pengguna.
Saat memberikan izin, Anda memutuskan siapa yang mendapatkan izin, sumber daya mana yang mereka dapatkan izin, dan tindakan spesifik yang ingin Anda izinkan pada sumber daya tersebut.
Sumber daya dan operasi Amazon Redshift
Amazon Redshift menyediakan sumber daya, tindakan, dan kunci konteks kondisi khusus layanan untuk digunakan dalam kebijakan izin. IAM
Amazon Redshift, Amazon Redshift Tanpa Server, Data Amazon Redshift, dan izin akses editor kueri Amazon API Redshift v2
Saat menyiapkanKontrol akses, Anda menulis kebijakan izin yang dapat dilampirkan ke IAM identitas (kebijakan berbasis identitas). Untuk informasi referensi terperinci, lihat topik berikut di Referensi Otorisasi Layanan:
-
Untuk Amazon Redshift, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon Redshift yang menggunakan awalan.
redshift:
-
Untuk Amazon Redshift Tanpa Server, lihat Tindakan, sumber daya, dan kunci kondisi untuk Amazon Redshift Tanpa Server yang menggunakan awalan.
redshift-serverless:
-
Untuk Data Amazon RedshiftAPI, lihat Tindakan, sumber daya, dan kunci kondisi untuk API Data Amazon Redshift yang menggunakan awalan.
redshift-data:
-
Untuk editor kueri Amazon Redshift v2, lihat Tindakan, sumber daya, dan kunci kondisi untuk AWS SQL Workbench (editor kueri Amazon Redshift v2) yang menggunakan awalan.
sqlworkbench:
Editor kueri v2 menyertakan tindakan khusus izin yang tidak secara langsung sesuai dengan operasiAPI. Tindakan ini ditunjukkan dalam Referensi Otorisasi Layanan dengan
[permission only]
.
Referensi Otorisasi Layanan berisi informasi tentang API operasi mana yang dapat digunakan dalam suatu IAM kebijakan. Ini juga mencakup AWS sumber daya yang dapat Anda berikan izin, dan kunci kondisi yang dapat Anda sertakan untuk kontrol akses berbutir halus. Untuk informasi lebih lanjut tentang syarat, lihat Menggunakan kondisi IAM kebijakan untuk kontrol akses berbutir halus.
Anda menentukan tindakan di bidang Action
kebijakan, nilai sumber daya di bidang Resource
kebijakan, dan syarat di bidang Condition
kebijakan. Untuk menentukan tindakan Amazon Redshift, gunakan redshift:
awalan yang diikuti dengan nama API operasi (misalnya,). redshift:CreateCluster
Memahami kepemilikan sumber daya
Pemilik sumber daya adalah AWS akun yang membuat sumber daya. Artinya, pemilik sumber daya adalah AWS akun entitas utama (akun root, IAM pengguna, atau IAM peran) yang mengotentikasi permintaan yang membuat sumber daya. Contoh berikut menggambarkan cara kerjanya:
-
Jika Anda menggunakan kredensi akun root AWS akun Anda untuk membuat cluster DB, AWS akun Anda adalah pemilik sumber daya Amazon Redshift.
-
Jika Anda membuat IAM peran di AWS akun dengan izin untuk membuat sumber daya Amazon Redshift, siapa pun yang dapat mengambil peran tersebut dapat membuat sumber daya Amazon Redshift. AWS Akun Anda, tempat perannya berada, memiliki sumber daya Amazon Redshift.
-
Jika Anda membuat IAM pengguna di AWS akun dan memberikan izin untuk membuat resource Amazon Redshift kepada pengguna tersebut, pengguna dapat membuat resource Amazon Redshift. Namun, AWS akun Anda, tempat pengguna berada, memiliki sumber daya Amazon Redshift. Dalam kebanyakan kasus, metode ini tidak disarankan. Sebaiknya buat IAM peran dan melampirkan izin ke peran, lalu menetapkan peran tersebut ke pengguna.
Mengelola akses ke sumber daya
Kebijakan izin menjelaskan siapa yang memiliki akses ke suatu objek. Bagian berikut menjelaskan opsi yang tersedia untuk membuat kebijakan izin.
catatan
Bagian ini membahas penggunaan IAM dalam konteks Amazon Redshift. Itu tidak memberikan informasi rinci tentang IAM layanan. Untuk IAM dokumentasi lengkap, lihat Apa ituIAM? dalam IAMUser Guide. Untuk informasi tentang sintaks IAM kebijakan dan deskripsi, lihat referensi AWS IAM kebijakan di IAMPanduan Pengguna.
Kebijakan yang melekat pada IAM identitas disebut sebagai kebijakan berbasis identitas (kebijakan) dan IAM kebijakan yang melekat pada sumber daya disebut sebagai kebijakan berbasis sumber daya. Amazon Redshift hanya mendukung kebijakan (kebijakan) berbasis identitas. IAM
Kebijakan berbasis identitas (kebijakan IAM)
Anda dapat menetapkan izin dengan melampirkan kebijakan ke IAM peran dan kemudian menetapkan peran tersebut ke pengguna atau grup. Berikut ini adalah contoh kebijakan yang berisi izin untuk membuat, menghapus, memodifikasi, dan me-reboot klaster Amazon Redshift untuk akun Anda. AWS
{ "Version": "2012-10-17", "Statement": [ { "Sid":"AllowManageClusters", "Effect":"Allow", "Action": [ "redshift:CreateCluster", "redshift:DeleteCluster", "redshift:ModifyCluster", "redshift:RebootCluster" ], "Resource":"*" } ] }
Untuk informasi selengkapnya tentang penggunaan kebijakan berbasis identitas dengan Amazon Redshift, lihat. Menggunakan kebijakan (IAMkebijakan) berbasis identitas untuk Amazon Redshift Untuk informasi selengkapnya tentang pengguna, grup, peran, dan izin, lihat Identitas (pengguna, grup, dan peran) di IAMPanduan Pengguna.
Kebijakan berbasis sumber daya
Layanan lain, seperti Amazon S3, juga mendukung kebijakan izin berbasis sumber daya. Misalnya, Anda dapat melampirkan kebijakan ke bucket S3 untuk mengelola izin akses ke bucket tersebut. Amazon Redshift tidak mendukung kebijakan berbasis sumber daya.
Menentukan elemen kebijakan: Tindakan, efek, sumber daya, dan prinsipal
Untuk setiap sumber daya Amazon Redshift (lihatSumber daya dan operasi Amazon Redshift), layanan mendefinisikan serangkaian API operasi (lihat Tindakan). Untuk memberikan izin untuk API operasi ini, Amazon Redshift mendefinisikan serangkaian tindakan yang dapat Anda tentukan dalam kebijakan. Melakukan API operasi dapat memerlukan izin untuk lebih dari satu tindakan.
Berikut ini adalah elemen-elemen kebijakan dasar:
-
Sumber Daya — Dalam kebijakan, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang diterapkan kebijakan tersebut. Untuk informasi selengkapnya, lihat Sumber daya dan operasi Amazon Redshift.
-
Tindakan – Anda menggunakan kata kunci tindakan untuk mengidentifikasi operasi sumber daya yang ingin Anda izinkan atau tolak. Misalnya,
redshift:DescribeClusters
izin memungkinkan izin pengguna untuk melakukan operasi AmazonDescribeClusters
Redshift. -
Efek – Anda menentukan efek ketika pengguna meminta tindakan tertentu—efek ini dapat berupa pemberian izin atau penolakan. Jika Anda tidak secara eksplisit memberikan akses ke (mengizinkan) sumber daya, akses akan ditolak secara implisit. Anda juga dapat secara eksplisit menolak akses ke sumber daya, yang mungkin Anda lakukan untuk memastikan bahwa pengguna tidak dapat mengaksesnya, meskipun ada akses memberikan kebijakan yang berbeda.
-
Principal — Dalam kebijakan (IAMkebijakan) berbasis identitas, pengguna yang melekat pada kebijakan tersebut adalah prinsipal implisit. Untuk kebijakan berbasis sumber daya, Anda menentukan pengguna, akun, layanan, atau entitas lain yang diinginkan untuk menerima izin (berlaku hanya untuk kebijakan berbasis sumber daya). Amazon Redshift tidak mendukung kebijakan berbasis sumber daya.
Untuk mempelajari lebih lanjut tentang sintaks dan deskripsi IAM kebijakan, lihat referensi AWS IAM kebijakan di IAMPanduan Pengguna.
Untuk tabel yang menunjukkan semua API tindakan Amazon Redshift dan sumber daya yang diterapkan, lihat. Amazon Redshift, Amazon Redshift Tanpa Server, Data Amazon Redshift, dan izin akses editor kueri Amazon API Redshift v2
Menentukan kondisi dalam kebijakan
Ketika Anda memberikan izin, Anda dapat menggunakan bahasa kebijakan akses untuk menentukan syarat kapan kebijakan akan berlaku. Misalnya, Anda mungkin ingin kebijakan diterapkan hanya setelah tanggal tertentu. Untuk informasi selengkapnya tentang menentukan kondisi dalam bahasa kebijakan akses, lihat elemen IAM JSON kebijakan: Kondisi dalam Panduan IAM Pengguna.
Untuk mengidentifikasi kondisi di mana kebijakan izin berlaku, sertakan Condition
elemen dalam kebijakan IAM izin Anda. Misalnya, Anda dapat membuat kebijakan yang mengizinkan pengguna membuat klaster menggunakan redshift:CreateCluster
tindakan, dan Anda dapat menambahkan Condition
elemen untuk membatasi pengguna tersebut agar hanya membuat klaster di wilayah tertentu. Untuk detailnya, lihat Menggunakan kondisi IAM kebijakan untuk kontrol akses berbutir halus. Untuk daftar yang menampilkan semua nilai kunci kondisi dan tindakan serta sumber daya Amazon Redshift yang diterapkan, lihat. Amazon Redshift, Amazon Redshift Tanpa Server, Data Amazon Redshift, dan izin akses editor kueri Amazon API Redshift v2
Menggunakan kondisi IAM kebijakan untuk kontrol akses berbutir halus
Di Amazon Redshift, Anda dapat menggunakan tombol kondisi untuk membatasi akses ke sumber daya berdasarkan tag untuk sumber daya tersebut. Berikut ini adalah kunci kondisi Amazon Redshift yang umum.
Kunci syarat | Deskripsi |
---|---|
|
Mengharuskan pengguna untuk menyertakan kunci tag (nama) dan nilai setiap kali mereka membuat sumber daya. Untuk informasi selengkapnya, lihat aws: RequestTag di Panduan IAM Pengguna. |
|
Membatasi akses pengguna ke sumber daya berdasarkan kunci dan nilai tag tertentu. Untuk informasi selengkapnya, lihat aws: ResourceTag di Panduan IAM Pengguna. |
|
Gunakan kunci ini untuk membandingkan kunci tanda dalam permintaan dengan kunci yang Anda sebutkan dalam kebijakan. Untuk informasi selengkapnya, lihat aws: TagKeys di Panduan IAM Pengguna. |
Untuk informasi tentang tag, lihatMenandai sumber daya di Amazon Redshift.
Untuk daftar API tindakan yang mendukung kunci redshift:RequestTag
dan redshift:ResourceTag
kondisi, lihatAmazon Redshift, Amazon Redshift Tanpa Server, Data Amazon Redshift, dan izin akses editor kueri Amazon API Redshift v2.
Kunci kondisi berikut dapat digunakan dengan tindakan Amazon Redshift GetClusterCredentials.
Kunci syarat | Deskripsi |
---|---|
|
Membatasi jumlah detik yang dapat ditentukan untuk durasi. |
|
Membatasi nama database yang dapat ditentukan. |
|
Membatasi nama pengguna database yang dapat ditentukan. |
Contoh 1: Membatasi akses dengan menggunakan aws: ResourceTag condition key
Gunakan IAM kebijakan berikut agar pengguna dapat memodifikasi klaster Amazon Redshift hanya untuk AWS akun tertentu di us-west-2
wilayah tersebut dengan tag yang diberi nama environment
dengan nilai tag sebesar. test
{ "Version": "2012-10-17", "Statement": { "Sid":"AllowModifyTestCluster", "Effect": "Allow", "Action": "redshift:ModifyCluster", "Resource": "arn:aws:redshift:us-west-2:123456789012:cluster:*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "test" } } } }
Contoh 2: Membatasi akses dengan menggunakan aws: RequestTag condition key
Gunakan IAM kebijakan berikut untuk mengizinkan pengguna membuat klaster Amazon Redshift hanya jika perintah untuk membuat klaster menyertakan tag bernama usage
dan nilai tag. production
Kondisi dengan aws:TagKeys
dan ForAllValues
pengubah menentukan bahwa hanya kunci costcenter
dan usage
dapat ditentukan dalam permintaan.
{ "Version": "2012-10-17", "Statement": { "Sid":"AllowCreateProductionCluster", "Effect": "Allow", "Action": [ "redshift:CreateCluster", "redshift:CreateTags" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/usage": "production" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "costcenter", "usage" ] } } } }