Esistono diversi metodi che puoi utilizzare per risolvere i problemi relativi ai criteri di autorizzazione, di negazione e dei limiti di accesso all'entità di Identity and Access Management (IAM).
Utilizzare lo strumento per la risoluzione dei problemi relativi ai criteri
Se devi risolvere i problemi di accesso per un'entità specifica, utilizza Policy Troubleshooter per IAM.
Lo strumento per la risoluzione dei problemi relativi ai criteri ti aiuta a capire se un'entità possono accedere a una risorsa. Dati un'entità, una risorsa e un'autorizzazione, lo strumento per la risoluzione dei problemi dei criteri esamina i criteri di autorizzazione, di negazione e di limite di accesso all'entità (PAB) che influiscono sull'accesso dell'entità. Poi indica se, in base a questi criteri, l'entità può utilizzare l'autorizzazione specificata per accedere alla risorsa. Elenca anche i contenuti pertinenti i criteri e spiega come influiscono sull'accesso dell'entità.Per scoprire come utilizzare lo strumento per la risoluzione dei problemi relativi ai criteri per risolvere i problemi relativi ai criteri di autorizzazione, ai criteri di negazione e ai criteri di limite di accesso all'entità, consulta Risolvere i problemi relativi alle autorizzazioni IAM.
Visualizza tutti i criteri di autorizzazione e di negazione che si applicano a una risorsa
In Google Cloud, i seguenti criteri di autorizzazione e negazione influiscono sull'accesso a una risorsa:
- Il criterio di autorizzazione della risorsa
- Eventuali criteri di rifiuto della risorsa
- I criteri di autorizzazione del progetto, della cartella e organizzazione, se presente
- I criteri di negazione del progetto, della cartella e dell'organizzazione padre della risorsa. se presente
I criteri di autorizzazione e di negazione di organizzazioni, cartelle e progetti padre influisce sull'accesso a una risorsa a causa dell'ereditarietà dei criteri. Quando colleghi un criterio di autorizzazione o negazione a un progetto, una cartella o un'organizzazione, il criterio si applica anche a tutte le risorse all'interno del progetto, della cartella dell'organizzazione.
Ad esempio, se un criterio di rifiuto per un'organizzazione indica che un'entità non può utilizzare un'autorizzazione specifica, l'entità non potrà utilizzare l'autorizzazione per nessuna risorsa all'interno dell'organizzazione. Questa regola si applica anche se le cartelle e i progetti all'interno dell'organizzazione hanno criteri di rifiuto più permissivi o criteri di autorizzazione che concedono all'entità l'autorizzazione.
Analogamente, se un criterio di autorizzazione per un progetto assegna a un'entità un'autorizzazione specifica, l'entità dispone di questa autorizzazione per qualsiasi risorsa all'interno del progetto, a condizione che l'autorizzazione non venga negata.
L'unione di tutte queste norme è definita norma applicabile o criterio effettivo per la risorsa.
In Google Cloud puoi ottenere un elenco di tutti i criteri di autorizzazione e di negazione
che influiscono sull'accesso a un progetto usando il comando gcloud beta projects
get-ancestors-iam-policy
con il flag --include-deny
. Insieme,
questi criteri costituiscono il criterio applicabile al progetto. Puoi
esamina ogni criterio per vedere come influisce sull'accesso dell'entità.
gcloud
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
PROJECT_ID
: l'ID del tuo progetto Google Cloud. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
.
Esegui la
gcloud beta projects get-ancestors-iam-policy
:
Linux, macOS o Cloud Shell
gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json
Windows (PowerShell)
gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json
Windows (cmd.exe)
gcloud beta projects get-ancestors-iam-policy PROJECT_ID --include-deny --format=json
La risposta contiene i criteri di autorizzazione e diniego per il progetto, eventuali cartelle precedenti del progetto e l'organizzazione. L'esempio seguente mostra i criteri di autorizzazione per
organizzazione 1234567890123
e al progetto my-project
, nonché un blocco
criterio per il progetto my-project
:
[ { "id": "1234567890123", "policy": { "bindings": [ { "members": [ "group:cloud-admins@example.com" ], "role": "roles/iam.denyAdmin" }, { "members": [ "user:raha@example.com" ], "role": "roles/iam.serviceAccountAdmin" } ], "etag": "BwXW6Eab7TI=", "version": 1 }, "type": "organization" }, { "id": "my-project", "policy": { "bindings": [ { "members": [ "group:cloud-admins@example.com" ], "role": "roles/owner" } ], "etag": "BwXXjOM7L6M=", "type": "project" } }, { "id": "my-project", "policy": { "createTime": "2022-02-14T21:46:35.865279Z", "displayName": "My deny policy", "etag": "MTgyMzg2ODcwNTEyMjMxMTM3Mjg=", "kind": "DenyPolicy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F123456789012/denypolicies/my-deny-policy", "rules": [ { "denyRule": { "deniedPermissions": [ "iam.googleapis.com/serviceAccounts.create" ], "deniedPrincipals": [ "principal://goog/subject/raha@example.com" ] }, "description": "Prevent service account creation" } ], "uid": "c83e3dc3-d8a6-6f51-4018-814e9f200b05", "updateTime": "2022-02-14T21:46:35.865279Z" }, "type": "project" } ]
In questo esempio, all'utente raha@example.com
viene concesso l'account di servizio
Ruolo di amministratore (roles/iam.serviceAccountAdmin
) per l'organizzazione, ma
il progetto ha un criterio di negazione che impedisce a raha@example.com
di utilizzare
l'autorizzazione iam.googleapis.com/serviceAccounts.create
. Di conseguenza, se
raha@example.com
tenta di creare un account di servizio nel progetto
my-project
, la richiesta verrà rifiutata.
In alcuni casi, potresti dover visualizzare solo il criterio di autorizzazione effettivo per un ad esempio se la tua organizzazione non usa criteri di negazione. Nella in questi casi, puoi utilizzare i seguenti metodi per visualizzare l'effettiva norme:
Visualizza il criterio di autorizzazione IAM della risorsa nella console Google Cloud. La console Google Cloud mostra automaticamente il criterio effettivo di ogni risorsa.
Per informazioni su come visualizzare il criterio di autorizzazione IAM di una risorsa nella Console Google Cloud, consulta Visualizzare l'accesso attuale.
Usa l'API Cloud Asset per ottenere il criterio di autorizzazione effettivo della risorsa. Per apprendere consulta Visualizzazione dei criteri IAM effettivi.
Cerca criteri di autorizzazione
Se hai bisogno di individuare un'associazione di ruoli specifica in un criterio di autorizzazione, puoi cerca il criterio di autorizzazione.
Cloud Asset Inventory ti consente di cercare i criteri di autorizzazione per le associazioni di ruoli che corrispondono ai parametri specificati. Puoi utilizzare una serie di parametri di ricerca, tra cui:
- Tipo di risorsa
- Tipo di entità
- Ruolo
- Progetto
- Cartella
- Organizzazione
Per saperne di più, consulta Ricerca dei criteri di autorizzazione IAM.