Mengelola akses ke akun layanan

Halaman ini menjelaskan cara memberikan, mengubah, dan mencabut akses akun utama ke satu akun layanan. Untuk mengelola akses akun utama ke semua akun layanan dalam project, folder, atau organisasi, kelola aksesnya di tingkat project, folder, atau organisasi.

Dalam Identity and Access Management (IAM), akses dikelola 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 perizinan, lihat Memahami kebijakan izin.

Akun layanan adalah resource yang dapat diakses oleh akun utama lain, dan akun utama yang dapat diberi akses ke resource lainnya. Halaman ini memperlakukan akun layanan sebagai resource dan menjelaskan cara memberikan akses kepada akun utama lain. Untuk mempelajari cara memberi akun layanan akses ke resource lain, lihat panduan berikut:

Halaman ini menjelaskan cara mengelola akses ke akun layanan menggunakan Google Cloud Console, Google Cloud CLI, dan REST API. Anda juga dapat mengelola akses menggunakan library klien IAM.

Sebelum memulai

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengelola akses ke akun layanan, minta administrator untuk memberi Anda Admin Akun Layanan (roles/iam.serviceAccountAdmin) peran IAM pada akun layanan atau project yang memiliki akun layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk mengelola akses ke akun layanan. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengelola akses ke akun layanan:

  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Lihat akses saat ini

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

Konsol

  1. Di konsol Google Cloud, buka halaman Akun Layanan.

    Buka Akun Layanan

  2. Pilih project.

  3. Klik alamat email akun layanan.

  4. Buka tab Izin. Bagian Principals dengan akses ke akun layanan ini mencantumkan semua akun utama yang telah diberi peran di akun layanan.

    Daftar ini mencakup akun utama yang aksesnya berasal dari peran yang diberikan pada resource induk. Untuk informasi selengkapnya mengenai pewarisan kebijakan, lihat Pewarisan kebijakan dan hierarki resource.

  5. Opsional: Untuk melihat pemberian peran untuk akun layanan yang dikelola Google, centang kotak Sertakan pemberian peran yang disediakan Google.

gcloud

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

Untuk mendapatkan kebijakan izinkan akun layanan, jalankan get-iam-policy perintah untuk akun layanan:

gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH

Berikan nilai berikut:

  • SA_ID: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, atau ID numerik unik akun layanan.

  • FORMAT: Format yang diinginkan untuk kebijakan. perizinan Gunakan json atau yaml.

  • PATH: Jalur ke file output baru untuk kebijakan.

Contohnya, perintah berikut mendapatkan kebijakan untuk akun layanan my-service-account dan menyimpannya ke direktori beranda Anda dalam format JSON:

gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json

REST

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

Metode serviceAccounts.getIamPolicy mendapatkan kebijakan izin akun layanan.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Google Cloud Anda Project ID adalah string alfanumerik, seperti my-project.
  • SA_ID: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, atau ID numerik unik akun layanan.

  • POLICY_VERSION: Versi kebijakan yang akan ditampilkan. Permintaan harus menentukan versi kebijakan terbaru, yaitu kebijakan versi 3. Lihat Menentukan versi kebijakan saat mendapatkan kebijakan untuk detailnya.

Metode HTTP dan URL:

POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy

Meminta isi JSON:

{
  "options": {
    "requestedPolicyVersion": POLICY_VERSION
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Respons berisi kebijakan izinkan akun layanan. Contoh:

{
  "version": 1,
  "etag": "BwWKmjvelug=",
  "bindings": [
    {
      "role": "roles/serviceAccountAdmin",
      "members": [
        "user:admin@example.com"
      ]
    }
  ]
}

Memberikan atau mencabut satu peran

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

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

Memberikan satu peran

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

Konsol

  1. Di konsol Google Cloud, buka halaman Akun Layanan.

    Buka Akun Layanan

  2. Pilih project.

  3. Klik alamat email akun layanan.

  4. Buka tab Izin dan temukan bagian Akun utama yang memiliki akses ke akun layanan ini.

  5. Pilih akun utama yang akan diberi peran:

    • Untuk memberikan peran kepada akun utama yang sudah memiliki peran lain di akun layanan, temukan baris yang berisi akun utama, lalu klik Edit akun utama di baris, lalu klik Tambahkan peran lain.

      Jika ingin memberikan peran ke akun layanan yang dikelola Google, Anda harus mencentang kotak Sertakan pemberian peran yang disediakan Google untuk melihat email.

    • Untuk memberikan peran kepada akun utama yang tidak memiliki peran apapun di akun layanan, klik Berikan akses, lalu masukkan alamat email akun utama atau ID lainnya.

  6. 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.

  7. Opsional: Tambahkan kondisi ke peran.

  8. Klik Save. akun utama diberi peran pada akun layanan.

gcloud

Untuk memberikan peran kepada akun utama dengan cepat, jalankan perintah add-iam-policy-binding:

gcloud iam service-accounts add-iam-policy-binding SA_ID \
    --member=PRINCIPAL --role=ROLE_NAME \
    --condition=CONDITION

Berikan nilai berikut:

  • SA_ID: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, atau ID numerik unik akun layanan.

  • PRINCIPAL: ID untuk akun utama, atau anggota, yang biasanya memiliki bentuk berikut: PRINCIPAL-TYPE:ID. Contohnya, user:my-user@example.com. Untuk daftar lengkap nilai yang dapat dimiliki PRINCIPAL, lihat referensi Pengikatan Kebijakan.

    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.

  • 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 yang telah ditetapkan, lihat Memahami peran.

  • CONDITION: Opsional. Kondisi yang akan ditambahkan ke binding peran. Untuk mengetahui informasi selengkapnya tentang kondisi, lihat ringkasan kondisi.

Misalnya, untuk memberikan peran Service Account User kepada pengguna my-user@example.com untuk akun layanan my-service-account@my-project.iam.gserviceaccount.com:

gcloud iam service-accounts add-iam-policy-binding my-service-account@my-project.iam.gserviceaccount.com \
    --member=user:my-user@example.com --role=roles/iam.serviceAccountUser

Mencabut peran tunggal

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

Konsol

  1. Di konsol Google Cloud, buka halaman Akun Layanan.

    Buka Akun Layanan

  2. Pilih project.

  3. Klik alamat email akun layanan.

  4. Buka tab Izin dan temukan bagian Akun utama yang memiliki akses ke akun layanan ini.

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

  6. Klik tombol Delete untuk peran yang ingin Anda cabut, lalu klik Save.

gcloud

Untuk mencabut peran dari pengguna dengan cepat, jalankan perintah remove-iam-policy-binding:

gcloud iam service-accounts remove-iam-policy-binding SA_ID \
    --member=PRINCIPAL --role=ROLE_NAME

Berikan nilai berikut:

  • SA_ID: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, atau ID numerik unik akun layanan.

  • PRINCIPAL: ID untuk akun utama, atau anggota, yang biasanya memiliki bentuk berikut: PRINCIPAL-TYPE:ID. Contohnya, user:my-user@example.com. Untuk daftar lengkap nilai yang dapat dimiliki PRINCIPAL, lihat referensi Pengikatan Kebijakan.

    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.

  • ROLE_NAME: Nama peran yang ingin Anda cabut. 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 yang telah ditetapkan, lihat Memahami peran.

Misalnya, untuk mencabut peran Penguna Akun Layanan dari pengguna my-user@example.com untuk akun layanan my-service-account@my-project.iam.gserviceaccount.com:

gcloud iam service-accounts remove-iam-policy-binding my-service-account@my-project.iam.gserviceaccount.com \
    --member=user:my-user@example.com --role=roles/iam.serviceAccountUser

Memberikan atau mencabut beberapa peran menggunakan Google Cloud Console

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

  1. Di konsol Google Cloud, buka halaman Akun Layanan.

    Buka Akun Layanan

  2. Pilih project.

  3. Klik alamat email akun layanan.

  4. Buka tab Izin dan temukan bagian Akun utama yang memiliki akses ke akun layanan ini.

  5. Pilih akun utama yang perannya ingin Anda ubah:

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

      Jika ingin mengubah peran untuk akun layanan yang dikelola Google, Anda harus mencentang kotak Include Google-provided rolegrants untuk melihat alamat emailnya.

    • Untuk memberikan beberapa peran kepada akun utama yang tidak memiliki peran apapun di akun layanan, klik Berikan akses, lalu masukkan alamat email akun utama atau ID lainnya.

  6. Mengubah 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.

  7. Klik Save.

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 read-modify-write untuk memperbarui kebijakan izinkan akun layanan:

  1. Baca kebijakan izinkan 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 mengupdate kebijakan izinkan menggunakan library klien IAM.

Mendapatkan kebijakan izinkan saat ini

gcloud

Untuk mendapatkan kebijakan izinkan akun layanan, jalankan get-iam-policy perintah untuk akun layanan:

gcloud iam service-accounts get-iam-policy SA_ID --format=FORMAT > PATH

Berikan nilai berikut:

  • SA_ID: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, atau ID numerik unik akun layanan.

  • FORMAT: Format yang diinginkan untuk kebijakan izinkan. Gunakan json atau yaml.

  • PATH: Jalur ke file output baru untuk kebijakan izin.

Contohnya, perintah berikut mendapatkan kebijakan izinkan untuk akun layanan my-service-account dan menyimpannya ke direktori utama Anda dalam format JSON:

gcloud iam service-accounts get-iam-policy my-service-account --format json > ~/policy.json

REST

Metode serviceAccounts.getIamPolicy mendapatkan kebijakan izin akun layanan.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Google Cloud Anda Project ID adalah string alfanumerik, seperti my-project.
  • SA_ID: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, atau ID numerik unik akun layanan.

  • POLICY_VERSION: Versi kebijakan yang akan ditampilkan. Permintaan harus menentukan versi kebijakan terbaru, yaitu kebijakan versi 3. Lihat Menentukan versi kebijakan saat mendapatkan kebijakan untuk detailnya.

Metode HTTP dan URL:

POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:getIamPolicy

Meminta isi JSON:

{
  "options": {
    "requestedPolicyVersion": POLICY_VERSION
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Respons berisi kebijakan izinkan akun layanan. Contoh:

{
  "version": 1,
  "etag": "BwWKmjvelug=",
  "bindings": [
    {
      "role": "roles/serviceAccountAdmin",
      "members": [
        "user:admin@example.com"
      ]
    }
  ]
}

Simpan respons dalam file dengan jenis yang sesuai (json atau yaml).

Mengubah kebijakan izinkan

Secara terprogram atau menggunakan editor teks, ubah salinan lokal kebijakan izin akun layanan Anda untuk mencerminkan peran yang ingin diberikan atau dicabut kepada pengguna tertentu.

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

Untuk mengedit peran yang diberikan oleh kebijakan izinkan, Anda perlu mengedit binding peran dalam kebijakan izinkan. 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 Referensi Pengikatan Kebijakan.

    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 conditions yang menentukan kapan akses akan diberikan.

Memberikan peran

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

Secara opsional, Anda dapat menggunakan conditions untuk memberikan peran hanya ketika persyaratan tertentu terpenuhi.

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. Catatan bahwa perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.

Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang memberikan peran Service Account User (roles/iam.serviceAccountUser) ke kai@example.com:

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

Untuk memberikan peran yang sama tersebut ke raha@example.com, tambahkan raha@example.com ke binding peran yang ada:

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

REST

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

Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang memberikan peran Service Account User (roles/iam.serviceAccountUser) ke kai@example.com:

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

Untuk memberikan peran yang sama tersebut ke raha@example.com, tambahkan raha@example.com ke binding peran yang ada:

{
  "role": "roles/iam.serviceAccountUser",
  "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 Service Account Token Creator (roles/iam.serviceAccountTokenCreator) ke raha@example.com, tambahkan binding peran berikut ke array bindings untuk kebijakan izinkan:

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

REST

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

Misalnya, untuk memberikan peran Service Account Token Creator (roles/iam.serviceAccountTokenCreator) ke raha@example.com, tambahkan binding peran berikut ke array bindings untuk kebijakan izinkan:

{
  "role": "roles/iam.serviceAccountTokenCreator",
  "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 dari kebijakan izinkan.

gcloud

Edit kebijakan izinkan dengan menghapus akun utama atau seluruh pengikatan peran. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.

Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang memberi kai@example.com dan raha@example.com peran Service Account User (roles/iam.serviceAccountUser):

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

Untuk mencabut peran dari kai@example.com, hapus kai@example.com dari binding peran:

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

Untuk mencabut peran dari kai@example.com dan raha@example.com, hapus binding peran dari kebijakan izinkan.

REST

Edit kebijakan izinkan dengan menghapus akun utama atau seluruh pengikatan peran. Perubahan ini tidak akan diterapkan hingga Anda menetapkan kebijakan izinkan yang diperbarui.

Misalnya, anggap kebijakan izinkan berisi binding peran berikut, yang memberi kai@example.com dan raha@example.com peran Service Account User (roles/iam.serviceAccountUser):

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

Untuk mencabut peran dari kai@example.com, hapus kai@example.com dari binding peran:

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

Untuk mencabut peran dari kai@example.com dan raha@example.com, hapus binding peran dari kebijakan izinkan.

Menetapkan kebijakan perizinan

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

gcloud

Untuk menetapkan kebijakan izinkan resource, jalankan perintah set-iam-policy untuk akun layanan:

gcloud iam service-accounts set-iam-policy SA_ID PATH

Berikan nilai berikut:

  • SA_ID: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, atau ID numerik unik akun layanan.

  • PATH: Jalur ke file yang berisi kebijakan izin baru.

Respons berisi kebijakan izin yang diperbarui.

Misalnya, perintah berikut menetapkan kebijakan izinkan yang disimpan di policy.json sebagai kebijakan izinkan untuk akun layanan my-service-account@my-project.iam.gserviceaccount.com:

gcloud iam service-accounts set-iam-policy my-service-account@my-project.iam.gserviceaccount.com \
    ~/policy.json

REST

Metode serviceAccounts.setIamPolicy menetapkan kebijakan izin yang diupdate untuk akun layanan.

Sebelum menggunakan salah satu dari data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: Project ID Google Cloud Anda Project ID adalah string alfanumerik, seperti my-project.
  • SA_ID: ID akun layanan Anda. Ini dapat berupa alamat email akun layanan dalam format SA_NAME@PROJECT_ID.iam.gserviceaccount.com, atau ID numerik unik akun layanan.

  • POLICY: Representasi JSON dari kebijakan yang ingin Anda tetapkan. Untuk informasi selengkapnya mengenai format kebijakan, lihat Referensi kebijakan.

    Misalnya, untuk menetapkan kebijakan izin yang ditunjukkan di langkah sebelumnya, ganti policy dengan kode berikut:

    {
      "version": 1,
      "etag": "BwUqLaVeua8=",
      "bindings": [
        {
          "role": "roles/iam.serviceAccountUser",
          "members": [
            "user:robin@example.com"
          ]
        },
        {
          "role": "roles/serviceAccountAdmin",
          "members": [
            "user:admin@example.com"
          ]
        }
      ]
    }

Metode HTTP dan URL:

POST https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts/SA_ID:setIamPolicy

Meminta isi JSON:

{
  "policy": POLICY
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Respons berisi kebijakan izin yang telah diperbarui.

Langkah selanjutnya

Cobalah 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