App Engine Admin API menggunakan Identity and Access Management (IAM) untuk kontrol akses.
Kontrol akses di App Engine Admin API dapat dikonfigurasi di level project. Akses ke project Google Cloud dan resource di dalamnya dapat diberikan ke akun pengguna, domain, grup, atau akun layanan. Contoh:
- Berikan akses ke semua resource dalam project kepada pengguna perorangan atau akun layanan.
- Berikan akses sebagian ke resource dalam project. Misalnya, akses hanya baca ke resource, atau kemampuan untuk men-deploy versi baru, tetapi tidak untuk mengonfigurasi traffic ke versi tersebut.
Untuk mengetahui deskripsi mendetail tentang IAM dan fitur-fiturnya, lihat dokumentasi IAM.
Setiap metode Admin API mengharuskan pemanggil memiliki izin yang diperlukan. Lihat bagian berikut untuk mengetahui daftar semua izin dan peran yang didukung Admin API.
Izin dan peran
Bagian ini merangkum izin dan peran yang didukung Admin API.
Untuk mengetahui detail tentang peran App Engine, lihat Kontrol Akses App Engine.
Izin yang diperlukan
Tabel berikut mencantumkan izin yang harus dimiliki pemanggil untuk memanggil setiap metode:
Metode | Izin yang Diperlukan |
---|---|
apps.create |
appengine.applications.create pada resource Application yang diminta. |
apps.get |
appengine.applications.get pada resource Application yang diminta. |
apps.patch |
appengine.applications.update pada resource Application yang diminta. |
apps.repair |
appengine.applications.update pada resource Application yang diminta. |
apps.authorizedCertificates.create |
appengine.applications.update pada resource Application yang diminta. |
apps.authorizedCertificates.delete |
appengine.applications.update pada resource Application yang diminta. |
apps.authorizedCertificates.get |
appengine.applications.get pada resource Application yang diminta. |
apps.authorizedCertificates.list |
appengine.applications.get pada resource Application yang diminta. |
apps.authorizedCertificates.patch |
appengine.applications.update pada resource Application yang diminta. |
apps.authorizedDomains.list |
appengine.applications.get pada resource Application yang diminta. |
apps.domainMappings.create |
appengine.applications.update pada resource Application yang diminta. |
apps.domainMappings.delete |
appengine.applications.update pada resource Application yang diminta. |
apps.domainMappings.get |
appengine.applications.get pada resource Application yang diminta. |
apps.domainMappings.list |
appengine.applications.get pada resource Application yang diminta. |
apps.domainMappings.patch |
appengine.applications.update pada resource Application yang diminta. |
apps.locations.get |
appengine.applications.get pada resource Application yang diminta. |
apps.locations.list |
appengine.applications.get pada resource Application yang diminta. |
apps.operations.get |
appengine.applications.get pada resource Application yang diminta. |
apps.operations.list |
appengine.applications.get pada resource Application yang diminta. |
apps.services.delete |
appengine.services.delete pada resource Service yang diminta. |
apps.services.get |
appengine.services.get pada resource Service yang diminta. |
apps.services.list |
appengine.services.list pada resource Application yang diminta. |
apps.services.patch |
appengine.services.update pada resource Service yang diminta. |
apps.services.versions.create |
appengine.versions.create pada resource Service yang diminta. |
apps.services.versions.delete |
appengine.versions.delete pada resource Version yang diminta. |
apps.services.versions.get |
appengine.versions.get pada resource Version yang diminta. |
apps.services.versions.list |
appengine.versions.list pada resource Service yang diminta. |
apps.services.versions.patch |
appengine.versions.update pada resource Version yang diminta. |
apps.services.versions.instances.debug |
appengine.instances.enableDebug pada resource Instance yang diminta. |
apps.services.versions.instances.delete |
appengine.instances.delete pada resource Instance yang diminta. |
apps.services.versions.instances.get |
appengine.instances.get pada resource Instance yang diminta. |
apps.services.versions.instances.list |
appengine.instances.list pada resource Version yang diminta. |
Peran
Tabel berikut mencantumkan peran IAM App Engine Admin API beserta daftar semua izin yang disertakan dalam setiap peran. Perhatikan bahwa setiap izin berlaku untuk jenis resource tertentu.
Peran | Menyertakan izin |
---|---|
App Engine Admin
Akses Baca/Tulis/Ubah ke semua konfigurasi dan setelan aplikasi. |
appengine.applications.disable
|
appengine.applications.get | |
appengine.applications.update | |
appengine.instances.delete | |
appengine.instances.enableDebug | |
appengine.instances.get | |
appengine.instances.list | |
appengine.instances.update
|
|
appengine.operations.cancel
|
|
appengine.operations.delete
|
|
appengine.operations.get | |
appengine.operations.list | |
appengine.runtimes.actAsAdmin
|
|
appengine.services.delete | |
appengine.services.get | |
appengine.services.list | |
appengine.services.update | |
appengine.versions.create | |
appengine.versions.delete | |
appengine.versions.get | |
appengine.versions.list | |
appengine.versions.update | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
App Engine Deployer
Akses hanya baca ke semua konfigurasi dan setelan aplikasi. Akses tulis hanya untuk membuat versi baru; tidak dapat memodifikasi versi yang ada selain menghapus versi yang tidak menerima traffic. Tidak dapat mengonfigurasi traffic ke versi tertentu. |
appengine.applications.get |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.create
|
|
appengine.services.get | |
appengine.services.list | |
appengine.versions.create | |
appengine.versions.delete | |
appengine.versions.get | |
appengine.versions.list | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
Admin Layanan App Engine
Akses hanya baca ke semua konfigurasi dan setelan aplikasi. Akses tulis ke setelan tingkat layanan dan tingkat versi, termasuk konfigurasi traffic. Tidak dapat men-deploy versi aplikasi. |
appengine.applications.get |
appengine.instances.delete | |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.delete | |
appengine.services.get | |
appengine.services.list | |
appengine.services.update | |
appengine.versions.delete | |
appengine.versions.get | |
appengine.versions.list | |
appengine.versions.update | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
App Engine Viewer
Akses hanya baca ke semua konfigurasi dan setelan aplikasi. |
appengine.applications.get |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.get | |
appengine.services.list | |
appengine.versions.get | |
appengine.versions.list | |
resourcemanager.projects.get | |
resourcemanager.projects.list | |
Penampil Kode App Engine
Akses hanya baca ke semua konfigurasi dan setelan aplikasi, dan ke kode sumber yang di-deploy. |
appengine.applications.get |
appengine.instances.get | |
appengine.instances.list | |
appengine.operations.get | |
appengine.operations.list | |
appengine.services.get | |
appengine.services.list | |
appengine.versions.get | |
appengine.versions.getFileContents | |
appengine.versions.list | |
resourcemanager.projects.get | |
resourcemanager.projects.list |
Perhatikan bahwa peran roles/owner
, roles/editor
, dan roles/viewer
juga mencakup izin untuk layanan Google Cloud lainnya. Untuk mengetahui informasi selengkapnya tentang peran dasar ini, lihat Kontrol Akses.
Izin tidak tersedia untuk peran khusus
Jika ingin mengonfigurasi akses di luar peran IAM yang telah ditetapkan, Anda dapat membuat peran khusus. Namun, izin berikut tidak tersedia untuk peran khusus:
appengine.applications.disable
appengine.applications.list
appengine.instances.update
appengine.operations.cancel
appengine.operations.delete
appengine.services.create
Izin ini tidak diperlukan untuk semua operasi.
Mengontrol akses melalui Konsol Google Cloud
Anda dapat menggunakan Konsol Google Cloud untuk mengelola kontrol akses ke project Google Cloud Anda.
Menetapkan kontrol akses tingkat project
Untuk memberikan akses kepada akun utama ke project Google Cloud dan resource-nya, lihat Memberikan, Mengubah, dan Mencabut Akses.
Menetapkan kontrol akses akun layanan
Anda dapat membuat akun layanan di project Google Cloud untuk memberi aplikasi Anda akses terprogram ke layanan Google Cloud. Misalnya, gunakan akun layanan untuk mengizinkan satu project Google Cloud mengirim permintaan HTTP dengan App Engine Admin API ke project Google Cloud lainnya.
Untuk membuat akun layanan dan memberikan akses, lihat topik IAM berikut: