Ikhtisar mengelola izin akses ke sumber daya Amazon Redshift - Amazon Redshift

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:

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 Amazon DescribeClusters 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

aws:RequestTag

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.

aws:ResourceTag

Membatasi akses pengguna ke sumber daya berdasarkan kunci dan nilai tag tertentu. Untuk informasi selengkapnya, lihat aws: ResourceTag di Panduan IAM Pengguna.

aws:TagKeys

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

redshift:DurationSeconds

Membatasi jumlah detik yang dapat ditentukan untuk durasi.

redshift:DbName

Membatasi nama database yang dapat ditentukan.

redshift:DbUser

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" ] } } } }