Testa le modifiche dei ruoli con Policy Simulator

Questa pagina descrive come simulare una modifica a una policy di autorizzazione IAM utilizzando Policy Simulator. Spiega inoltre come interpretare i risultati della simulazione e come applicare le norme di autorizzazione simulate, se lo desideri.

Questa funzionalità valuta l'accesso solo in base alle policy di autorizzazione.

Per scoprire come simulare le modifiche ad altri tipi di policy, consulta quanto segue:

Prima di iniziare

  • Abilita le API Policy Simulator e Resource Manager.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

    Abilita le API

  • (Facoltativo) Scopri come funziona Policy Simulator per le policy di autorizzazione.

Autorizzazioni obbligatorie

Prima di simulare una modifica a una policy di autorizzazione, devi assicurarti di disporre delle autorizzazioni appropriate. Per eseguire una simulazione sono necessarie determinate autorizzazioni; altre non sono necessarie, ma ti aiutano a ottenere i risultati più completi dalla simulazione.

Per scoprire di più sui ruoli Identity and Access Management (IAM), consulta la sezione Informazioni sui ruoli.

Autorizzazioni obbligatorie per la risorsa di destinazione

La risorsa di destinazione della simulazione è la risorsa di cui stai simulando le policy di autorizzazione.

Per ottenere le autorizzazioni necessarie per eseguire una simulazione, chiedi all'amministratore di concederti i seguenti ruoli IAM sulla risorsa di destinazione:

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

Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire una simulazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eseguire una simulazione sono necessarie le seguenti autorizzazioni:

  • cloudasset.assets.searchAllResources
  • policysimulator.replays.run
  • service.resource.getIamPolicy, dove resource è il tipo di risorsa di destinazione e service è il nome del servizio Google Cloud proprietario della risorsa.
  • Applica le modifiche alla policy simulate: service.resource.setIamPolicy, dove resource è il tipo di risorsa della risorsa di destinazione e service è il nome del servizio Google Cloud proprietario della risorsa.

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Autorizzazioni obbligatorie per le risorse host

La risorsa host di una simulazione è il progetto, la cartella o l'organizzazione che crea ed esegue la simulazione. La risorsa host non deve essere correlata alla risorsa di destinazione in alcun modo.

Il modo in cui imposti la risorsa host dipende dalla piattaforma che utilizzi.

Console

La risorsa host è il progetto, la cartella o l'organizzazione che viene visualizzata nel selettore di risorse.

Per modificare la risorsa host, scegli un progetto, una cartella o un'organizzazione diversi nel selettore di risorse.

gcloud

La risorsa host è il progetto di quota attuale. Per impostare il progetto di quota, utilizza il comando gcloud auth application-default set-quota-project.

REST

Specifichi manualmente la risorsa host ogni volta che invii una richiesta. Per ulteriori dettagli, consulta la sezione Simulare una modifica alle policy in questa pagina.

Per ottenere le autorizzazioni necessarie per eseguire una simulazione, chiedi all'amministratore di concederti il ruolo IAM Simulator Admin (roles/policysimulator.admin) sulla risorsa host. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per eseguire una simulazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eseguire una simulazione sono necessarie le seguenti autorizzazioni:

  • policysimulator.replayResults.list
  • policysimulator.replays.create
  • policysimulator.replays.get

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Per ottenere i risultati più completi da una simulazione, ti consigliamo di disporre di determinate autorizzazioni IAM e Google Workspace. Se non disponi di alcune o di tutte queste autorizzazioni, puoi comunque eseguire una simulazione. Tuttavia, l'esecuzione di una simulazione senza queste autorizzazioni potrebbe comportare un aumento del numero di modifiche di accesso sconosciute, perché potresti non essere in grado di recuperare informazioni che potrebbero influire sui risultati della simulazione.

Ti consigliamo di disporre del ruolo Revisore della sicurezza (roles/iam.securityReviewer) per la tua organizzazione quando esegui una simulazione. In alternativa, se disponi già del ruolo Amministratore sicurezza (roles/iam.securityAdmin), non devi concedere altri ruoli.

Questi ruoli ti concedono le seguenti autorizzazioni, che ti aiutano a ottenere i risultati più completi dalla simulazione:

  • iam.roles.get e iam.roles.list su progetti, cartelle o organizzazioni pertinenti in cui sono definiti ruoli personalizzati. Un progetto, una cartella o un'organizzazione è pertinente se è un predecessore o un discendente della risorsa di cui stai simulando il criterio di autorizzazione.
  • service.resource.getIamPolicy, dove resource è il nome di un tipo di risorsa che può avere una policy di autorizzazione e service è il nome del servizioGoogle Cloud proprietario della risorsa.

    Quando esegui una simulazione, ti consigliamo di disporre di questa autorizzazione per ogni risorsa che soddisfa questi criteri:

    • Policy Simulator supporta la risorsa.
    • La risorsa ha un criterio di autorizzazione che potrebbe influire sull'accesso dell'utente. Ciò è vero se si verifica una delle seguenti condizioni:

      • La risorsa è un discendente della risorsa di cui stai simulando il criterio di autorizzazione e viene visualizzata nei log di accesso pertinenti.
      • La risorsa è un predecessore della risorsa di cui stai simulando il criterio di autorizzazione.

    Ad esempio, supponiamo che tu voglia simulare una policy di autorizzazione per un progetto. Se i log di accesso includono un tentativo di accesso a un bucket Cloud Storage nel progetto, devi disporre dell'autorizzazione storage.buckets.getIamPolicy per quel bucket. Se il progetto ha una cartella principale con un criterio di autorizzazione, devi disporre anche dell'autorizzazione resourcemanager.folders.getIamPolicy per quella cartella.

Ti consigliamo di disporre dell'autorizzazione per recuperare le informazioni sull'iscrizione al gruppo per ogni gruppo Google nelle norme di autorizzazione originali e in quelle proposte.

I super amministratori e gli amministratori dei gruppi di Google Workspace in genere hanno accesso alla visualizzazione dell'appartenenza ai gruppi. Se non sei un super amministratore o un amministratore del gruppo, chiedi all'amministratore di Google Workspace di creare un ruolo amministrativo di Google Workspace personalizzato che contenga il privilegio groups.read (che si trova in Privilegi API Admin) e di concedertelo. In questo modo puoi visualizzare i membri di tutti i gruppi all'interno del tuo dominio e simulare in modo più efficace le modifiche a un criterio di autorizzazione.

Simulare una modifica alla policy

Simula una modifica a un criterio di autorizzazione seguendo questi passaggi.

Console

L'esempio seguente mostra come simulare una modifica a un criterio di autorizzazione per un progetto. Tuttavia, puoi simulare una modifica a un criterio di autorizzazione per qualsiasi risorsa che disponga di un criterio di autorizzazione.

Modifica le autorizzazioni di un principal, quindi, anziché fare clic su Salva, fai clic su Testa modifiche:

  1. Nella console Google Cloud vai alla pagina IAM.

    Vai alla pagina IAM

  2. Crea una modifica proposta alla policy di autorizzazione modificando le autorizzazioni di un principal esistente:

    1. Individua l'entità di cui vuoi modificare l'accesso e fai clic sul pulsante Modifica a destra.
    2. Modifica l'accesso dell'entità aggiungendo un nuovo ruolo o revocando o modificando un ruolo esistente.
  3. Per simulare la modifica proposta, fai clic su Testa modifiche.

  4. Dopo alcuni minuti, la console Google Cloud mostrerà i risultati della simulazione come un elenco di modifiche all'accesso. Per saperne di più, consulta la sezione Informazioni sui risultati Policy Simulator policy in questa pagina.

    Se non è stata apportata alcuna modifica all'accesso tra la policy di autorizzazione esistente e quella simulata, la console Google Cloud non mostrerà alcuna modifica all'accesso.

gcloud

Per simulare una modifica a un criterio di autorizzazione, segui il pattern read-modify-write, ma simula il criterio di autorizzazione anziché scriverlo.

  1. Leggi la policy di autorizzazione attuale eseguendo questo comando:

    gcloud resource-type get-iam-policy resource-id --format=format > filepath

    Sostituisci i seguenti valori:

    • resource-type: il tipo di risorsa per cui vuoi simulare una policy di autorizzazione. Ad esempio, projects.
    • resource-id: l'ID della risorsa di cui vuoi simulare la policy di autorizzazione. Ad esempio, my-project.
    • format: il formato della risposta. Utilizza il valore json o yaml.
    • filepath: il percorso di un nuovo file di output per la policy di autorizzazione.

    Ad esempio, il seguente comando recupera la policy di autorizzazione per il progetto my-project in formato JSON e la salva nella home directory dell'utente:

    gcloud projects get-iam-policy my-project --format=json > ~/policy.json
  2. Modifica la policy di autorizzazione JSON o YAML restituita dal comando get-iam-policy per riflettere le modifiche che vuoi simulare.

    Esistono diversi tipi di modifiche che puoi apportare ai criteri di autorizzazione. Ad esempio, puoi aggiungere o rimuovere un'entità da un'associazione di ruoli oppure rimuovere un'associazione di ruoli dalla policy di autorizzazione.