Peran menentukan layanan dan tindakan yang tersedia untuk akun pengguna atau akun layanan. Jenis peran berikut memberikan akses ke App Engine:
Peran dasar yang berlaku untuk semua layanan dan resource dalam suatu project, termasuk tapi tidak terbatas pada App Engine. Misalnya, akun dengan peran Editor dapat mengubah setelan App Engine dan setelan Cloud Storage.
Peran bawaan App Engine, yang menyediakan akses terperinci ke App Engine. Setiap layanan dalam project Google Cloud Anda menyediakan peran bawaannya sendiri. Misalnya, akun yang hanya memiliki peran App Engine Deployer dapat men-deploy aplikasi App Engine, tetapi tidak dapat melihat atau membuat objek di Cloud Storage. Akun tersebut juga memerlukan peran bawaan Cloud Storage tertentu untuk membuat atau melihat objek di Cloud Storage.
Peran khusus, yang memberikan akses terperinci sesuai dengan daftar izin yang Anda tentukan.
Anda dapat menggunakan peran dasar saat mengerjakan project kecil yang memiliki kebutuhan yang tidak terlalu kompleks. Untuk kontrol akses yang lebih disesuaikan, gunakan peran bawaan.
Peran dasar
Peran dasar berlaku untuk semua layanan dan resource dalam sebuah project. Misalnya, akun dalam peran Editor dapat mengubah setelan App Engine dan setelan Cloud Storage.
Peran | Izin konsol Google Cloud | Izin alat |
---|---|---|
Owner |
Diperlukan untuk membuat aplikasi App Engine. Semua hak istimewa pelihat dan editor, serta kemampuan untuk melihat kode sumber yang di-deploy, mengundang pengguna, mengubah peran pengguna, dan menghapus aplikasi. | Diperlukan untuk membuat aplikasi App Engine. Juga dapat men-deploy kode aplikasi dan mengupdate semua konfigurasi. |
Editor |
Melihat informasi aplikasi dan mengedit setelan aplikasi. | Men-deploy kode aplikasi, mengupdate indeks/antrean/cron. |
Viewer |
Lihat informasi aplikasi. | Log permintaan |
Peran bawaan App Engine
Role | Permissions |
---|---|
App Engine Admin( Read/Write/Modify access to all application configuration and settings. To deploy new versions, a principal must have the
Service Account User
( Lowest-level resources where you can grant this role:
|
|
App Engine Creator( Ability to create the App Engine resource for the project. Lowest-level resources where you can grant this role:
|
|
App Engine Viewer( Read-only access to all application configuration and settings. Lowest-level resources where you can grant this role:
|
|
App Engine Code Viewer( Read-only access to all application configuration, settings, and deployed source code. Lowest-level resources where you can grant this role:
|
|
App Engine Managed VM Debug Access( Ability to read or manage v2 instances. |
|
App Engine Deployer( Read-only access to all application configuration and settings. To deploy new versions, you must also have the
Service Account User
( Cannot modify existing versions other than deleting versions that are not receiving traffic. Lowest-level resources where you can grant this role:
|
|
App Engine Memcache Data Admin( Can get, set, delete, and flush App Engine Memcache items. |
|
App Engine Service Admin( Read-only access to all application configuration and settings. Write access to module-level and version-level settings. Cannot deploy a new version. Lowest-level resources where you can grant this role:
|
|
Peran bawaan untuk App Engine memberi Anda opsi yang lebih terperinci untuk kontrol akses.
Peran ini hanya memberikan akses ke App Engine. Jika project Anda menyertakan layanan lain, seperti Cloud Storage atau Cloud SQL, Anda harus menetapkan peran tambahan untuk mengaktifkan akses ke layanan lain.
Perbandingan peran bawaan App Engine
Tabel berikut memberikan perbandingan lengkap dari kemampuan setiap peran bawaan App Engine.
Kemampuan | App Engine Admin | App Engine Service Admin | App Engine Deployer | App Engine Viewer | App Engine Code Viewer |
---|---|---|---|---|---|
Membuat daftar dari semua layanan, versi, dan instance | Ya | Ya | Ya | Ya | Ya |
Melihat semua setelan aplikasi, layanan, versi, dan instance | Ya | Ya | Ya | Ya | Ya |
Melihat metrik runtime seperti penggunaan resource, informasi pemuatan, dan informasi error | Ya | Ya | Ya | Ya | Ya |
Melihat kode sumber aplikasi | Tidak | Tidak | Tidak | Tidak | Ya |
Men-deploy versi baru aplikasi | Ya, jika Anda juga memberikan peran Service Account User | Tidak | Ya, jika Anda juga memberikan peran Service Account User | Tidak | Tidak |
Memisahkan atau memigrasikan traffic | Ya | Ya | Tidak*** | Tidak | Tidak |
Memulai dan menghentikan versi | Ya | Ya | Tidak | Tidak | Tidak |
Menghapus versi | Ya | Ya | Ya | Tidak | Tidak |
Menghapus seluruh layanan | Ya | Ya | Tidak | Tidak | Tidak |
Menggunakan SSH untuk terhubung ke instance VM di lingkungan yang fleksibel | Ya | Tidak | Tidak | Tidak | Tidak |
Menonaktifkan instance | Ya | Tidak | Tidak | Tidak | Tidak |
Menonaktifkan dan mengaktifkan kembali aplikasi App Engine | Ya | Tidak | Tidak | Tidak | Tidak |
Pengendali akses yang memiliki pembatasan login:admin (khusus runtime generasi pertama) | Ya | Tidak | Tidak | Tidak | Tidak |
Memperbarui aturan dispatch | Ya | Tidak | Tidak | Tidak | Tidak |
Memperbarui setelan DoS | Ya | Tidak | Tidak | Tidak | Tidak |
Memperbarui jadwal cron | Tidak | Tidak | Tidak | Tidak | Tidak |
Memperbarui masa berlaku cookie default | Ya | Tidak | Tidak | Tidak | Tidak |
Memperbarui perujuk | Ya | Tidak | Tidak | Tidak | Tidak |
Memperbarui Pengirim Resmi Email API | Ya | Tidak | Tidak | Tidak | Tidak |
Untuk mengetahui detail tentang izin IAM tertentu yang diberikan oleh setiap peran, lihat bagian Peran Admin API.
Peran yang direkomendasikan untuk deployment aplikasi
Untuk akun yang hanya bertanggung jawab men-deploy versi baru aplikasi, sebaiknya berikan peran berikut:
- Peran App Engine Deployer (
roles/appengine.deployer
) Peran Service Account User (
roles/iam.serviceAccountUser
)Peran Service Account User memungkinkan akun meniru identitas akun layanan App Engine default selama proses deployment-nya.
Jika akun menggunakan perintah
gcloud
untuk melakukan deployment, tambahkan juga peran berikut:- Storage Object Admin (
roles/storage.objectAdmin
) - Cloud Build Editor (
roles/cloudbuild.builds.editor
)
- Storage Object Admin (
Untuk mengetahui detail tentang cara memberikan izin yang diperlukan, lihat Membuat akun pengguna.
Pemisahan tugas deployment dan pemilihan rute traffic
Banyak organisasi lebih suka memisahkan tugas men-deploy versi aplikasi dari tugas meningkatkan traffic ke versi yang baru dibuat, dan agar tugas ini dilakukan oleh fungsi tugas yang berbeda. Peran App Engine Deployer dan App Engine Admin Service menyediakan pemisahan ini:
- Peran App Engine Deployer plus Service Account User - Akun dibatasi untuk men-deploy versi baru dan menghapus versi lama yang tidak menyalurkan traffic. Akun dengan peran ini tidak akan dapat mengonfigurasi traffic ke versi apa pun, dan juga tidak dapat mengubah setelan tingkat aplikasi seperti aturan dispatch atau domain autentikasi.
- Peran App Engine Service Admin - Akun tidak dapat men-deploy versi baru aplikasi atau mengubah setelan tingkat aplikasi. Namun, akun tersebut memiliki hak istimewa untuk mengubah properti layanan dan versi yang ada, termasuk mengubah versi yang dapat menyalurkan traffic. Peran App Engine Service Admin cocok untuk departemen IT/Operasi yang menangani peningkatan traffic ke versi yang baru di-deploy.
Batasan peran bawaan
Peran bawaan App Engine tidak memberikan akses ke hal berikut:
- Melihat dan mendownload log aplikasi.
- Melihat diagram Monitoring di konsol Google Cloud.
- Mengaktifkan dan Menonaktifkan penagihan.
- Jalankan pemindaian keamanan di Cloud Security Scanner.
- Mengakses konfigurasi atau data yang disimpan di Datastore, Task Queues, Cloud Search, atau produk penyimpanan Cloud Platform lainnya.