Índice
IAMPolicy
(interface)Binding
(mensagem)GetIamPolicyRequest
(mensagem)GetPolicyOptions
(mensagem)Policy
(mensagem)SetIamPolicyRequest
(mensagem)TestIamPermissionsRequest
(mensagem)TestIamPermissionsResponse
(mensagem)
IAMPolicy
Visão geral da API
Gerencia as políticas de gerenciamento de identidade e acesso (IAM, na sigla em inglês).
Qualquer implementação de uma API que ofereça recursos de controle de acesso implementa a interface google.iam.v1.IAMPolicy.
Modelo de dados
O controle de acesso é aplicado quando um principal (usuário ou conta de serviço) executa alguma ação em um recurso exposto por um serviço. Os recursos, identificados por nomes semelhantes a URI, são a unidade de especificação de controle de acesso. As implementações de serviço podem escolher a granularidade do controle de acesso e as permissões aceitas nos recursos. Por exemplo, um serviço de banco de dados pode permitir que o controle de acesso seja especificado somente no nível da Tabela, já outro pode permitir que o controle de acesso também seja especificado no nível da Coluna.
Estrutura da política
Consulte google.iam.v1.Policy
Ela não tem a intenção de ser uma API no estilo CRUD porque as políticas de controle de acesso são criadas e excluídas implicitamente com os recursos aos quais são anexadas.
GetIamPolicy |
---|
Busca a política de controle de acesso a um recurso. Retorna uma política vazia se o recurso estiver presente e não tiver um conjunto de políticas.
|
SetIamPolicy |
---|
Define a política de controle de acesso no recurso especificado. Substitui qualquer política atual. Pode retornar erros
|
TestIamPermissions |
---|
Retorna permissões do autor da chamada no recurso especificado. Se o recurso não existir, isso retornará um conjunto vazio de permissões, mas não um erro Observação: essa operação foi projetada para ser usada na criação de IUs e ferramentas de linha de comando e não para verificação de autorização. Essa operação pode "falhar em abrir" sem aviso prévio.
|
Vinculação
Associa members
, ou principais, a um role
.
Campos | |
---|---|
role |
Papel atribuído à lista de |
members[] |
Especifica as identidades que solicitam acesso a um recurso do Google Cloud.
|
condition |
A condição que está associada a essa vinculação. Se a condição for avaliada como Se a condição for avaliada como Para saber quais recursos são compatíveis com as condições nas políticas do IAM, consulte a documentação do IAM. |
GetIamPolicyRequest
Solicita uma mensagem ao método GetIamPolicy
.
Campos | |
---|---|
resource |
OBRIGATÓRIO: o recurso para o qual a política está sendo solicitada. Consulte Nomes de recursos para saber o valor apropriado para esse campo. |
options |
OPCIONAL: um objeto |
GetPolicyOptions
Encapsula as configurações fornecidas para GetIamPolicy.
Campos | |
---|---|
requested_policy_version |
Opcional. A versão máxima da política que será usada para formatar a política. Os valores válidos são: 0, 1 e 3. Solicitações especificando um valor inválido serão rejeitadas. As solicitações de políticas com qualquer vinculação de papel condicional precisam especificar a versão 3. As políticas sem vinculações de papéis condicionais podem especificar qualquer valor válido ou deixar o campo sem definição. A política na resposta pode usar a versão da política especificada ou uma versão anterior. Por exemplo, se você especificar a versão 3, mas a política não tiver vinculações de papéis condicionais, a resposta usará a versão 1. Para saber quais recursos são compatíveis com as condições nas políticas do IAM, consulte a documentação do IAM. |
Policy
Uma política de gerenciamento de identidade e acesso (IAM), 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.
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 |
SetIamPolicyRequest
Solicita uma mensagem ao método SetIamPolicy
.
Campos | |
---|---|
resource |
OBRIGATÓRIO: o recurso para que a política está sendo especificada. Consulte Nomes de recursos para saber o valor apropriado para esse campo. |
policy |
OBRIGATÓRIO: a política completa a ser aplicada ao |
TestIamPermissionsRequest
Solicita uma mensagem ao método TestIamPermissions
.
Campos | |
---|---|
resource |
OBRIGATÓRIO: o recurso para o qual o detalhe da política está sendo solicitado. Consulte Nomes de recursos para saber o valor apropriado para esse campo. |
permissions[] |
O conjunto de permissões a serem verificadas para o |
TestIamPermissionsResponse
Mensagem de resposta para o método TestIamPermissions
.
Campos | |
---|---|
permissions[] |
Um subconjunto de |