Índice
IAMPolicy
(interface)AuditConfig
(mensagem)AuditLogConfig
(mensagem)AuditLogConfig.LogType
(enumeração)Binding
(mensagem)GetIamPolicyRequest
(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 de um recurso. Retornará 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 existente.
|
TestIamPermissions | |
---|---|
Retorna permissões do autor da chamada no recurso especificado. Se o recurso não estiver presente, isso retornará um conjunto vazio de permissões, não um erro NOT_FOUND. 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.
|
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 serão ativados, e os membros isentos em cada AuditLogConfig estarão isentos.
Exemplo de política com vários AuditConfigs:
{
"audit_configs": [
{
"service": "allServices"
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:foo@gmail.com"
]
},
{
"log_type": "DATA_WRITE",
},
{
"log_type": "ADMIN_READ",
}
]
},
{
"service": "fooservice.googleapis.com"
"audit_log_configs": [
{
"log_type": "DATA_READ",
},
{
"log_type": "DATA_WRITE",
"exempted_members": [
"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.
Campos | |
---|---|
service |
Especifica um serviço que é ativado para geração de registros de auditoria. Por exemplo, |
audit_log_configs[] |
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:
{
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:foo@gmail.com"
]
},
{
"log_type": "DATA_WRITE",
}
]
}
Isso permite a geração de registros 'DATA_READ' e 'DATA_WRITE', enquanto isenta foo@gmail.com da geração de registros DATA_READ.
Campos | |
---|---|
log_type |
O tipo de registro permitido por essa configuração. |
exempted_members[] |
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 |
Vinculação
Associa members
a um role
.
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. |
GetIamPolicyRequest
Mensagem de solicitação para o método GetIamPolicy
.
Campos | |
---|---|
resource |
OBRIGATÓRIO: o recurso para o qual a política está sendo solicitada. Consulte a documentação da operação para ver o valor apropriado para este campo. |
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.
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 recursos correspondentes, consulte o guia do desenvolvedor do IAM.
Campos | |
---|---|
version |
Obsoleto. |
bindings[] |
Associa uma lista de |
audit_configs[] |
Especifica a configuração da geração de registros de auditoria em nuvem para esta política. |
etag |
A Se nenhuma |
SetIamPolicyRequest
Mensagem de solicitação para o método SetIamPolicy
.
Campos | |
---|---|
resource |
OBRIGATÓRIO: o recurso para o qual a política está sendo especificada. Consulte a documentação da operação para ver o valor apropriado para este campo. |
policy |
OBRIGATÓRIO: a política completa a ser aplicada ao |
update_mask |
OPCIONAL: um FieldMask que especifica quais campos da política precisam ser modificados. Somente os campos da máscara serão modificados. Se não for fornecida nenhuma máscara, será usada a seguinte máscara padrão: paths: "bindings, etag". Este campo é usado apenas pelo Cloud IAM. |
TestIamPermissionsRequest
Mensagem de solicitação para o método TestIamPermissions
.
Campos | |
---|---|
resource |
OBRIGATÓRIO: o recurso para o qual o detalhe da política está sendo solicitado. Consulte a documentação da operação para ver o valor apropriado para este campo. |
permissions[] |
O conjunto de permissões a serem verificadas do |
TestIamPermissionsResponse
Mensagem de resposta para o método TestIamPermissions
.
Campos | |
---|---|
permissions[] |
Um subconjunto de |