Mengelola akses ke resource lainnya

Halaman ini menjelaskan proses umum untuk memberikan, mengubah, dan mencabut akses ke resource yang menerima kebijakan izinkan.

Dalam Identity and Access Management (IAM), akses diberikan melalui kebijakan izin, yang juga dikenal sebagai kebijakan IAM. Kebijakan izinkan dilampirkan ke resource Google Cloud. Setiap kebijakan izinkan berisi kumpulan binding peran yang mengaitkan satu atau beberapa akun utama, seperti pengguna atau akun layanan, dengan peran IAM. Binding peran ini memberikan peran yang ditentukan kepada akun utama, baik pada resource yang dilampirkan oleh kebijakan yang diizinkan dan pada semua turunan resource tersebut. Untuk informasi selengkapnya tentang kebijakan izin, lihat Memahami kebijakan izin.

Halaman ini menjelaskan cara mengelola akses ke resource menggunakan Konsol Google Cloud, Google Cloud CLI, dan REST API. Anda juga dapat mengelola akses menggunakan library klien Google Cloud.

Sebelum memulai

Tinjau daftar jenis resource yang menerima kebijakan izinkan.

Izin yang diperlukan

Untuk mengelola akses ke resource, Anda memerlukan izin untuk mendapatkan resource, serta mendapatkan dan menetapkan kebijakan izinkan untuk resource tersebut. Izin ini memiliki bentuk berikut, dengan SERVICE merupakan nama layanan yang memiliki resource dan RESOURCE_TYPE merupakan nama jenis resource yang aksesnya ingin Anda kelola:

  • SERVICE.RESOURCE_TYPE.get
  • SERVICE.RESOURCE_TYPE.getIamPolicy
  • SERVICE.RESOURCE_TYPE.setIamPolicy

Misalnya, untuk mengelola akses ke instance Compute Engine, Anda memerlukan izin berikut:

  • compute.instances.get
  • compute.instances.getIamPolicy
  • compute.instances.setIamPolicy

Untuk mendapatkan izin yang diperlukan, minta administrator untuk memberi Anda peran khusus atau bawaan yang menyertakan izin tersebut. Misalnya, administrator dapat memberi Anda peran Admin Keamanan (roles/iam.securityAdmin), yang mencakup izin untuk mengelola akses ke hampir semua resource Google Cloud.

Lihat akses saat ini

Bagian berikut menunjukkan cara menggunakan Konsol Google Cloud, gcloud CLI, dan REST API untuk melihat siapa yang memiliki akses ke resource. Anda juga dapat melihat akses menggunakan library klien Google Cloud untuk mendapatkan kebijakan izinkan resource.

Konsol

  1. Di Konsol Google Cloud, buka halaman yang mencantumkan resource yang ingin Anda lihat aksesnya.

    Misalnya, untuk mengelola akses ke instance Compute Engine, buka halaman Instance VM.

    Buka instance VM

  2. Pilih kotak centang di samping resource yang ingin Anda lihat aksesnya.

  3. Pastikan panel info terlihat. Jika tidak terlihat, klik Tampilkan panel info. Tab izin panel info mencantumkan semua akun utama yang memiliki akses ke resource.

    Jika tombol Tampilkan izin yang diwarisi aktif, daftar akan mencakup akun utama dengan peran yang diwariskan; yaitu akun utama yang aksesnya berasal dari peran pada resource induk, bukan peran pada resource itu sendiri. Untuk informasi selengkapnya tentang pewarisan kebijakan, lihat Pewarisan kebijakan dan hierarki resource.

gcloud

Untuk melihat siapa yang memiliki akses ke resource Anda, dapatkan kebijakan izinkan untuk resource tersebut. Untuk mempelajari cara menafsirkan kebijakan izinkan, lihat Memahami kebijakan izinkan.

Guna mendapatkan kebijakan izinkan untuk resource, jalankan perintah get-iam-policy untuk resource tersebut.

Format untuk perintah ini bervariasi bergantung pada jenis resource yang Anda kelola aksesnya. Untuk menemukan format resource Anda, cari referensi untuk perintah get-iam-policy resource dalam referensi Google Cloud CLI. Referensi ini diatur berdasarkan layanan, kemudian resource. Misalnya, untuk mendapatkan kebijakan izin instance VM Compute Engine, ikuti format yang dijelaskan dalam referensi gcloud compute instances get-iam-policy.

Secara opsional, tambahkan argumen berikut ke perintah untuk menentukan format dan mengekspor hasilnya:

--format=FORMAT > PATH

Berikan nilai berikut:

  • FORMAT: Format yang diinginkan untuk kebijakan. Gunakan json atau yaml.
  • PATH: Jalur ke file output baru untuk kebijakan.

Saat Anda menjalankan perintah, kebijakan izinkan resource dicetak ke konsol atau diekspor ke file yang ditentukan.

REST

Untuk melihat siapa yang memiliki akses ke resource Anda, dapatkan kebijakan izinkan resource. Untuk mempelajari cara menafsirkan kebijakan izinkan, lihat Memahami kebijakan izinkan.

Untuk mendapatkan kebijakan izin resource, gunakan metode getIamPolicy resource.

Metode HTTP, URL, dan isi permintaan bergantung pada resource yang ingin Anda lihat aksesnya. Untuk menemukan detail ini, temukan referensi API untuk layanan yang memiliki resource, lalu temukan referensi untuk metode getIamPolicy resource. Misalnya, metode HTTP, URL, dan isi permintaan untuk instance Compute Engine ditentukan dalam referensi instance getIamPolicy.

Respons untuk metode resource getIamPolicy apa pun berisi kebijakan izin resource.

Memberikan atau mencabut peran tunggal

Anda dapat menggunakan Konsol Google Cloud dan gcloud CLI untuk memberikan atau mencabut peran tunggal dengan cepat untuk satu akun utama, tanpa mengedit kebijakan izin resource secara langsung. Jenis akun utama yang umum meliputi Akun Google, akun layanan, grup Google, dan domain. Untuk daftar semua jenis akun utama, lihat Konsep yang terkait dengan identitas.

Secara umum, perubahan kebijakan akan berlaku dalam waktu 2 menit. Namun, dalam beberapa kasus, diperlukan 7 menit atau lebih untuk mengubah seluruh penerapan pada sistem.

Jika Anda memerlukan bantuan untuk mengidentifikasi peran bawaan yang paling sesuai, lihat Memilih peran bawaan.

Memberikan peran tunggal

Untuk memberikan satu peran ke akun utama, lakukan hal berikut:

Konsol

  1. Di Konsol Google Cloud, buka halaman yang mencantumkan resource yang ingin Anda lihat aksesnya.

    Misalnya, untuk mengelola akses ke instance Compute Engine, buka halaman Instance VM.

    Buka instance VM

  2. Pilih kotak centang di samping resource yang ingin Anda kelola aksesnya.

  3. Pastikan panel info terlihat. Jika tidak terlihat, klik Tampilkan panel info.

  4. Pilih akun utama yang akan diberi peran:

    • Untuk memberikan peran kepada akun utama yang sudah memiliki peran lain pada resource, temukan baris yang berisi akun utama, klik Edit akun utama di baris tersebut, dan klik Tambahkan peran lain.

    • Untuk memberikan peran kepada akun utama yang belum memiliki peran lain pada resource, klik Tambahkan akun utama, lalu masukkan ID untuk akun utama—misalnya, my-user@example.com.

  5. Pilih peran yang akan diberikan dari menu drop-down. Untuk praktik keamanan terbaik, pilih peran yang hanya menyertakan izin yang diperlukan oleh akun utama Anda.

  6. Opsional: Tambahkan kondisi ke peran.

  7. Klik Simpan. Akun utama diberi peran pada resource.

gcloud

Untuk memberikan peran ke akun utama dengan cepat, jalankan perintah add-iam-policy-binding.

Format untuk perintah ini bervariasi bergantung pada jenis resource yang Anda kelola aksesnya. Untuk menemukan format resource Anda, cari referensi untuk perintah add-iam-policy-binding resource dalam referensi Google Cloud CLI. Referensi ini diatur berdasarkan layanan, kemudian resource. Misalnya, untuk memberikan peran kepada akun utama di instance Compute Engine, ikuti format yang dijelaskan dalam referensi gcloud compute instances add-iam-policy- binding.

Mencabut peran tunggal

Untuk mencabut peran tunggal dari akun utama, lakukan hal berikut:

Konsol

  1. Di Konsol Google Cloud, buka halaman yang mencantumkan resource yang ingin Anda cabut aksesnya.

    Misalnya, untuk mengelola akses ke instance Compute Engine, buka halaman Instance VM:

    Buka instance VM

  2. Pilih kotak centang di samping resource yang ingin Anda kelola aksesnya.

  3. Pastikan panel info terlihat. Jika tidak terlihat, klik Tampilkan panel info.

  4. Cari baris yang berisi akun utama yang aksesnya ingin Anda cabut. Kemudian, klik Edit akun utama di baris tersebut.

  5. Klik tombol Hapus untuk peran yang ingin Anda cabut, lalu klik Simpan.

gcloud

Untuk mencabut peran dari akun utama dengan cepat, jalankan perintah remove-iam-policy-binding.

Format untuk perintah ini bervariasi bergantung pada jenis resource yang Anda kelola aksesnya. Untuk menemukan format resource Anda, cari referensi untuk perintah remove-iam-policy-binding resource dalam referensi Google Cloud CLI. Referensi ini diatur berdasarkan layanan, kemudian resource. Misalnya, untuk memberikan peran kepada akun utama di instance Compute Engine, ikuti format yang dijelaskan dalam referensi gcloud compute instances remove-iam-policy-binding.

Memberikan atau mencabut beberapa peran menggunakan Konsol Google Cloud

Anda dapat menggunakan Konsol Google Cloud untuk memberikan dan mencabut beberapa peran untuk satu akun utama:

  1. Di Konsol Google Cloud, buka halaman yang mencantumkan resource yang ingin Anda lihat aksesnya.

    Misalnya, untuk mengelola akses ke instance Compute Engine, buka halaman Instance VM.

    Buka instance VM

  2. Pilih kotak centang di samping resource yang ingin Anda kelola aksesnya.

  3. Jika panel info tidak terlihat, klik Tampilkan panel info.

  4. Pilih akun utama yang perannya ingin Anda ubah:

    • Untuk mengubah peran akun utama yang sudah memiliki peran pada resource, temukan baris yang berisi akun utama, klik Edit akun utama di baris tersebut, lalu klik Tambahkan peran lain.

    • Untuk memberikan peran kepada akun utama yang tidak memiliki peran yang ada pada resource, klik Tambahkan akun utama, lalu masukkan ID untuk akun utama—misalnya, my-user@example.com.

  5. Ubah peran akun utama:

    • Untuk memberikan peran kepada akun utama yang tidak memiliki peran yang ada pada resource, klik Pilih peran, lalu pilih peran yang akan diberikan dari menu drop-down.
    • Untuk memberikan peran tambahan kepada akun utama, klik Tambahkan peran lain, lalu pilih peran yang akan diberikan dari menu drop-down.
    • Untuk mengganti salah satu peran utama dengan peran lain, klik peran yang ada, lalu pilih peran lain yang akan diberikan dari menu drop-down.
    • Untuk mencabut salah satu peran akun utama, klik tombol Hapus untuk setiap peran yang ingin dicabut.

    Anda juga dapat menambahkan kondisi ke peran, mengubah kondisi peran, atau menghapus kondisi peran.

  6. Klik Simpan.

Memberikan atau mencabut beberapa peran secara terprogram

Untuk membuat perubahan akses berskala besar yang melibatkan pemberian dan pencabutan beberapa peran untuk beberapa akun utama, gunakan pola baca-ubah-tulis untuk mengupdate kebijakan izin resource:

  1. Baca kebijakan izin saat ini dengan memanggil getIamPolicy().
  2. Edit kebijakan izin, baik dengan menggunakan editor teks atau secara terprogram, untuk menambahkan atau menghapus akun utama atau binding peran.
  3. Tulis kebijakan izinkan yang diperbarui dengan memanggil setIamPolicy().

Bagian ini menunjukkan cara menggunakan gcloud CLI dan REST API untuk memperbarui kebijakan izinkan. Anda juga dapat memperbarui kebijakan izinkan menggunakan library klien Google Cloud.

Secara umum, perubahan kebijakan akan berlaku dalam waktu 2 menit. Namun, dalam beberapa kasus, diperlukan 7 menit atau lebih untuk mengubah seluruh penerapan pada sistem.

Mendapatkan kebijakan izinkan saat ini

gcloud

Guna mendapatkan kebijakan izinkan untuk resource, jalankan perintah get-iam-policy untuk resource tersebut.

Format untuk perintah ini bervariasi bergantung pada jenis resource yang Anda kelola aksesnya. Untuk menemukan format resource Anda, cari referensi untuk perintah get-iam-policy resource dalam referensi Google Cloud CLI. Referensi ini diatur berdasarkan layanan, kemudian resource. Misalnya, untuk mendapatkan kebijakan izin instance VM Compute Engine, ikuti format yang dijelaskan dalam referensi gcloud compute instances get-iam-policy.

Secara opsional, tambahkan argumen berikut ke perintah untuk menentukan format dan mengekspor hasilnya:

--format=FORMAT > PATH

Berikan nilai berikut:

  • FORMAT: Format yang diinginkan untuk kebijakan izinkan. Gunakan json atau yaml.
  • PATH: Jalur ke file output baru untuk kebijakan izinkan.

Saat Anda menjalankan perintah, kebijakan izinkan resource dicetak ke konsol atau diekspor ke file yang ditentukan.

REST

Untuk mendapatkan kebijakan izin resource, gunakan metode getIamPolicy resource.

Metode HTTP, URL, dan isi permintaan bergantung pada resource yang ingin Anda lihat aksesnya. Untuk menemukan detail ini, temukan referensi API untuk layanan yang memiliki resource, lalu temukan referensi untuk metode getIamPolicy resource. Misalnya, metode HTTP, URL, dan isi permintaan untuk instance VM Compute Engine ditentukan dalam referensi getIamPolicy instance.

Respons untuk metode resource getIamPolicy apa pun berisi kebijakan izin resource. Simpan respons dalam file dengan jenis yang sesuai (json atau yaml).

Mengubah kebijakan izin

Secara terprogram atau menggunakan editor teks, ubah salinan lokal kebijakan izin resource Anda untuk mencerminkan peran yang ingin diberikan atau dicabut.

Untuk memastikan Anda tidak menimpa perubahan lain, jangan mengedit atau menghapus kolom kebijakan izin etag. Kolom etag mengidentifikasi status saat ini dari kebijakan izin. Saat Anda menetapkan kebijakan izin yang diperbarui, IAM akan membandingkan nilai etag dalam permintaan dengan etag yang sudah ada, dan hanya menulis kebijakan izin jika nilainya cocok.

Untuk mengedit peran yang diberikan oleh kebijakan izin, Anda perlu mengedit binding peran dalam kebijakan izin. Binding peran memiliki format berikut:

{
  "role": "ROLE_NAME",
  "members": [
    "PRINCIPAL_1",
    "PRINCIPAL_2",
    ...
    "PRINCIPAL_N"
  ],
  "conditions:" {
    CONDITIONS
  }
}

Placeholder memiliki nilai berikut:

  • ROLE_NAME: Nama peran yang ingin Anda berikan. Gunakan salah satu format berikut:

    • Peran bawaan: roles/SERVICE.IDENTIFIER
    • Peran khusus level project: projects/PROJECT_ID/roles/IDENTIFIER
    • Peran khusus tingkat organisasi: organizations/ORG_ID/roles/IDENTIFIER

    Untuk daftar peran bawaan, lihat Memahami peran.

  • PRINCIPAL_1, PRINCIPAL_2, ...PRINCIPAL_N: ID untuk akun utama yang ingin Anda berikan peran.

    ID utama biasanya memiliki bentuk berikut: PRINCIPAL-TYPE:ID. Contoh, user:my-user@example.com. Untuk daftar lengkap nilai yang dapat dimiliki PRINCIPAL, lihat ID utama.

    Untuk jenis akun utama user, nama domain dalam ID harus berupa domain Google Workspace atau domain Cloud Identity. Untuk mempelajari cara menyiapkan domain Cloud Identity, lihat ringkasan Cloud Identity.

  • CONDITIONS: Opsional. Semua kondisi yang menentukan kapan akses akan diberikan.

Memberikan peran

Untuk memberikan peran ke akun utama Anda, ubah binding peran dalam kebijakan izin. Untuk mempelajari peran yang dapat Anda berikan, lihat Memahami peran, atau melihat peran yang dapat diberikan ke resource tersebut. Jika Anda memerlukan bantuan untuk mengidentifikasi peran bawaan yang paling sesuai, lihat Memilih peran bawaan.

Secara opsional, Anda dapat menggunakan kondisi untuk memberikan peran hanya jika memenuhi persyaratan tertentu.

Untuk memberikan peran yang sudah disertakan dalam kebijakan izinkan, tambahkan akun utama ke binding peran yang ada:

gcloud

Edit kebijakan izin dengan menambahkan akun utama ke binding peran yang sudah ada. Perhatikan bahwa perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.

Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang memberikan peran Compute Instance Admin (roles/compute.instanceAdmin) ke Kai:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com"
  ]
}

Untuk memberikan peran yang sama kepada Raha, tambahkan ID akun utama Raha ke binding peran yang ada:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com",
    "user:raha@example.com"
  ]
}

REST

Edit kebijakan izin dengan menambahkan akun utama ke binding peran yang sudah ada. Perhatikan bahwa perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.

Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang memberikan peran Compute Instance Admin (roles/compute.instanceAdmin) ke Kai:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com"
  ]
}

Untuk memberikan peran yang sama kepada Raha, tambahkan ID akun utama Raha ke binding peran yang ada:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com",
    "user:raha@example.com"
  ]
}

Untuk memberikan peran yang belum disertakan dalam kebijakan izinkan, tambahkan binding peran baru:

gcloud

Edit kebijakan izinkan dengan menambahkan binding peran baru yang memberikan peran tersebut ke akun utama. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.

Misalnya, untuk memberikan peran Admin Load Balancer Compute (roles/compute.loadBalancerAdmin) ke Raha, tambahkan binding peran berikut ke array bindings untuk kebijakan izin:

{
  "role": "roles/compute.loadBalancerAdmin",
  "members": [
    "user:raha@example.com"
  ]
}

REST

Edit kebijakan izinkan dengan menambahkan binding peran baru yang memberikan peran tersebut ke akun utama. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.

Misalnya, untuk memberikan peran Admin Load Balancer Compute (roles/compute.loadBalancerAdmin) ke Raha, tambahkan binding peran berikut ke array bindings untuk kebijakan izin:

{
  "role": "roles/compute.loadBalancerAdmin",
  "members": [
    "user:raha@example.com"
  ]
}

Mencabut peran

Untuk mencabut peran, hapus akun utama dari binding peran. Jika tidak ada akun utama lain dalam binding peran, hapus seluruh binding peran.

gcloud

Cabut peran dengan mengedit kebijakan izin JSON atau YAML yang ditampilkan oleh perintah get-iam-policy. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izin yang diperbarui.

Untuk mencabut peran dari akun utama, hapus akun utama atau binding yang diinginkan dari array bindings untuk kebijakan izin.

REST

Cabut peran dengan mengedit kebijakan izin JSON atau YAML yang ditampilkan oleh perintah get-iam-policy. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izin yang diperbarui.

Untuk mencabut peran dari akun utama, hapus akun utama atau binding yang diinginkan dari array bindings untuk kebijakan izinkan.

Menetapkan kebijakan izin

Setelah Anda mengubah kebijakan izinkan untuk memberikan dan mencabut peran yang diinginkan, panggil setIamPolicy() untuk melakukan perubahan.

gcloud

Untuk menetapkan kebijakan izin untuk resource, jalankan perintah set-iam-policy untuk resource tersebut.

Format untuk perintah ini bervariasi bergantung pada jenis resource yang Anda kelola aksesnya. Untuk menemukan format resource Anda, cari referensi untuk perintah set-iam-policy resource dalam referensi Google Cloud CLI. Referensi ini diatur berdasarkan layanan, kemudian resource. Misalnya, untuk mendapatkan kebijakan izin instance VM Compute Engine, ikuti format yang dijelaskan dalam referensi gcloud compute instances set-iam-policy.

Respons untuk perintah set-iam-policy resource berisi kebijakan izinkan resource yang telah diperbarui.

REST

Untuk menetapkan kebijakan izinkan resource, gunakan metode setIamPolicy resource.

Metode HTTP, URL, dan isi permintaan bergantung pada resource yang ingin Anda lihat aksesnya. Untuk menemukan detail ini, temukan referensi API untuk layanan yang memiliki resource, lalu temukan referensi untuk metode setIamPolicy resource. Misalnya, metode HTTP, URL, dan isi permintaan untuk instance VM Compute Engine ditentukan dalam referensi instance setIamPolicy.

Respons untuk metode resource setIamPolicy berisi kebijakan izinkan yang telah diperbarui untuk resource.

Langkah selanjutnya

Coba sendiri

Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

Mulai secara gratis