Ricerca dei criteri di autorizzazione IAM

L'API Cloud Asset consente di utilizzare un linguaggio di query personalizzato per cercare i criteri di autorizzazione di Identity and Access Management (IAM) in un progetto, una cartella o un'organizzazione.

Prima di iniziare

Criteri di autorizzazione per la ricerca

Console

Per cercare in tutti i criteri di autorizzazione IAM, completa i passaggi seguenti.

  1. Vai alla pagina Asset Inventory (Inventario asset) nella console Google Cloud.

    Vai ad Asset Inventory

  2. Per impostare l'ambito della ricerca, apri l'elenco Progetti nella barra dei menu e seleziona l'organizzazione, la cartella o il progetto su cui eseguire la query.

  3. Seleziona la scheda Criterio IAM.

  4. Per cercare i criteri di autorizzazione, puoi utilizzare una query preimpostata o crearne una personalizzata.

    • Per utilizzare una query preimpostata, seleziona le opzioni da Preimpostazioni query nel riquadro Filtra i risultati. Per filtrare i risultati, seleziona le opzioni da Filtri.

    • Per creare la tua query, inserisci il testo della query nella barra Filtro. Seleziona la casella di testo per visualizzare un elenco di campi disponibili per la ricerca. La ricerca dei criteri supporta più campi. Scopri di più sulla sintassi delle query.

I criteri di autorizzazione corrispondenti alla query sono elencati nella tabella Risultati.

Per visualizzare la query come comando di Google Cloud CLI, seleziona Visualizza query.

Per esportare i risultati, seleziona Scarica CSV.

gcloud

Puoi chiamare SearchAllIamPolicies utilizzando il comando gcloud asset search-all-iam-policies. Devi eseguire Google Cloud CLI 302.0.0 o versioni successive. Puoi controllare la tua versione con il comando gcloud version:

gcloud asset search-all-iam-policies \
    --scope=SCOPE \
    --query="QUERY" \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --order-by=ORDER_BY

Fornisci i seguenti valori:

  • SCOPE: obbligatorio. Un ambito può essere un progetto, una cartella o un'organizzazione. La ricerca è limitata ai criteri di autorizzazione IAM in questo ambito. Al chiamante deve essere concesso un ruolo contenente l'autorizzazione cloudasset.assets.searchAllIamPolicies nell'ambito selezionato. Se non specificata, viene utilizzata la proprietà del progetto configurata.

    I valori consentiti sono:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Come trovare un numero di progetto Google Cloud

      Console

      Per trovare il numero di un progetto Google Cloud, segui questi passaggi:

      1. Vai alla pagina Dashboard nella console Google Cloud.

        Vai alla dashboard

      2. Fai clic sulla casella del selettore nella barra dei menu.
      3. Seleziona la tua organizzazione dalla casella Seleziona da, quindi cerca il nome del progetto.
      4. Fai clic sul nome del progetto per passare a quel progetto. Il numero del progetto viene visualizzato nella scheda Informazioni sul progetto.

      Interfaccia a riga di comando gcloud

      Puoi recuperare il numero di un progetto Google Cloud con il seguente comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Come trovare un ID cartella Google Cloud

      Console

      Per trovare un ID cartella Google Cloud, segui questi passaggi:

      1. Vai alla console Google Cloud.

        Vai alla console Google Cloud

      2. Fai clic sulla casella del selettore nella barra dei menu.
      3. Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
      4. Cerca il nome della cartella. L'ID cartella viene visualizzato accanto al nome della cartella.

      Interfaccia a riga di comando gcloud

      Puoi recuperare un ID cartella Google Cloud che si trova a livello di organizzazione con il seguente comando:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      Dove TOP_LEVEL_FOLDER_NAME può essere una corrispondenza di stringa completa o parziale. Rimuovi l'opzione --format per visualizzare ulteriori informazioni sulle cartelle trovate.

      Per ottenere l'ID di una cartella all'interno di un'altra cartella, elenca le sottocartelle:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Come trovare un ID organizzazione Google Cloud

      Console

      Per trovare un ID organizzazione Google Cloud, segui questi passaggi:

      1. Vai alla console Google Cloud.

        Vai alla console Google Cloud

      2. Fai clic sulla casella del selettore nella barra dei menu.
      3. Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
      4. Fai clic sulla scheda Tutti. L'ID organizzazione è visualizzato accanto al nome dell'organizzazione.

      Interfaccia a riga di comando gcloud

      Puoi recuperare un ID organizzazione Google Cloud con il seguente comando:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • QUERY: facoltativo. L'istruzione della query. Per ulteriori informazioni, consulta la sezione Sintassi delle query. Se non specificato o vuoto, cerca in tutti i criteri di autorizzazione IAM in scope specificato. Tieni presente che la stringa di query viene confrontata con ogni associazione dei criteri di autorizzazione, inclusi entità, ruoli e condizioni IAM. I criteri di autorizzazione restituiti contengono solo le associazioni che corrispondono alla tua query. Per scoprire di più sulla struttura dei criteri di autorizzazione, consulta Informazioni sui criteri.

    Esempi:

    • policy:amy@gmail.com per trovare le associazioni di criteri di autorizzazione che specificano l'utente "amy@gmail.com".

    • policy:roles/compute.admin per trovare le associazioni di criteri di autorizzazione che specificano il ruolo Amministratore Compute.

    • policy:comp* per trovare le associazioni di criteri di autorizzazione che contengono "comp" come prefisso di qualsiasi parola nell'associazione.

    • policy.role.permissions:storage.buckets.update per trovare consentire le associazioni di criteri che specificano un ruolo contenente l'autorizzazione "storage.buckets.update". Tieni presente che, se al chiamante non è stato concesso un ruolo contenente l'autorizzazione iam.roles.get per il ruolo desiderato, consenti le associazioni di criteri che specificano questo ruolo vengono eliminate dai risultati di ricerca.

    • policy.role.permissions:upd* per trovare le associazioni di criteri di autorizzazione che specificano un ruolo contenente "upd" come prefisso di qualsiasi parola nell'associazione. Tieni presente che se al chiamante non è stato concesso un ruolo contenente l'autorizzazione iam.roles.get per il ruolo desiderato, consenti le associazioni di criteri che specificano questo ruolo vengono eliminate dai risultati di ricerca.

    • resource:organizations/123456 per trovare le associazioni di criteri di autorizzazione impostate su "organizations/123456".

    • resource=//cloudresourcemanager.googleapis.com/projects/myproject per trovare le associazioni di criteri di autorizzazione impostate nel progetto denominato "myproject".

    • Important per trovare le associazioni di criteri di autorizzazione contenenti "Importante" come parola in qualsiasi campo disponibile per la ricerca (ad eccezione delle autorizzazioni incluse).

    • resource:(instance1 OR instance2) policy:amy per trovare consentire le associazioni di criteri impostati sulle risorse "instance1" o "instance2" e specificare anche l'utente "ammy".

    • roles:roles/compute.admin per trovare le associazioni di criteri di autorizzazione che specificano il ruolo Amministratore Compute.

    • memberTypes:user per trovare le associazioni di criteri di autorizzazione che contengono il tipo di entità "utente".

  • ASSET_TYPE: facoltativo. Un elenco dei tipi di asset a cui sono allegati i criteri di autorizzazione di Identity and Access Management. Se è vuoto, cerca i criteri di autorizzazione di Identity and Access Management collegati a tutti i tipi di risorse disponibili per la ricerca. Le espressioni regolari sono supportate. Se l'espressione regolare non corrisponde a nessun tipo di asset supportato, viene restituito un errore INVALID_ARGUMENT.

  • ORDER_BY: facoltativo. Un elenco di campi separati da virgole che specifica l'ordinamento dei risultati. L'ordine predefinito è crescente. Aggiungi DESC dopo il nome del campo per indicare l'ordine decrescente. Gli spazi ridondanti vengono ignorati. Esempio: "assetType DESC, resource". Solo i campi singolari primitivi nella risposta sono ordinabili:

    • resource

    • assetType

    • project

    Tutti gli altri campi, come i campi ripetuti (ad esempio folders) e i campi non primitivi (ad esempio policy), non sono supportati.

Di seguito sono riportati alcuni comandi gcloud di esempio:

  • Trova tutte le associazioni di criteri di autorizzazione IAM in organizations/123456 che contengono il dominio mycompany.com:

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="policy:\"domain:mycompany.com\""
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM in organizations/123456 in cui a myuser@mycompany.com è stato concesso il ruolo di base Proprietario (roles/owner):

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="policy:(roles/owner myuser@mycompany.com)"
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM impostate su projects/12345678 in organizations/123456:

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="resource:projects/12345678"
    

REST

Puoi chiamare SearchAllIamPolicies utilizzando un token OAuth valido per un progetto. Per chiamare il metodo SearchAllIamPolicies da Cloud Shell o da qualsiasi console in cui è disponibile il comando gcloud:

  1. Se non hai configurato la schermata per il consenso OAuth del progetto, devi farlo. Per la schermata per il consenso OAuth sono richiesti un indirizzo email e un nome di prodotto.

    1. Vai alla schermata per il consenso OAuth per il tuo progetto.

      Schermata Configura consenso

    2. Inserisci il Nome applicazione che vuoi visualizzare.

    3. In Email assistenza, seleziona l'indirizzo email che vuoi visualizzare come contatto pubblico. Deve essere il tuo indirizzo email o un gruppo Google di tua proprietà.

    4. Aggiungi eventuali dettagli facoltativi.

    5. Fai clic su Salva.

  2. Crea un token OAuth per il tuo progetto. Per ulteriori informazioni, consulta la sezione Configurare OAuth 2.0.

    1. Vai alla pagina Crea ID client OAuth.

      Crea client OAuth

    2. Seleziona App desktop come Tipo di applicazione.

    3. Fai clic su Crea.

  3. Scarica il file client_secret.json.

    1. Vai alla pagina Credenziali.

    2. A destra del nuovo ID client, fai clic su Scarica JSON.

    3. Archivia in modo sicuro il file in una posizione accessibile solo alla tua app.

  4. Accedi utilizzando il file JSON con il comando seguente.

    gcloud auth application-default login --client-id-file=YOUR_JSON_FILE
    

    Questo comando ti chiede di aprire un link. Assicurati che la pagina mostri il Nome applicazione che hai impostato nella schermata per il consenso OAuth.

  5. Ora puoi eseguire query sui criteri di autorizzazione IAM utilizzando i comandi curl.

    curl -X POST \
         -H "X-HTTP-Method-Override: GET" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         -H "Content-Type: application/json" \
         -d '{
              "assetTypes": [
                "ASSET_TYPE_1",
                "ASSET_TYPE_2",
                "..."
              ],
              "orderBy": "ORDER_BY",
              "pageSize": PAGE_SIZE,
              "query": "QUERY"
             }' \
         https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
    

    Fornisci i seguenti dettagli:

    • ASSET_TYPE: facoltativo. Un elenco dei tipi di asset a cui sono associati i criteri di autorizzazione di Identity and Access Management. Se è vuoto, cerca i criteri di autorizzazione di Identity and Access Management associati a tutti i tipi di asset disponibili per la ricerca. Le espressioni regolari sono supportate. Se l'espressione regolare non corrisponde ad alcun tipo di asset supportato, viene restituito un errore INVALID_ARGUMENT.

    • ORDER_BY: facoltativo. Un elenco di campi separati da virgole che specificano l'ordinamento dei risultati. L'ordine predefinito è crescente. Aggiungi DESC dopo il nome del campo per indicare l'ordine decrescente. Gli spazi ridondanti vengono ignorati. Esempio: "assetType DESC, resource". Solo i campi singolari primitivi nella risposta sono ordinabili:

      • resource

      • assetType

      • project

      Tutti gli altri campi, come i campi ripetuti (ad esempio folders) e i campi non primitivi (ad esempio policy), non sono supportati.

    • PAGE_SIZE: facoltativo. Il numero di risultati da restituire per pagina. Il numero massimo è 2000. Se il valore è impostato su 0 o su un valore negativo, viene selezionato un valore predefinito appropriato. Viene restituito un valore nextPageToken per recuperare i risultati successivi.

    • QUERY: facoltativo. L'istruzione della query. Per ulteriori informazioni, consulta la sezione Sintassi delle query. Se non specificato o vuoto, cerca in tutti i criteri di autorizzazione IAM nell'elemento scope specificato. Tieni presente che la stringa di query viene confrontata con ogni associazione dei criteri di autorizzazione, inclusi entità, ruoli e condizioni IAM. I criteri di autorizzazione restituiti contengono solo le associazioni che corrispondono alla tua query. Per saperne di più sulla struttura dei criteri di autorizzazione, consulta Informazioni sui criteri di autorizzazione.

      Esempi:

      • policy:amy@gmail.com per trovare le associazioni di criteri di autorizzazione che specificano l'utente "amy@gmail.com".

      • policy:roles/compute.admin per trovare le associazioni dei criteri di autorizzazione che specificano il ruolo Amministratore Compute.

      • policy:comp* per trovare le associazioni di criteri di autorizzazione che contengono "comp" come prefisso di qualsiasi parola nell'associazione.

      • policy.role.permissions:storage.buckets.update per trovare consentire le associazioni di criteri che specificano un ruolo contenente l'autorizzazione "storage.buckets.update". Tieni presente che se al chiamante non è stato concesso un ruolo contenente l'autorizzazione iam.roles.get per il ruolo desiderato, consenti le associazioni di criteri che specificano questo ruolo vengono eliminate dai risultati di ricerca.

      • policy.role.permissions:upd* per trovare le associazioni dei criteri di autorizzazione che specificano un ruolo contenente "upd" come prefisso di qualsiasi parola nell'autorizzazione del ruolo. Tieni presente che se al chiamante non è stato concesso un ruolo contenente l'autorizzazione iam.roles.get per il ruolo desiderato, consenti le associazioni di criteri che specificano questo ruolo vengono eliminate dai risultati di ricerca.

      • resource:organizations/123456 per trovare le associazioni di criteri di autorizzazione impostate su "organizations/123456".

      • resource=//cloudresourcemanager.googleapis.com/projects/myproject per trovare le associazioni di criteri di autorizzazione impostate nel progetto denominato "myproject".

      • Important per trovare le associazioni di criteri di autorizzazione che contengono "Importante" come parola in qualsiasi campo disponibile per la ricerca (ad eccezione delle autorizzazioni incluse).

      • resource:(instance1 OR instance2) policy:amy per trovare le associazioni di criteri di autorizzazione impostate sulle risorse "instance1" o "instance2" e specificare anche l'utente "amy".

      • roles:roles/compute.admin per trovare le associazioni dei criteri di autorizzazione che specificano il ruolo Amministratore Compute.

      • memberTypes:user per trovare le associazioni di criteri di autorizzazione che contengono il tipo di entità "utente".

    • SCOPE: un ambito può essere un progetto, una cartella o un'organizzazione. La ricerca è limitata ai criteri di autorizzazione IAM in questo ambito. Al chiamante deve essere concesso un ruolo che contiene l'autorizzazione cloudasset.assets.searchAllIamPolicies nell'ambito selezionato. Se non specificata, viene utilizzata la proprietà del progetto configurata.

      I valori consentiti sono:

      • projects/PROJECT_ID

      • projects/PROJECT_NUMBER

        Come trovare un numero di progetto Google Cloud

        Console

        Per trovare il numero di un progetto Google Cloud, segui questi passaggi:

        1. Vai alla pagina Dashboard nella console Google Cloud.

          Vai alla dashboard

        2. Fai clic sulla casella del selettore nella barra dei menu.
        3. Seleziona la tua organizzazione dalla casella Seleziona da, quindi cerca il nome del progetto.
        4. Fai clic sul nome del progetto per passare a quel progetto. Il numero del progetto viene visualizzato nella scheda Informazioni sul progetto.

        Interfaccia a riga di comando gcloud

        Puoi recuperare il numero di un progetto Google Cloud con il seguente comando:

        gcloud projects describe PROJECT_ID --format="value(projectNumber)"

      • folders/FOLDER_ID

        Come trovare un ID cartella Google Cloud

        Console

        Per trovare un ID cartella Google Cloud, segui questi passaggi:

        1. Vai alla console Google Cloud.

          Vai alla console Google Cloud

        2. Fai clic sulla casella del selettore nella barra dei menu.
        3. Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
        4. Cerca il nome della cartella. L'ID cartella viene visualizzato accanto al nome della cartella.

        Interfaccia a riga di comando gcloud

        Puoi recuperare un ID cartella Google Cloud che si trova a livello di organizzazione con il seguente comando:

        gcloud resource-manager folders list \
            --organization=$(gcloud organizations describe ORGANIZATION_NAME \
              --format="value(name.segment(1))") \
            --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
            --format="value(ID)"

        Dove TOP_LEVEL_FOLDER_NAME può essere una corrispondenza di stringa completa o parziale. Rimuovi l'opzione --format per visualizzare ulteriori informazioni sulle cartelle trovate.

        Per ottenere l'ID di una cartella all'interno di un'altra cartella, elenca le sottocartelle:

        gcloud resource-manager folders list --folder=FOLDER_ID

      • organizations/ORGANIZATION_ID

        Come trovare un ID organizzazione Google Cloud

        Console

        Per trovare un ID organizzazione Google Cloud, segui questi passaggi:

        1. Vai alla console Google Cloud.

          Vai alla console Google Cloud

        2. Fai clic sulla casella del selettore nella barra dei menu.
        3. Fai clic sulla casella Seleziona da, quindi seleziona la tua organizzazione.
        4. Fai clic sulla scheda Tutti. L'ID organizzazione è visualizzato accanto al nome dell'organizzazione.

        Interfaccia a riga di comando gcloud

        Puoi recuperare un ID organizzazione Google Cloud con il seguente comando:

        gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Riferimento libreria client e API

Creare una query

Per scoprire di più sul linguaggio delle query, consulta Sintassi delle query.

Consulta Ricerca di esempi di criteri di autorizzazione IAM per saperne di più sulle query di esempio per vari casi d'uso reali.

Esegui query sui criteri di autorizzazione IAM mediante associazione di informazioni

Per cercare i criteri di autorizzazione IAM, un'espressione di query ha il seguente formato:

policy:QUERY

Puoi anche cercare esclusivamente tipi di entità o ruoli con i seguenti formati:

  • Corrispondenza esatta:

    • memberTypes=QUERY

    • roles=QUERY

  • Corrispondenza parziale:

    • memberTypes:QUERY

    • roles:QUERY

Entità

Le associazioni di criteri di autorizzazione IAM supportano cinque tipi di entità:

  1. Account Google, ad esempio user:user@gmail.com

  2. Gruppi Google, ad esempio group:devs@googlegroups.com

  3. Domini Cloud Identity e G Suite, ad esempio domain:google.com

  4. Account di servizio, ad esempio serviceAccount:my-other-app@appspot.gserviceaccount.com

  5. Identificatori speciali, come allUsers e allAuthenticatedUsers

Puoi limitare la query per consentire i criteri relativi a un utente specifico utilizzando la seguente sintassi:

policy:"user:amy@mycompany.com"

Tieni presente che devi citare user:amy@mycompany.com tra virgolette, in quanto contiene il carattere speciale :. Puoi omettere il prefisso user: o group: in una stringa di query se il valore della query è sufficientemente univoco o se vuoi cercare l'indirizzo email indipendentemente dal tipo di entità. Ad esempio, la seguente query corrisponde probabilmente solo a un utente:

policy:amy@mycompany.com

Puoi anche limitare la query ai criteri relativi a un tipo di entità specifico utilizzando la seguente sintassi:

policy:user
memberTypes:user
memberTypes=user

È possibile che policy:user corrisponda a un tipo di entità diverso. Ad esempio: group:test-user@mycompany.com. Utilizza memberTypes per limitare la ricerca a tipi di entità specifici.

Esempi: query per entità
  • Trova tutte le associazioni di criteri di autorizzazione IAM che specificano l'utente Amy:

    policy:amy
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che specificano il dominio mydomain.com:

    policy:mydomain.com
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che specificano gli utenti Amy e John:

    policy:(amy john)
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che specificano l'utente Amy o John:

    policy:(amy OR john)
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM nella tua organizzazione che contengono amy@mycompany.com:

    policy:amy@mycompany.com
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM nella tua organizzazione che contengono il dominio mycompany.com:

    policy:"domain:mycompany.com"
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che assegnano ruoli all'account di servizio mycompany.gserviceaccount.com:

    policy:"serviceAccount:mycompany.gserviceaccount.com"
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che assegnano ruoli al gruppo admins:

    policy:"group:admins"
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che assegnano ruoli a tutti gli utenti:

    memberTypes:allUsers
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che assegnano ruoli a tutti gli utenti autenticati:

    memberTypes:allAuthenticatedUsers
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che assegnano ruoli a amy@mycompany.com o al dominio mycompany.com:

    policy:(amy@mycompany.com OR "domain:mycompany.com")
    

Ruolo

Le associazioni di criteri di autorizzazione IAM supportano diversi tipi di ruoli. Tutti i nomi dei ruoli IAM iniziano con il prefisso roles/.

  1. Ruoli di base: prima dell'introduzione di IAM esistono tre ruoli: Proprietario (roles/owner), Editor (roles/editor) e Visualizzatore (roles/viewer).

  2. Ruoli predefiniti: IAM fornisce ruoli predefiniti aggiuntivi che conferiscono un accesso granulare a risorse diverse. Visualizza tutti i ruoli predefiniti.

  3. Ruoli personalizzati: ruoli IAM definiti dall'utente che contengono un elenco selezionato di autorizzazioni.

Puoi limitare la query per consentire i criteri relativi a un ruolo specifico utilizzando la seguente sintassi:

policy:roles/role-name
roles:roles/role-name
roles=roles/role-name

Tieni presente che puoi omettere il prefisso roles/ in una stringa di query se il valore della query è sufficientemente univoco. Ad esempio, la seguente query probabilmente corrisponde solo al ruolo roles/cloudasset.owner:

policy:cloudasset.owner
roles:cloudasset.owner

È possibile che policy:cloudasset.owner corrisponda a un ruolo diverso. Ad esempio, quando viene concesso un ruolo all'entità user:cloudasset.owner@mycompany.com. Usa roles per limitare la ricerca ai ruoli.

Esempi: query per ruolo
  • Trova tutte le associazioni di criteri di autorizzazione IAM che specificano il ruolo owner.

    policy:roles/owner
    roles:roles/owner
    roles=roles/owner
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che assegnano a amy@mycompany.com il ruolo di proprietario:

    policy:(roles/owner amy@mycompany.com)
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che assegnano il ruolo compute.admin alle entità il cui indirizzo email contiene la parola john:

    policy:(roles/compute.admin john)
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che concedono il ruolo viewer agli utenti che hanno "swe" o "sde" come prefisso.

    policy:(roles/viewer (swe* OR sde*))
    

Condizioni IAM

Le associazioni di criteri di autorizzazione IAM potrebbero contenere un oggetto condition, che consente di definire e applicare forzatamente il controllo dell'accesso condizionale basato su attributi per le risorse Google Cloud. Per ulteriori informazioni, consulta la panoramica delle condizioni IAM.

Puoi limitare la query per consentire i criteri relativi a una condizione specifica utilizzando la seguente sintassi:

policy:condition_information
Esempi: query per condizione
  • Trova tutte le associazioni di criteri di autorizzazione IAM che specificano una condizione, il cui titolo/descrizione contiene la parola "myCondition":

    policy:myCondition
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che specificano una condizione, la cui espressione contiene l'attributo "request.time":

    policy:"request.time"
    

Esegui query sui criteri di autorizzazione IAM in base alle autorizzazioni incluse

I ruoli in un criterio di autorizzazione possono includere un elenco di autorizzazioni. Per ulteriori dettagli, consulta il riferimento sulle autorizzazioni IAM. Puoi limitare la query in modo da consentire i criteri contenenti un'autorizzazione specifica. Un'espressione di query ha i seguenti formati:

  • Corrispondenza esatta: policy.role.permissions=QUERY
  • Corrispondenza parziale: policy.role.permissions:QUERY
Esempi: query in base alle autorizzazioni
  • Trova tutte le associazioni di criteri di autorizzazione IAM che contengono l'autorizzazione compute.instances.create:

    policy.role.permissions:compute.instances.create
    policy.role.permissions=compute.instances.create
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che contengono le autorizzazioni correlate compute.instances:

    policy.role.permissions:compute.instances
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che contengono autorizzazioni cloudasset.assets.export... (ad esempio, cloudasset.assets.exportAssets e cloudasset.assets.exportIamPolicyAnalysis):

    policy.role.permissions:cloudasset.assets.export*
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che concedono a qualcuno le autorizzazioni per modificare i criteri di autorizzazione IAM:

    policy.role.permissions:setIamPolicy
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM con un ruolo che contiene le autorizzazioni compute.instances.create e compute.disks.create:

    policy.role.permissions:(compute.instances.create compute.disks.create)
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM che contengono l'autorizzazione compute.instances.create e specifica l'utente amy:

    policy.role.permissions:compute.instances.create policy:amy
    policy.role.permissions=compute.instances.create policy:amy
    

Esegui query sui criteri di autorizzazione IAM in base alla risorsa associata

Quando esegui una ricerca, puoi specificare un nome completo della risorsa per cercare solo nei criteri di autorizzazione impostati direttamente nella risorsa. Puoi anche specificare un progetto, una cartella o un'organizzazione per cercare solo i criteri di autorizzazione impostati sulle risorse che si trovano nel progetto, nella cartella o nell'organizzazione specificati. Un'espressione di query ha i seguenti formati:

  • Corrispondenza esatta:

    • resource=QUERY

    • project=QUERY

    • folders=QUERY

    • organization=QUERY

  • Corrispondenza parziale:

    • resource:QUERY

    • project:QUERY

    • folders:QUERY

    • organization:QUERY

Esempi: query per risorsa associata

  • Trova tutte le associazioni dei criteri di autorizzazione IAM impostate direttamente su una risorsa il cui nome completo della risorsa corrisponde esattamente a //cloudresourcemanager.googleapis.com/projects/myproject:

    resource=//cloudresourcemanager.googleapis.com/projects/myproject
    
  • Trova tutte le associazioni dei criteri di autorizzazione IAM impostate direttamente sulle risorse il cui nome completo della risorsa contiene la parola myproject:

    resource:myproject
    
  • Trova tutte le associazioni dei criteri di autorizzazione IAM impostate direttamente sulle risorse il cui nome completo della risorsa contiene una parola con un prefisso myproj:

    resource:myproj*
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM impostate direttamente sulle risorse di un determinato tipo di servizio:

    resource:cloudresourcemanager
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM impostate su myproject o myfolder:

    resource:(myproject OR myfolder)
    
  • Trova tutte le associazioni dei criteri di autorizzazione IAM impostate sulle risorse cloudresourcemanager e assegna il ruolo di proprietario agli utenti gmail.com:

    resource:cloudresourcemanager policy:(roles/owner gmail.com)
    
  • Trova tutte le associazioni dei criteri di autorizzazione IAM impostate sulle risorse il cui project ha il numero 123:

    project:123
    
  • Trova tutte le associazioni dei criteri di autorizzazione IAM impostate sulle risorse contenute in folder con numero 123:

    folders:123
    
  • Trova tutte le associazioni dei criteri di autorizzazione IAM impostate sulle risorse il cui organization ha il numero 123:

    organization:123
    

Esegui query sui criteri di autorizzazione IAM per testo libero

Puoi anche utilizzare una query di testo libero senza specificare un campo. La risposta restituisce i criteri di autorizzazione a condizione che sia presente un campo disponibile per la ricerca (ad esempio, campi di associazione dei criteri o campi delle risorse) corrispondente alla query.

Esempi: query per testo libero

  • Trova tutte le associazioni di criteri di autorizzazione IAM in scope i cui campi di metadati (ad esempio, consenti associazioni di criteri o campi di risorse) contengono Important come parola:

    Important
    
  • Trova tutte le associazioni di criteri di autorizzazione IAM nel tuo scope i cui campi di metadati (ad esempio, consenti associazioni di criteri o campi di risorse) contengono import come prefisso di qualsiasi parola:

    import*