Memberikan dan mencabut akses ke API

Mengontrol siapa yang memiliki akses ke API merupakan bagian integral dari pengembangan. Misalnya, saat menguji API, Anda mungkin ingin mengotomatiskan deployment ulang konfigurasi Cloud Endpoints yang telah 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 level API. Anda dapat memberikan dan mencabut akses ke pengguna, akun layanan, atau ke Google Grup.

Google Grup adalah cara yang 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 pengguna individu atau akun layanan. Selain memberikan atau mencabut peran IAM untuk setiap anggota, Anda juga dapat menambahkan anggota ke dan menghapus anggota dari Google Grup dengan mudah.

Memberikan akses

Konsol Google Cloud

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

    Buka halaman Layanan Endpoint

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

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

  6. Untuk menambahkan anggota ke peran IAM yang ditentukan, klik Tambahkan.
  7. Ulangi langkah menambahkan anggota dan memilih peran, sesuai kebutuhan.
  8. Peran Pengelolaan Layanan tidak mengizinkan pengguna mengakses halaman Endpoint > Layanan di Konsol Google Cloud. Jika ingin agar pengguna dapat mengakses halaman Endpoint > Layanan, Anda harus memberi mereka peran Project Viewer atau peran yang lebih tinggi pada project. Lihat Memberikan, mengubah, dan mencabut akses ke resource untuk informasi selengkapnya.

gcloud

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

      Untuk peran tersebut, 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 dengan 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 tindakan 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 Endpoint > Layanan di Konsol Google Cloud. Agar pengguna dapat mengakses halaman Endpoint > Layanan, Anda harus memberi mereka peran Project Viewer atau peran yang lebih tinggi pada project. Lihat Memberikan, mengubah, dan mencabut akses ke resource untuk informasi selengkapnya.

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 Endpoint > Services untuk project Anda.

    Buka halaman Layanan Endpoint

  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 Role yang berlaku untuk melihat daftar anggota, atau memasukkan nama atau peran di kotak Search members.
  5. Klik Delete .
  6. Jika Anda juga ingin mencabut akses pengguna ke project Google Cloud, lihat Memberikan, mengubah, dan mencabut akses ke resource untuk detailnya.

gcloud

  1. Buka Cloud Shell, atau buka jendela terminal jika Anda sudah menginstal gcloud CLI.
  2. Masukkan perintah gcloud yang berlaku:
    • Jika Anda mencabut akses untuk pengguna, jalankan tindakan 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 tindakan 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 detailnya.

Langkah selanjutnya

Pelajari: