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 API App Optimize specifiche e impedisce l'accesso indesiderato ad altre risorse.

Questo documento descrive i ruoli e le autorizzazioni 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 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.
Questo non concede l'accesso ai dati dei report.
appoptimize.reports.getData Leggere i dati contenuti in un report dell'API App Optimize.
appoptimize.reports.list Elenca le risorse dei 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 su report e 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 consoleGoogle Cloud o Google Cloud CLI.

Console

  1. Nella console Google Cloud 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 deve essere concesso 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 Amministratore App Optimize o Visualizzatore App Optimize.

  6. Fai clic su Salva.

gcloud

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

  2. Utilizza il comando gcloud projects add-iam-policy-binding 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. Consulta Identificatori delle entità.
    • ROLE_NAME: il ruolo da concedere, ad esempio roles/appoptimize.admin o roles/appoptimize.viewer.

Ad esempio, per concedere il ruolo Amministratore di ottimizzazione app 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

L'amministratore di App Optimize concede il controllo completo sulle risorse dell'API App Optimize e include le autorizzazioni concesse al visualizzatore di App Optimize.

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

App Optimize Viewer

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

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 Amministratore di ottimizzazione app (roles/appoptimize.admin).

  • L'autorizzazione billing.resourceCosts.get su tutti i progetti inclusi nell'ambito del report. Questa autorizzazione viene 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 con 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 generi un report su un'applicazione App Hub, che può essere composta da più progetti, devi disporre delle autorizzazioni di monitoraggio e fatturazione richieste per tutti i progetti associati all'applicazione per creare il report.

Autorizzazioni per leggere i dati dei report

Una volta creato correttamente un report, un principal 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 Amministratore di App Optimize e Visualizzatore di App Optimize.

Passaggi successivi