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 identitas IAM (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 terbaik IAM dalam Panduan Pengguna IAM.

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, Amazon Redshift Data API, dan izin akses editor kueri Amazon Redshift v2

Saat menyiapkanKontrol akses, Anda menulis kebijakan izin yang dapat dilampirkan ke identitas IAM (kebijakan berbasis identitas). Untuk informasi referensi terperinci, lihat topik berikut di Referensi Otorisasi Layanan:

Referensi Otorisasi Layanan berisi informasi tentang operasi API mana yang dapat digunakan dalam kebijakan IAM. 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 ketentuan kebijakan IAM untuk kontrol akses terperinci.

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 operasi API (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, pengguna IAM, atau peran IAM) yang mengautentikasi 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 peran IAM di AWS akun Anda 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 pengguna IAM di AWS akun Anda dan memberikan izin untuk membuat sumber daya Amazon Redshift kepada pengguna tersebut, pengguna dapat membuat sumber daya Amazon Redshift. Namun, AWS akun Anda, tempat pengguna berada, memiliki sumber daya Amazon Redshift. Dalam kebanyakan kasus, metode ini tidak disarankan. Sebaiknya buat peran IAM dan melampirkan izin ke peran tersebut, lalu menetapkan peran tersebut ke pengguna.

Mengelola akses ke sumber daya

Kebijakan izin menjelaskan siapa yang memiliki akses ke apa. Bagian berikut menjelaskan opsi yang tersedia untuk membuat kebijakan izin.

catatan

Bagian ini membahas penggunaan IAM dalam konteks Amazon Redshift. Bagian ini tidak memberikan informasi yang mendetail tentang layanan IAM. Untuk dokumentasi lengkap IAM, lihat Apa yang Dimaksud dengan IAM? dalam Panduan Pengguna IAM. Untuk informasi tentang sintaksis dan penjelasan kebijakan IAM, lihat AWS Referensi Kebijakan IAM dalam Panduan Pengguna IAM.

Kebijakan yang terlampir pada identitas IAM disebut kebijakan (kebijakan IAM) berbasis identitas dan kebijakan yang dilampirkan pada sumber daya disebut kebijakan berbasis sumber daya. Amazon Redshift hanya mendukung kebijakan berbasis identitas (kebijakan IAM).

Kebijakan berbasis identitas (kebijakan IAM)

Anda dapat menetapkan izin dengan melampirkan kebijakan ke peran IAM 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 berbasis identitas (kebijakan IAM) untuk Amazon Redshift Untuk informasi lebih lanjut tentang pengguna, kelompok, peran, dan izin, lihat Identitas (Pengguna, Grup, dan Peran) dalam Panduan Pengguna IAM.

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 resource Amazon Redshift (lihatSumber daya dan operasi Amazon Redshift), layanan mendefinisikan satu set operasi API (lihat Tindakan). Untuk memberikan izin untuk operasi API ini, Amazon Redshift mendefinisikan serangkaian tindakan yang dapat Anda tentukan dalam kebijakan. Melakukan operasi API akan 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 diatur kebijakan. 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 kebijakan yang berbeda memberikan akses.

  • Principal – Dalam kebijakan berbasis identitas (Kebijakan IAM), pengguna yang kebijakannya terlampir adalah principal yang 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 kebijakan IAM, lihat referensi kebijakan AWS IAM di Panduan Pengguna IAM.

Untuk tabel yang menunjukkan semua tindakan Amazon Redshift API dan resource yang diterapkan, lihat. Amazon Redshift, Amazon Redshift Tanpa Server, Amazon Redshift Data API, dan izin akses editor kueri Amazon 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 kebijakan IAM JSON: Kondisi dalam Panduan Pengguna IAM.

Untuk mengidentifikasi kondisi di mana kebijakan izin berlaku, sertakan Condition elemen dalam kebijakan izin IAM 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. Lihat perinciannya di Menggunakan ketentuan kebijakan IAM untuk kontrol akses terperinci. Untuk daftar yang menampilkan semua nilai kunci kondisi dan tindakan serta sumber daya Amazon Redshift yang diterapkan, lihat. Amazon Redshift, Amazon Redshift Tanpa Server, Amazon Redshift Data API, dan izin akses editor kueri Amazon Redshift v2

Menggunakan ketentuan kebijakan IAM untuk kontrol akses terperinci

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 Pengguna IAM.

aws:ResourceTag

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

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 Pengguna IAM.

Untuk informasi tentang tag, lihatIkhtisar penandaan.

Untuk daftar tindakan API yang mendukung kunci redshift:RequestTag dan redshift:ResourceTag kondisi, lihatAmazon Redshift, Amazon Redshift Tanpa Server, Amazon Redshift Data API, dan izin akses editor kueri Amazon 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 kebijakan IAM berikut untuk mengizinkan pengguna memodifikasi klaster Amazon Redshift hanya untuk akun AWS tertentu di us-west-2 wilayah dengan tag environment bernama 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 kebijakan IAM berikut untuk mengizinkan pengguna membuat klaster Amazon Redshift hanya jika perintah untuk membuat klaster menyertakan tag usage bernama 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" ] } } } }