Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM - Amazon Aurora

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

Membuat dan menggunakan kebijakan IAM untuk akses basis data IAM

Untuk memungkinkan pengguna atau peran terhubung ke klaster DB, Anda harus membuat kebijakan IAM. Setelah itu, lampirkan kebijakan tersebut ke set izin atau peran.

catatan

Untuk mempelajari selengkapnya tentang kebijakan IAM, lihat Manajemen identitas dan akses untuk Aurora.

Contoh kebijakan berikut memungkinkan pengguna terhubung ke klaster DB menggunakan autentikasi basis data IAM.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:cluster-ABCDEFGHIJKL01234/db_user" ] } ] }
penting

Pengguna dengan izin administrator dapat mengakses klaster DB tanpa izin eksplisit dalam kebijakan IAM. Jika Anda ingin membatasi akses administrator ke klaster DB, Anda dapat membuat peran IAM yang dengan izin istimewa yang sesuai dan menetapkannya ke administrator.

catatan

Jangan samakan awalan rds-db: dengan awalan operasi API RDS lain yang diawali dengan rds:. Anda menggunakan awalan rds-db: dan tindakan rds-db:connect hanya untuk autentikasi basis data IAM. Hal ini tidak berlaku dalam konteks lainnya.

Contoh kebijakan ini mencakup satu pernyataan dengan elemen berikut:

  • Effect – Tentukan Allow untuk memberikan akses ke klaster DB. Jika Anda tidak secara eksplisit mengizinkan akses, maka akses ditolak secara default.

  • Action – Tentukan rds-db:connect untuk mengizinkan koneksi ke klaster DB.

  • Resource – Tentukan Amazon Resource Name (ARN) yang menjelaskan satu akun basis data dalam satu klaster DB. Format ARN adalah sebagai berikut.

    arn:aws:rds-db:region:account-id:dbuser:DbClusterResourceId/db-user-name

    Dalam format ini, ganti hal berikut:

    • regionadalah AWS Region untuk cluster DB. Dalam contoh kebijakan, AWS Wilayah adalahus-east-2.

    • account-idadalah nomor AWS akun untuk cluster DB. Dalam contoh kebijakan, nomor akun adalah 1234567890. Pengguna harus berada di akun yang sama dengan akun untuk klaster DB.

      Untuk melakukan akses lintas akun, buat peran IAM dengan kebijakan yang ditunjukkan di atas di akun untuk klaster DB dan izinkan akun Anda yang lain untuk mengambil peran tersebut.

    • DbClusterResourceId adalah pengidentifikasi untuk klaster DB. Pengenal ini unik untuk AWS Wilayah dan tidak pernah berubah. Dalam contoh kebijakan, pengidentifikasi adalah cluster-ABCDEFGHIJKL01234.

      Untuk menemukan ID sumber daya cluster DB di Amazon Aurora Amazon, pilih cluster instans untuk melihat detailnya. AWS Management Console Kemudian, pilih tab Konfigurasi. ID Sumber Daya ditampilkan di bagian Konfigurasi.

      Atau, Anda dapat menggunakan AWS CLI perintah untuk mencantumkan pengenal dan sumber daya IDs untuk semua cluster DB Anda di AWS Wilayah saat ini, seperti yang ditunjukkan berikut.

      aws rds describe-db-clusters --query "DBClusters[*].[DBClusterIdentifier,DbClusterResourceId]"
      catatan

      Jika Anda terhubung ke basis data melalui Proksi RDS, tentukan ID sumber daya proksi, seperti prx-ABCDEFGHIJKL01234. Untuk informasi tentang menggunakan autentikasi basis data IAM dengan Proksi RDS, lihat Terhubung ke sebuah proksi menggunakan autentikasi IAM.

    • db-user-name adalah nama akun basis data untuk dikaitkan dengan autentikasi IAM. Dalam contoh kebijakan, akun basis data adalah db_user.

Anda dapat membangun yang lain ARNs untuk mendukung berbagai pola akses. Kebijakan berikut memungkinkan akses ke dua akun basis data yang berbeda dalam klaster DB.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/jane_doe", "arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/mary_roe" ] } ] }

Kebijakan berikut menggunakan karakter “*” untuk mencocokkan semua cluster DB dan akun database untuk AWS akun dan AWS Wilayah tertentu.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:1234567890:dbuser:*/*" ] } ] }

Kebijakan berikut cocok dengan semua cluster DB untuk AWS akun dan AWS Wilayah tertentu. Namun, kebijakan ini hanya memberikan akses ke klaster DB yang memiliki akun basis data jane_doe.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:us-east-2:123456789012:dbuser:*/jane_doe" ] } ] }

Pengguna atau peran hanya memiliki akses ke basis data yang aksesnya dimiliki oleh pengguna basis data tersebut. Misalnya, anggaplah klaster DB Anda memiliki basis data bernama dev, dan basis data lain bernama uji. Jika pengguna basis data jane_doe hanya memiliki akses ke dev, setiap pengguna atau peran yang mengakses klaster DB tersebut dengan pengguna jane_doe juga hanya akan memiliki akses ke dev. Pembatasan akses ini juga berlaku untuk objek basis data lain, seperti tabel, tampilan, dan sebagainya.

Administrator harus membuat kebijakan IAM yang memberikan izin pada entitas untuk melakukan operasi API tertentu pada sumber daya yang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke set izin atau peran yang memerlukan izin tersebut. Untuk contoh kebijakan, lihat .

Melampirkan kebijakan IAM ke set izin atau peran

Setelah membuat kebijakan IAM untuk memungkinkan autentikasi basis data, Anda perlu melampirkan kebijakan tersebut ke set izin atau peran. Untuk tutorial tentang topik ini, lihat Buat dan lampirkan kebijakan yang dikelola pelanggan pertama Anda dalam Panduan Pengguna IAM.

Saat mengikuti tutorial ini, Anda dapat menggunakan salah satu contoh kebijakan yang ditunjukkan dalam bagian ini sebagai titik awal dan menyesuaikannya dengan kebutuhan Anda. Di akhir tutorial, Anda akan memiliki set izin dengan kebijakan terlampir yang dapat menggunakan tindakan rds-db:connect.

catatan

Anda dapat memetakan beberapa set izin atau peran ke akun pengguna basis data yang sama. Misalnya, anggaplah kebijakan IAM Anda telah menentukan ARN sumber daya berikut.

arn:aws:rds-db:us-east-2:123456789012:dbuser:cluster-12ABC34DEFG5HIJ6KLMNOP78QR/jane_doe

Jika Anda melampirkan kebijakan ke Jane, Bob, dan Diego, maka masing-masing pengguna tersebut dapat terhubung ke instans DB yang telah ditentukan menggunakan akun basis data jane_doe.