Uma política de gestão de identidade e de acesso (IAM), que especifica os controlos de acesso para os recursos do Google Cloud.
Um Policy é uma coleção de bindings. Uma binding associa um ou mais members, ou principais, a um único role. Os principais podem ser contas de utilizador, contas de serviço, grupos Google e domínios (como o G Suite). Uma role é uma lista de autorizações com nome; cada role pode ser uma função predefinida do IAM ou uma função personalizada criada pelo utilizador.
Para alguns tipos de recursos do Google Cloud, uma binding também pode especificar uma condition, que é uma expressão lógica que permite o acesso a um recurso apenas se a expressão for avaliada como true. Uma condição pode adicionar restrições com base nos atributos do pedido, do recurso ou de ambos. Para saber que recursos suportam condições nas respetivas políticas de IAM, consulte a documentação da IAM.
Exemplo de JSON:
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Exemplo de YAML:
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
Para uma descrição do IAM e das respetivas funcionalidades, consulte a documentação do IAM.
| Representação JSON |
|---|
{ "version": integer, "bindings": [ { object ( |
| Campos | |
|---|---|
version |
Especifica o formato da política. Os valores válidos são Qualquer operação que afete as associações de funções condicionais tem de especificar a versão
Importante: se usar condições do IAM, tem de incluir o campo Se uma política não incluir condições, as operações nessa política podem especificar qualquer versão válida ou deixar o campo não definido. Para saber que recursos suportam condições nas respetivas políticas de IAM, consulte a documentação da IAM. |
bindings[] |
Associa uma lista de O |
auditConfigs[] |
Especifica a configuração do registo de auditoria na nuvem para esta política. |
etag |
Importante: se usar condições do IAM, tem de incluir o campo Uma string codificada em Base64. |