Esamina la cronologia dei criteri di autorizzazione IAM

Questa pagina spiega come esaminare la cronologia delle modifiche ai criteri di autorizzazione IAM.

Puoi esaminare le modifiche ai criteri di autorizzazione della tua risorsa cercando nei log di controllo le voci contenenti il metodo SetIamPolicy.

Puoi anche esaminare le modifiche ai criteri di autorizzazione con Cloud Asset Inventory.

Visualizza le modifiche alle norme di autorizzazione con SetIamPolicy

Puoi visualizzare le modifiche alle norme consentite esaminando i log di controllo per verificare la presenza di voci che contengono il metodo SetIamPolicy. Puoi esaminare i log di controllo utilizzando la console Google Cloud o la 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 nei log di controllo le voci con SetIamPolicy nel campo methodName di protoPayload:

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

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      
    • Per recuperare i log delle modifiche ai criteri di autorizzazione che coinvolgono un account utente o 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"
      

      Fornisci i seguenti valori:

      • RESOURCE_TYPE: il tipo di risorsa per cui stai elencando i log di controllo. Utilizza uno di questi valori: projects, folders o organizations.
      • RESOURCE_ID: l'ID Google Cloud progetto, cartella o organizzazione. Gli ID progetto sono alfanumerici, ad esempiomy-project. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012.
      • EMAIL_ADDRESS: l'indirizzo email dell'account utente o 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 del timestamp direttamente all'Editor query. Per ulteriori informazioni, consulta Visualizzare i log per intervallo di tempo.

gcloud

Il comando gcloud logging read 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 la quale stai elencando i log di controllo. Utilizza il valore projects, folders o organizations.
  • RESOURCE_ID: l'ID progetto, organizzazione o cartella. Google CloudGli ID progetto sono stringhe alfanumeriche, comemy-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.
  • TIME_PERIOD: il periodo di tempo per cui stai elencando i log di controllo. Le voci restituite non sono precedenti a questo valore. Se non specificato, il valore predefinito è 1d. Per informazioni sui formati di data e ora, consulta gcloud topic datetimes.
  • RESOURCE_TYPE_SINGULAR: il tipo di risorsa per la quale stai elencando i log di controllo. Utilizza il valore project, folder o organization.

Esegui il seguente 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 norme di autorizzazione con Cloud Asset Inventory

Puoi anche visualizzare le modifiche ai criteri di autorizzazione utilizzando Inventario asset cloud nella console Google Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud, vai alla pagina Inventario asset.

    Vai ad Asset Inventory

  2. Fai clic sulla scheda Criterio IAM.

  3. Esegui la seguente query nel campo Filtro:

    Resource : RESOURCE_ID

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

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

  5. Per confrontare eventuali modifiche al criterio di autorizzazione per la risorsa, seleziona due diversi record con timestamp dal menu Seleziona un record da confrontare.

gcloud

Il comando gcloud asset get-history recupera la cronologia aggiornata dei criteri di autorizzazione in una risorsa che si sovrappone a un periodo di tempo.

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

  • RESOURCE_TYPE: il tipo di risorsa per la quale stai elencando i log di controllo. Utilizza il valore project, folder o organization.
  • RESOURCE_ID: l'ID progetto, organizzazione o cartella. Google CloudGli ID progetto sono stringhe alfanumeriche, comemy-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 dei criteri di autorizzazione. Ad esempio, //cloudresourcemanager.googleapis.com/projects/my-project. Queste risorse possono essere uno qualsiasi dei tipi di risorse che accettano i criteri di autorizzazione.
  • START_TIME: l'inizio dell'intervallo di tempo. L'intervallo di tempo massimo è di 7 giorni. Il valore deve essere l'ora corrente o un'ora non più lontana di 35 giorni nel passato. Per informazioni sui formati di data e ora, consulta gcloud topic datetimes.
  • END_TIME: facoltativo. Il punto di fine dell'intervallo di tempo. L'intervallo di tempo massimo è di 7 giorni. Il valore deve essere l'ora corrente o un'ora non più vecchia di 35 giorni. Se non viene fornita, si presume che l'ora di fine sia l'ora corrente. Per informazioni sui formati di data e ora, consulta Date e ore nell'argomento gcloud.

Esegui il seguente 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