Define uma política de Gerenciamento de Identidade e Acesso (IAM, na sigla em inglês). É usada para especificar políticas de controle de acesso a recursos do Cloud Platform.
Uma Policy
consiste em uma lista de bindings
. Uma binding
vincula uma lista de members
a um role
, em que os membros podem ser contas de usuário, grupos do Google, domínios do Google e contas de serviço. Um role
é uma lista nomeada de permissões definidas pelo IAM.
Exemplo de JSON
{
"bindings": [
{
"role": "roles/owner",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-other-app@appspot.gserviceaccount.com"
]
},
{
"role": "roles/viewer",
"members": ["user:sean@example.com"]
}
]
}
Exemplo de YAML
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-other-app@appspot.gserviceaccount.com
role: roles/owner
- members:
- user:sean@example.com
role: roles/viewer
Para ler uma descrição do IAM e seus recursos, consulte o guia do desenvolvedor do IAM.
Representação JSON | |
---|---|
{ "version": number, "bindings": [ { object( |
Campos | |
---|---|
version |
Obsoleto. |
bindings[] |
Associa uma lista de |
auditConfigs[] |
Especifica a configuração da geração de registros de auditoria em nuvem para esta política. |
etag |
A Se não é fornecida uma Uma string codificada em base64. |
Vinculação
Associa members
a um role
.
Representação JSON | |
---|---|
{
"role": string,
"members": [
string
],
"condition": {
object( |
Campos | |
---|---|
role |
Papel atribuído aos |
members[] |
Especifica as identidades que solicitam acesso a um recurso do Cloud Platform. Os
|
condition |
Não implementado. A condição que está associada a essa vinculação. OBSERVAÇÃO: uma condição não satisfeita impede o acesso do usuário pela vinculação atual. Vinculações diferentes, incluindo as próprias condições, são examinadas de maneira independente. |
Expr
Representa um texto de expressão. Exemplo:
title: "User account presence"
description: "Determines whether the request has a user account"
expression: "size(request.user) > 0"
Representação JSON | |
---|---|
{ "expression": string, "title": string, "description": string, "location": string } |
Campos | |
---|---|
expression |
Representação textual de uma expressão na sintaxe de Linguagem de expressão comum. O contexto do aplicativo a que pertence a mensagem determina qual conjunto de recursos conhecido da Linguagem de expressão comum (CEL, na sigla em inglês) é compatível. |
title |
Um título opcional para a expressão, ou seja, uma string curta descrevendo a finalidade. Isso pode ser usado, por exemplo, em IUs que permitam inserir a expressão. |
description |
Uma descrição opcional da expressão. Este é um texto mais longo que descreve a expressão, por exemplo, quando o cursor é passado sobre ela em uma IU. |
location |
Uma sequência opcional indicando a localização da expressão para relatórios de erros, por exemplo, um nome de arquivo e uma posição no arquivo. |
AuditConfig
Especifica a configuração de auditoria para um serviço. A configuração determina quais tipos de permissão são registrados e quais identidades, se houver, estão isentas de geração de registros. Um AuditConfig precisa ter um ou mais AuditLogConfigs.
Se houver AuditConfigs para allServices
e um serviço específico, a união dos dois AuditConfigs será usada para esse serviço: os tipos de registro especificados em cada AuditConfig são ativados e os exemptedMembers em cada AuditLogConfig são isentos.
Exemplo de política com vários AuditConfigs:
{
"auditConfigs": [
{
"service": "allServices"
"auditLogConfigs": [
{
"logType": "DATA_READ",
"exemptedMembers": [
"user:foo@gmail.com"
]
},
{
"logType": "DATA_WRITE",
},
{
"logType": "ADMIN_READ",
}
]
},
{
"service": "fooservice.googleapis.com"
"auditLogConfigs": [
{
"logType": "DATA_READ",
},
{
"logType": "DATA_WRITE",
"exemptedMembers": [
"user:bar@gmail.com"
]
}
]
}
]
}
Para o fooservice, essa política permite a geração de registros de DATA_READ, DATA_WRITE e ADMIN_READ. Ela também isenta foo@gmail.com da geração de registros de DATA_READ e bar@gmail.com da geração de registros de DATA_WRITE.
Representação JSON | |
---|---|
{
"service": string,
"auditLogConfigs": [
{
object( |
Campos | |
---|---|
service |
Especifica um serviço que é ativado para geração de registros de auditoria. Por exemplo, |
auditLogConfigs[] |
A configuração para a geração de registros de cada tipo de permissão. |
AuditLogConfig
Fornece a configuração para geração de registros de um tipo de permissões. Exemplo:
{
"auditLogConfigs": [
{
"logType": "DATA_READ",
"exemptedMembers": [
"user:foo@gmail.com"
]
},
{
"logType": "DATA_WRITE",
}
]
}
Isso ativa a geração de registros de "DATA_READ" e "DATA_WRITE" e isenta foo@gmail.com da geração de registros de DATA_READ.
Representação JSON | |
---|---|
{
"logType": enum( |
Campos | |
---|---|
logType |
O tipo de registro permitido por essa configuração. |
exemptedMembers[] |
Especifica as identidades que não causam geração de registros para esse tipo de permissão. Segue o mesmo formato de |
LogType
A lista de tipos de permissão válidos para os quais a geração de registros pode ser configurada. As gravações de administrador sempre são registradas e não são configuráveis.
Enums | |
---|---|
LOG_TYPE_UNSPECIFIED |
Caso padrão. Nunca deve ser isso. |
ADMIN_READ |
O administrador lê. Exemplo: CloudIAM getIamPolicy |
DATA_WRITE |
Dados são gravados. Exemplo: CloudSQL Users create |
DATA_READ |
Dados são lidos. Exemplo: CloudSQL Users list |