Política

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.

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(Binding)
    }
  ],
  "etag": string
}
Campos
version
(deprecated)

number

Obsoleto.

bindings[]

object(Binding)

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

etag

string (bytes format)

etag é usada para controle de simultaneidade otimista como forma de ajudar a evitar atualizações simultâneas de uma política por outra. É altamente recomendável que os sistemas usem a etag no ciclo de leitura-modificação-gravação para fazer atualizações de políticas e evitar condições de corrida. Uma etag é retornada na resposta a getIamPolicy e essa etag é colocada na solicitação de setIamPolicy para garantir que a alteração seja aplicada à mesma versão da política.

Se não é fornecida uma etag na chamada para setIamPolicy, a política existente é substituída sem visualização.

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 members 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 string opcional indicando o local da expressão para relatórios de erros, por exemplo, um nome de arquivo e uma posição no arquivo.