Zugriffssteuerung mit IAM

Die App Optimize API verwendet Identity and Access Management (IAM), um den Zugriff auf ihre Ressourcen wie Berichte und Vorgänge zu steuern. Mit IAM können Sie detaillierte Zugriffsberechtigungen auf bestimmte Ressourcen der App Optimize API gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern.

In diesem Dokument werden die IAM-Berechtigungen und -Rollen beschrieben, die für die App Optimize API gelten.

Übersicht über Berechtigungen

Mit Berechtigungen werden Nutzer autorisiert, bestimmte Aktionen für Ressourcen der App Optimize API durchzuführen. In der folgenden Tabelle sind die Berechtigungen für die App Optimize API aufgeführt:

Berechtigung Beschreibung
appoptimize.operations.cancel Einen lange laufenden Vorgang abbrechen.
appoptimize.operations.delete Einen Vorgang mit langer Ausführungszeit löschen.
appoptimize.operations.get Den Status eines Vorgangs mit langer Ausführungszeit abrufen.
appoptimize.operations.list Lange laufende Vorgänge auflisten.
appoptimize.reports.create Eine Berichtressource für die App Optimize API erstellen.
appoptimize.reports.delete Eine Berichtressource für die App Optimize API löschen.
appoptimize.reports.get Konfigurationsmetadaten einer Berichtressource für die App Optimize API lesen.
Dadurch wird kein Zugriff auf Berichtsdaten gewährt.
appoptimize.reports.getData Die Daten in einem Bericht der App Optimize API lesen.
appoptimize.reports.list Berichtressourcen der App Optimize API in einem Projekt auflisten.

Vordefinierte Rollen

IAM bietet vordefinierte Rollen, mit denen Sie bestimmte zusammengehörige Berechtigungen gewähren. Die folgenden Rollen sind für die App Optimize API verfügbar:

Rolle Titel Beschreibung
roles/appoptimize.admin App Optimize Admin Vollständige Kontrolle über Berichte und Vorgänge der App Optimize API.
roles/appoptimize.viewer App Optimize Viewer Lesezugriff auf Metadaten, Berichtsdaten und Vorgänge der App Optimize API.

IAM-Rolle erteilen

Sie können einem Hauptkonto über die Google Cloud Console oder die Google Cloud CLI eine IAM-Rolle zuweisen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    IAM aufrufen

  2. Klicken Sie auf „Zugriff gewähren.

  3. Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse des Hauptkontos ein, dem die Rolle zugewiesen werden soll.

  4. Klicken Sie auf das Drop-down-Menü Rolle auswählen.

  5. Filtern Sie nach App Optimize -Rollen und wählen Sie die Rolle aus, die Sie zuweisen möchten, z. B. „App Optimize Admin“ oder „App Optimize Viewer“.

  6. Klicken Sie auf Speichern.

gcloud

  1. Installieren und initialisieren Sie die Google Cloud CLI, falls noch nicht geschehen, install and initialize the Google Cloud CLI.

  2. Verwenden Sie den gcloud projects add-iam-policy-binding Befehl, um die Rolle zuzuweisen:

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

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID Ihres Google Cloud Projekts in.
    • PRINCIPAL: die Kennung des Hauptkontos, z. B. user:my-user@example.com oder group:my-group@example.com. Weitere Informationen finden Sie unter Hauptkonto-Kennungen.
    • ROLE_NAME: die zuzuweisende Rolle, z. B. roles/appoptimize.admin oder roles/appoptimize.viewer.

Beispiel: So weisen Sie dem Nutzer test-user@example.com die Rolle „App Optimize Admin“ für das Projekt my-appoptimize-project zu:

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

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

App Optimize Admin

Die Rolle „App Optimize Admin“ gewährt die vollständige Kontrolle über Ressourcen der App Optimize API und umfasst die Berechtigungen, die der Rolle „App Optimize Viewer“ zugewiesen sind.

Rollenname Enthaltene Berechtigungen
roles/appoptimize.admin
  • appoptimize.operations.*
  • appoptimize.reports.*

App Optimize Viewer

Die Rolle „App Optimize Viewer“ gewährt Berechtigungen zum Lesen von Berichten, Metadaten und Vorgängen der App Optimize API.

Rollenname Enthaltene Berechtigungen
roles/appoptimize.viewer
  • appoptimize.operations.get
  • appoptimize.operations.list
  • appoptimize.reports.get
  • appoptimize.reports.getData
  • appoptimize.reports.list

Berechtigungen zum Erstellen von Berichten

Zum Erstellen eines Berichts muss ein Nutzer, Dienstkonto oder anderes Hauptkonto Folgendes haben:

  • Die Berechtigung appoptimize.reports.create für das Projekt, in dem die Berichtressource erstellt wird. Diese Berechtigung ist in der Rolle „App Optimize Admin“ (roles/appoptimize.admin) enthalten.

  • Die Berechtigung billing.resourceCosts.get für alle Projekte, die im Bericht enthalten sind. Diese Berechtigung wird von Rollen wie Rechnungskonto-Betrachter“ (roles/billing.viewer) oder der einfachen Rolle „Viewer“ (roles/viewer) gewährt.

  • Berechtigungen für den Zugriff auf die Datenquellen, die im Umfang, den Dimensionen und den Messwerten des Berichts enthalten sind. Die App Optimize API prüft diese Berechtigungen beim Erstellen des Berichts. Zu den Rollen, die diesen Zugriff auf die Datenquelle gewähren, gehören:

    • Für Messwerte zur CPU- und Speicherauslastung: „Monitoring Viewer“ (roles/monitoring.viewer) für die Ressourcen im Umfang.

    • Für App Hub-Anwendungsumfänge und -Dimensionen: „App Management Viewer“ (roles/apphub.appManagementViewer) für das App Hub-Hostprojekt der Anwendungen.

    Wenn Sie einen Bericht zu einer App Hub-Anwendung erstellen, die aus mehreren Projekten bestehen kann, müssen Sie die erforderlichen Monitoring- und Abrechnungsberechtigungen für alle zugehörigen Projekte der Anwendung haben, um den Bericht zu erstellen.

Berechtigungen zum Lesen von Berichtsdaten

Nachdem ein Bericht erfolgreich erstellt wurde, benötigt ein Hauptkonto nur die Berechtigung appoptimize.reports.getData, um die generierten Daten zu lesen. Diese Berechtigung kann für das Projekt, in dem der Bericht erstellt wurde, oder für den Bericht selbst gelten und ist sowohl in der Rolle „App Optimize Admin“ als auch in der Rolle „App Optimize Viewer“ enthalten.

Nächste Schritte