Policy

Define uma política de Gerenciamento de Identidade e Acesso (IAM). É usada para especificar políticas de controle de acesso a recursos do Cloud Platform.

Um Policy consiste em uma lista de bindings. Um binding vincula uma lista de members com 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(Binding)
    }
  ],
  "etag": string
}
Campos
version
(deprecated)

number

Obsoleto.

bindings[]

object(Binding)

Associa uma lista de members a um role. bindings sem membros resultará em erro.

etag

string (bytes format)

etag é usado para otimização do controle de simultaneidade, para ajudar a evitar que atualizações simultâneas de uma política substituam-se mutuamente. É altamente recomendável que os sistemas usem etag no ciclo de leitura-modificação-gravação para fazer atualizações de política e evitar disputas. Um etag é retornado na resposta a getIamPolicy e ele é colocado na solicitação a setIamPolicy para garantir que a alteração seja aplicada à mesma versão da política.

Se nenhum etag for fornecido na chamada a setIamPolicy, a política atual será substituída cegamente.

Uma string codificada em base64.

Vinculação

Associa members a um role.

Representação JSON
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object(Expr)
  }
}
Campos
role

string

Papel atribuído aos members. Por exemplo, roles/viewer, roles/editor ou roles/owner.

members[]

string

Especifica as identidades que solicitam acesso a um recurso do Cloud Platform. Os membersmembers podem ter os seguintes valores:

  • allUsers: um identificador especial que representa qualquer pessoa na Internet, com ou sem uma conta do Google.

  • allAuthenticatedUsers: um identificador especial que representa qualquer pessoa autenticada com uma Conta do Google ou uma conta de serviço.

  • user:{emailid}: um endereço de e-mail que representa uma Conta do Google específica. Por exemplo, alice@gmail.com.

  • serviceAccount:{emailid}: um endereço de e-mail que representa uma conta de serviço. Por exemplo, my-other-app@appspot.gserviceaccount.com.

  • group:{emailid}: um endereço de e-mail que representa um grupo do Google. Por exemplo, admins@example.com.

  • domain:{domain}: um nome de domínio do Google Apps que representa todos os usuários desse domínio. Por exemplo, google.com ou example.com.

condition

object(Expr)

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

string

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

string

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

string

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

string

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.