Kontrol akses dengan IAM

App Optimize API menggunakan Identity and Access Management (IAM) untuk mengontrol akses ke resource-nya, seperti laporan dan operasi. Dengan IAM, Anda dapat memberikan akses terperinci ke resource App Optimize API tertentu dan membantu mencegah akses yang tidak diinginkan ke resource lain.

Dokumen ini menjelaskan izin dan peran IAM yang berlaku untuk App Optimize API.

Ringkasan izin

Izin memungkinkan pengguna melakukan tindakan tertentu pada resource App Optimize API. Tabel berikut mencantumkan izin untuk App Optimize API:

Izin Deskripsi
appoptimize.operations.cancel Membatalkan operasi yang berjalan lama.
appoptimize.operations.delete Menghapus operasi yang berjalan lama.
appoptimize.operations.get Mendapatkan status operasi yang berjalan lama.
appoptimize.operations.list Mencantumkan operasi yang berjalan lama.
appoptimize.reports.create Membuat resource laporan App Optimize API.
appoptimize.reports.delete Menghapus resource laporan App Optimize API.
appoptimize.reports.get Membaca metadata konfigurasi resource laporan App Optimize API.
Tindakan ini tidak memberikan akses ke data laporan.
appoptimize.reports.getData Membaca data yang terdapat dalam laporan App Optimize API.
appoptimize.reports.list Mencantumkan resource laporan App Optimize API dalam project.

Peran yang telah ditetapkan

IAM menyediakan peran yang telah ditetapkan yang memberikan sekumpulan izin terkait. Peran berikut tersedia untuk App Optimize API:

Peran Judul Deskripsi
roles/appoptimize.admin Admin App Optimize Kontrol penuh atas laporan dan operasi App Optimize API.
roles/appoptimize.viewer Viewer App Optimize Akses baca ke metadata laporan, data laporan, dan operasi App Optimize API.

Memberikan peran IAM

Anda dapat memberikan peran IAM kepada principal menggunakan Google Cloud konsol atau Google Cloud CLI.

Konsol

  1. Di Google Cloud konsol, buka halaman IAM.

    Buka IAM

  2. Klik Berikan Akses.

  3. Di kolom Akun utama baru, masukkan alamat email principal yang akan diberi peran.

  4. Klik menu drop-down Pilih peran.

  5. Filter peran App Optimize dan pilih peran yang akan diberikan, seperti Admin App Optimize atau Viewer App Optimize.

  6. Klik Simpan.

gcloud

  1. Jika Anda belum melakukannya, instal dan inisialisasi Google Cloud CLI.

  2. Gunakan perintah gcloud projects add-iam-policy-binding untuk memberikan peran:

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="PRINCIPAL" \
        --role="ROLE_NAME"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project Anda. Google Cloud
    • PRINCIPAL: ID untuk principal, seperti user:my-user@example.com atau group:my-group@example.com. Lihat ID principal.
    • ROLE_NAME: peran yang akan diberikan, seperti roles/appoptimize.admin atau roles/appoptimize.viewer.

Misalnya, untuk memberikan peran Admin App Optimize kepada pengguna test-user@example.com di project my-appoptimize-project:

gcloud projects add-iam-policy-binding my-appoptimize-project \
    --member="user:test-user@example.com" \
    --role="roles/appoptimize.admin"

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Admin App Optimize

Admin App Optimize memberikan kontrol penuh atas resource App Optimize API, dan mencakup izin yang diberikan kepada Viewer App Optimize.

Nama peran Izin yang disertakan
roles/appoptimize.admin
  • appoptimize.operations.*
  • appoptimize.reports.*

Viewer App Optimize

Viewer App Optimize memberikan izin untuk membaca laporan App Optimize API, metadatanya, dan operasinya.

Nama peran Izin yang disertakan
roles/appoptimize.viewer
  • appoptimize.operations.get
  • appoptimize.operations.list
  • appoptimize.reports.get
  • appoptimize.reports.getData
  • appoptimize.reports.list

Izin untuk membuat laporan

Untuk membuat laporan, pengguna, akun layanan, atau principal lainnya harus memiliki:

  • Izin appoptimize.reports.create pada project tempat resource laporan akan dibuat. Izin ini disertakan dalam peran Admin App Optimize (roles/appoptimize.admin).

  • Izin billing.resourceCosts.get pada semua project yang berada dalam cakupan laporan. Izin ini diberikan oleh peran seperti Billing Account Viewer (roles/billing.viewer) atau Viewer dasar (roles/viewer).

  • Izin untuk mengakses sumber data yang tercakup dalam cakupan, dimensi, dan metrik laporan. App Optimize API memeriksa izin ini saat laporan dibuat. Peran yang memberikan akses sumber data ini mencakup:

    • Untuk metrik penggunaan CPU dan memori: Monitoring Viewer (roles/monitoring.viewer) pada resource yang dicakup.

    • Untuk cakupan dan dimensi aplikasi App Hub: App Management Viewer (roles/apphub.appManagementViewer) di project host App Hub aplikasi.

    Jika Anda membuat laporan tentang aplikasi App Hub, yang dapat terdiri dari beberapa project, Anda harus memiliki izin pemantauan dan penagihan yang diperlukan di semua project terkait aplikasi untuk membuat laporan.

Izin untuk membaca data laporan

Setelah laporan berhasil dibuat, principal hanya memerlukan izin appoptimize.reports.getData untuk membaca data yang dihasilkan. Izin ini dapat berada di project tempat laporan dibuat, atau di laporan itu sendiri, dan disertakan dalam peran Admin App Optimize dan Viewer App Optimize.

Langkah berikutnya