Controllo dell'accesso con IAM

L'API App Optimize utilizza Identity and Access Management (IAM) per controllare l'accesso alle sue risorse, come report e operazioni. IAM ti consente di concedere un accesso granulare a risorse specifiche dell'API App Optimize e aiuta a impedire l'accesso indesiderato ad altre risorse.

Questo documento descrive le autorizzazioni e i ruoli IAM che si applicano all'API App Optimize.

Panoramica delle autorizzazioni

Le autorizzazioni consentono agli utenti di eseguire azioni specifiche sulle risorse dell'API App Optimize. La tabella seguente elenca le autorizzazioni per l'API App Optimize:

Autorizzazione Descrizione
appoptimize.operations.cancel Annulla un'operazione a lunga esecuzione.
appoptimize.operations.delete Elimina un'operazione a lunga esecuzione.
appoptimize.operations.get Recupera lo stato di un'operazione a lunga esecuzione.
appoptimize.operations.list Elenca operazioni a lunga esecuzione.
appoptimize.reports.create Crea una risorsa report dell'API App Optimize.
appoptimize.reports.delete Elimina una risorsa report dell'API App Optimize.
appoptimize.reports.get Leggi i metadati di configurazione di una risorsa report dell'API App Optimize.
Questa operazione non concede l'accesso ai dati dei report.
appoptimize.reports.getData Leggi i dati contenuti in un report dell'API App Optimize.
appoptimize.reports.list Elenca le risorse report dell'API App Optimize in un progetto.

Ruoli predefiniti

IAM fornisce ruoli predefiniti che concedono un insieme di autorizzazioni correlate. Per l'API App Optimize sono disponibili i seguenti ruoli:

Ruolo Titolo Descrizione
roles/appoptimize.admin App Optimize Admin Controllo completo sui report e sulle operazioni dell'API App Optimize.
roles/appoptimize.viewer App Optimize Viewer Accesso in lettura ai metadati dei report, ai dati dei report e alle operazioni dell'API App Optimize.

Concedi un ruolo IAM

Puoi concedere un ruolo IAM a un'entità utilizzando la Google Cloud console o Google Cloud CLI.

Console

  1. Nella Google Cloud console vai alla pagina IAM.

    Vai a IAM

  2. Fai clic su Concedi l'accesso.

  3. Nel campo Nuove entità, inserisci l'indirizzo email dell'entità a cui concedere il ruolo.

  4. Fai clic sul menu a discesa Seleziona un ruolo.

  5. Filtra i ruoli App Optimize e seleziona il ruolo da concedere, ad esempio App Optimize Admin o App Optimize Viewer.

  6. Fai clic su Salva.

gcloud

  1. Se non l'hai ancora fatto, installa e inizializza Google Cloud CLI.

  2. Utilizza il gcloud projects add-iam-policy-binding comando per concedere il ruolo:

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del tuo Google Cloud progetto.
    • PRINCIPAL: l'identificatore dell'entità, ad esempio user:my-user@example.com o group:my-group@example.com. Vedi Identificatori delle entità.
    • ROLE_NAME: il ruolo da concedere, ad esempio roles/appoptimize.admin o roles/appoptimize.viewer.

Ad esempio, per concedere il ruolo App Optimize Admin all'utente test-user@example.com nel progetto my-appoptimize-project:

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

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

App Optimize Admin

App Optimize Admin concede il controllo completo sulle risorse dell'API App Optimize e include le autorizzazioni concesse ad App Optimize Viewer.

Nome ruolo Autorizzazioni incluse
roles/appoptimize.admin
  • appoptimize.operations.*
  • appoptimize.reports.*

App Optimize Viewer

App Optimize Viewer concede le autorizzazioni per leggere i report, i metadati e le operazioni dell'API App Optimize.

Nome ruolo Autorizzazioni incluse
roles/appoptimize.viewer
  • appoptimize.operations.get
  • appoptimize.operations.list
  • appoptimize.reports.get
  • appoptimize.reports.getData
  • appoptimize.reports.list

Autorizzazioni per creare report

Per creare un report, un utente, un account di servizio o un'altra entità deve disporre di:

  • L'autorizzazione appoptimize.reports.create sul progetto in cui verrà creata la risorsa report. Questa autorizzazione è inclusa nel ruolo App Optimize Admin (roles/appoptimize.admin).

  • L'autorizzazione billing.resourceCosts.get su tutti i progetti inclusi nell'ambito del report. Questa autorizzazione è fornita da ruoli come Visualizzatore account di fatturazione (roles/billing.viewer) o il ruolo di base Visualizzatore (roles/viewer).

  • Autorizzazioni per accedere alle origini dati incluse nell'ambito, nelle dimensioni e nelle metriche del report. L'API App Optimize controlla queste autorizzazioni quando viene creato il report. I ruoli che concedono l'accesso a questa origine dati includono:

    • Per le metriche di utilizzo di CPU e memoria: Visualizzatore Monitoring (roles/monitoring.viewer) sulle risorse incluse nell'ambito.

    • Per gli ambiti e le dimensioni delle applicazioni App Hub: Visualizzatore gestione app (roles/apphub.appManagementViewer) nel progetto host di App Hub delle applicazioni.

    Se stai generando un report su un'applicazione App Hub, che può essere composta da più progetti, devi disporre delle autorizzazioni di monitoraggio e fatturazione richieste su tutti i progetti associati all'applicazione per creare il report.

Autorizzazioni per leggere i dati dei report

Una volta creato correttamente un report, un'entità ha bisogno solo dell'autorizzazione appoptimize.reports.getData per leggere i dati generati. Questa autorizzazione può essere sul progetto in cui è stato creato il report o sul report stesso ed è inclusa nei ruoli App Optimize Admin e App Optimize Viewer.

Passaggi successivi