Uma política de gerenciamento de identidade e acesso (IAM, na sigla em inglês), que especifica controles de acesso para recursos do Google Cloud.
Um Policy é uma coleção de bindings. Uma binding vincula um ou mais members, ou principais, a um único role. Os membros podem ser contas de usuário, contas de serviço, Grupos do Google e domínios, como o G Suite. Um role é uma lista nomeada de permissões. Cada role pode ser um papel pré-definido do IAM ou um papel personalizado criado pelo usuário.
Para determinados tipos de recursos do Google Cloud, uma binding também pode especificar uma condition, que é uma expressão lógica que permitirá acesso a um recurso somente se a expressão for avaliada como true. Uma condição pode adicionar restrições com base nos atributos da solicitação, do recurso ou de ambos. Para saber quais recursos são compatíveis com as condições nas políticas do IAM, consulte a documentação do 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 dos recursos dele, 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 vinculações condicionais de papel precisa especificar a versão
Importante: se você usar as condições do IAM, precisará incluir o campo Se uma política não incluir nenhuma condição, as operações nessa política poderão especificar qualquer versão válida ou deixar o campo não definido. Para saber quais recursos são compatíveis com as condições nas políticas do IAM, consulte a documentação do IAM. |
bindings[] |
Associa uma lista de O |
etag |
Importante: se você usar as condições do IAM, precisará incluir o campo Uma string codificada em base64. |