Esamina la cronologia dei criteri di autorizzazione IAM

Questa pagina spiega come esaminare la cronologia delle modifiche alle policy di autorizzazione IAM.

Puoi esaminare le modifiche alle policy di autorizzazione della risorsa cercando le voci contenenti il metodo SetIamPolicy negli audit log.

Puoi anche esaminare le modifiche alle policy di autorizzazione con Cloud Asset Inventory.

Visualizzare le modifiche alle policy di autorizzazione con SetIamPolicy

Puoi visualizzare le modifiche alle policy di autorizzazione esaminando gli audit log per le voci che contengono il metodo SetIamPolicy. Puoi esaminare gli audit log utilizzando la Google Cloud console o gcloud CLI.

Console

  1. Nella console Google Cloud , vai alla pagina Esplora log.

    Vai a Esplora log

  2. Nell'editor di query, inserisci una delle seguenti query. Queste query cercano negli audit log le voci che hanno SetIamPolicy nel campo methodName di protoPayload:

    • Per ottenere i log di tutte le modifiche alle policy di autorizzazione apportate a una risorsa, utilizza la seguente query:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      
    • Per ottenere i log delle modifiche alle policy di autorizzazione che coinvolgono un utente o un account di servizio specifico, utilizza la seguente query:

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ADDRESS"
      

      Sostituisci quanto segue:

      • RESOURCE_TYPE: il tipo di risorsa per cui stai elencando gli audit log. I valori validi sono projects, folders o organizations.
      • RESOURCE_ID: l'ID del tuo Google Cloud progetto, della cartella o dell'organizzazione. Gli ID progetto sono alfanumerici, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
      • EMAIL_ADDRESS: l'indirizzo email dell'utente o del account di servizio, ad esempio example-service-account@example-project.iam.gserviceaccount.com.
  3. Per eseguire la query, fai clic su Esegui query.

  4. Utilizza il selettore Sequenza temporale per specificare l'intervallo di tempo appropriato per la query. In alternativa, puoi aggiungere un'espressione di timestamp direttamente all'editor di query. Per saperne di più, consulta Visualizzare i log per intervallo di tempo.

gcloud

Il gcloud logging read comando legge le voci di log.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • RESOURCE_TYPE: il tipo di risorsa per cui stai elencando gli audit log. Utilizza il valore projects, folders, o organizations.
  • RESOURCE_ID: l' Google Cloud ID del progetto, dell'organizzazione o della cartella. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • TIME_PERIOD: il periodo di tempo per cui stai elencando gli audit log. Le voci restituite non sono precedenti a questo valore. Se non viene specificato, il valore predefinito è 1d. Per informazioni sui formati di ora, consulta gcloud topic datetimes.
  • RESOURCE_TYPE_SINGULAR: il tipo di risorsa per cui stai elencando gli audit log. Utilizza il valore project, folder, o organization.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud logging read \
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' \
    --freshness=TIME_PERIOD \
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (PowerShell)

gcloud logging read `
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' `
    --freshness=TIME_PERIOD `
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows (cmd.exe)

gcloud logging read ^
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' ^
    --freshness=TIME_PERIOD ^
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Visualizzare le modifiche alle policy di autorizzazione con Cloud Asset Inventory

Puoi anche visualizzare le modifiche alle policy di autorizzazione utilizzando Cloud Asset Inventory nella Google Cloud console o in gcloud CLI.

Console

  1. Nella Google Cloud console, vai alla pagina Asset Inventory.

    Vai ad Asset Inventory

  2. Fai clic sulla scheda Policy IAM.

  3. Esegui la seguente query nel campo Filtro:

    Resource : RESOURCE_ID

    Sostituisci RESOURCE_ID con l'ID del Google Cloud progetto, della cartella o dell'organizzazione. Gli ID progetto sono alfanumerici, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

  4. Per visualizzare la cronologia delle modifiche della policy di autorizzazione della risorsa, fai clic sul nome della risorsa, quindi seleziona la scheda Cronologia delle modifiche.

  5. Per confrontare le modifiche alla policy di autorizzazione per la risorsa, seleziona due record con timestamp diversi dal menu Seleziona un record da confrontare.

gcloud

Il gcloud asset get-history comando recupera la cronologia aggiornata delle policy di autorizzazione di un asset che si sovrappone a una finestra temporale.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • RESOURCE_TYPE: il tipo di risorsa per cui stai elencando gli audit log. Utilizza il valore project, folder, o organization.
  • RESOURCE_ID: l' Google Cloud ID del progetto, dell'organizzazione o della cartella. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • ASSET_NAME: un elenco separato da virgole di nomi di risorse formattati per le risorse di cui vuoi visualizzare le cronologie delle policy di autorizzazione. Ad esempio, //cloudresourcemanager.googleapis.com/projects/my-project. Queste risorse possono essere di qualsiasi tipo di risorsa che accetta le policy di autorizzazione.
  • START_TIME: l'inizio dell'intervallo di tempo. L'intervallo di tempo massimo è di 7 giorni. Il valore deve essere l'ora attuale o un'ora non più di 35 giorni fa. Per informazioni sui formati di ora, consulta gcloud topic datetimes.
  • END_TIME: (Facoltativo) Il punto finale dell'intervallo di tempo. L'intervallo di tempo massimo è di 7 giorni. Il valore deve essere l'ora attuale o un'ora non più di 35 giorni fa. Se non viene fornita, l'ora di fine viene considerata l'ora attuale. Per informazioni sui formati di ora, consulta gcloud topic datetimes.

Esegui questo comando:

Linux, macOS o Cloud Shell

gcloud asset get-history \
    --RESOURCE_TYPE=RESOURCE_ID \
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
    --content-type=iam-policy \
    --start-time=START_TIME \
    --end-time=END_TIME

Windows (PowerShell)

gcloud asset get-history `
    --RESOURCE_TYPE=RESOURCE_ID `
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... `
    --content-type=iam-policy `
    --start-time=START_TIME `
    --end-time=END_TIME

Windows (cmd.exe)

gcloud asset get-history ^
    --RESOURCE_TYPE=RESOURCE_ID ^
    --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ^
    --content-type=iam-policy ^
    --start-time=START_TIME ^
    --end-time=END_TIME

La risposta contiene la cronologia aggiornata delle policy di autorizzazione.