Memberikan dan mencabut akses ke API

Mengontrol siapa yang memiliki akses ke API adalah bagian integral dari pengembangan. Misalnya, saat menguji API, Anda mungkin ingin mengotomatiskan deployment ulang konfigurasi Cloud Endpoints yang diperbarui menggunakan akun layanan yang memiliki izin untuk melakukannya. Secara default, hanya pemilik project yang dapat mengelola akses ke API. Halaman ini menunjukkan cara memberikan dan mencabut akses ke API Anda menggunakan Konsol Google Cloud atau Google Cloud CLI.

Endpoint menggunakan peran Identity and Access Management untuk memberikan dan mencabut akses di tingkat API. Anda dapat memberikan dan mencabut akses ke pengguna, akun layanan, atau ke Grup Google.

Grup Google merupakan cara mudah untuk memberikan atau mencabut akses ke kumpulan pengguna. Anda dapat memberikan atau mencabut akses untuk seluruh grup sekaligus, bukan memberikan atau mencabut akses satu per satu untuk setiap pengguna atau akun layanan. Anda juga dapat dengan mudah menambahkan anggota ke grup Google dan menghapus anggota dari Grup Google, bukan memberikan atau mencabut peran IAM untuk setiap anggota.

Memberikan akses

Konsol Google Cloud

  1. Di konsol Google Cloud, buka halaman Endpoints > Services untuk project Anda.

    Buka halaman Endpoints Services

  2. Jika Anda memiliki lebih dari satu API, klik nama API tersebut.
  3. Jika panel samping Izin tidak terbuka, klik Izin.
  4. Di kotak Tambahkan anggota, masukkan alamat email pengguna, akun layanan, atau Grup Google.
  5. Di drop-down Select a role, klik Service Management, lalu pilih salah satu peran berikut:
    • Service Consumer: Peran ini berisi izin bagi anggota non-project untuk melihat dan mengaktifkan API di project mereka sendiri. Jika Anda telah membuat portal untuk API, peran ini memungkinkan pengguna API mengakses portal.
    • Service Controller: Peran ini berisi izin untuk melakukan panggilan ke metode check dan report di Service Infrastructure API selama runtime.
    • Service Config Editor: Peran ini berisi izin minimum yang diperlukan Pengelolaan Layanan untuk men-deploy konfigurasi Endpoint ke layanan yang ada.
    • Administrator Pengelolaan Layanan: Peran ini berisi izin dalam peran Service Config Editor, Service Consumer, dan Service Controller, serta izin yang diperlukan untuk memberikan akses ke API ini menggunakan gcloud atau metode terprogram yang dijelaskan dalam Pemberian, perubahan, dan pencabutan akses ke resource.

    Lihat topik Kontrol akses Service Management API untuk mengetahui informasi tentang peran ini. Meskipun konsol Google Cloud memungkinkan Anda memilih peran lain, peran tersebut tidak berguna untuk mengelola API Anda.

  6. Untuk menambahkan anggota ke peran IAM yang ditentukan, klik Tambahkan.
  7. Ulangi penambahan anggota dan pemilihan peran, sesuai kebutuhan.
  8. Peran Pengelolaan Layanan tidak mengizinkan pengguna mengakses halaman Endpoints > Services di konsol Google Cloud. Jika Anda ingin pengguna dapat mengakses halaman Endpoints > Services, Anda harus memberi mereka peran Project Viewer atau peran yang lebih tinggi di project. Lihat Memberikan, mengubah, dan mencabut akses ke resource untuk mengetahui detailnya.

gcloud

  1. Buka Cloud Shell, atau jika Anda telah menginstal Google Cloud CLI, buka jendela terminal.
  2. Masukkan perintah gcloud yang berlaku:
    • Jika Anda memberikan akses kepada pengguna, jalankan perintah berikut:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='user:[EMAIL-ADDRESS]' \
        --role='[ROLE]'

      Untuk peran, tentukan salah satu peran IAM berikut:

      • roles/servicemanagement.configEditor: Peran ini berisi izin minimum yang diperlukan Pengelolaan Layanan untuk men-deploy konfigurasi Endpoint ke layanan yang ada.
      • roles/servicemanagement.admin: Peran ini berisi izin di roles/servicemanagement.configEditor, roles/servicemanagement.serviceConsumer, dan roles/servicemanagement.serviceController, serta izin yang diperlukan untuk memberikan akses ke API ini menggunakan gcloud atau metode terprogram yang dijelaskan dalam Memberikan, mengubah, dan mencabut akses ke resource.

      Contoh:

      gcloud endpoints services add-iam-policy-binding example-service-name \
        --member='user:example-user@gmail.com' \
        --role='roles/servicemanagement.admin'

    • Jika Anda memberikan akses ke akun layanan, jalankan perintah berikut:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='serviceAccount:[EMAIL-ADDRESS]' \
        --role='[ROLE]'

      Contoh:

      gcloud endpoints services add-iam-policy-binding example-service-name \
        --member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \
        --role='roles/servicemanagement.configEditor'

    • Jika Anda memberikan akses ke Google Grup, jalankan perintah berikut:
      gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
        --member='group:[GROUP-NAME]@googlegroups.com' \
        --role='[ROLE]'

      Contoh:

      gcloud endpoints services add-iam-policy-binding example-service-name \
        --member='group:example-group@googlegroups.com' \
        --role='roles/servicemanagement.configEditor'

  3. Peran Pengelolaan Layanan tidak mengizinkan pengguna mengakses halaman Endpoints > Services di konsol Google Cloud. Jika ingin pengguna dapat mengakses halaman Endpoints > Services, Anda harus memberi mereka peran Project Viewer atau peran yang lebih tinggi di project. Lihat Memberikan, mengubah, dan mencabut akses ke resource untuk mengetahui detailnya.

Mencabut akses

Untuk mencabut akses ke API Anda, hapus peran IAM dari anggota yang sebelumnya memiliki peran tersebut.

Konsol Google Cloud

  1. Di konsol Google Cloud, buka halaman Endpoints > Services untuk project Anda.

    Buka halaman Endpoints Services

  2. Jika Anda memiliki lebih dari satu API, klik nama API tersebut.
  3. Jika panel samping Izin tidak terbuka, klik Izin.
  4. Cari anggota yang aksesnya ingin Anda cabut. Anda dapat mengklik kartu Peran yang berlaku untuk melihat daftar anggota, atau memasukkan nama atau peran di kotak Telusuri anggota.
  5. Klik Hapus .
  6. Jika Anda juga ingin mencabut akses pengguna ke project Google Cloud, lihat Memberikan, mengubah, dan mencabut akses ke resource untuk mengetahui detailnya.

gcloud

  1. Buka Cloud Shell, atau, jika Anda telah menginstal gcloud CLI, buka jendela terminal.
  2. Masukkan perintah gcloud yang berlaku:
    • Jika Anda mencabut akses untuk pengguna, jalankan perintah berikut:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
        --member='user:[EMAIL-ADDRESS]' \
        --role='[ROLE-NAME]'

      Contoh:

      gcloud endpoints services remove-iam-policy-binding example-service-name \
        --member='user:example-user@gmail.com' \
        --role='roles/editor'
    • Jika Anda mencabut akses untuk akun layanan, jalankan perintah berikut:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
        --member='serviceAccount:[EMAIL-ADDRESS]' \
        --role='[ROLE-NAME]'

      Contoh:

      gcloud endpoints services remove-iam-policy-binding example-service-name \
        --member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \
        --role='roles/servicemanagement.configEditor'
    • Jika Anda mencabut akses untuk Google Grup, jalankan perintah berikut:
      gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
            --member='group:[GROUP-NAME]@googlegroups.com' \
            --role='[ROLE-NAME]'

      Contoh:

      gcloud endpoints services remove-iam-policy-binding example-service-name \
            --member='group:example-group@googlegroups.com' \
            --role='roles/viewer'
  3. Jika Anda juga ingin mencabut akses pengguna ke project Google Cloud, lihat Memberikan, mengubah, dan mencabut akses ke resource untuk mengetahui detailnya.

Langkah selanjutnya

Pelajari: