Busca a política de controle de acesso de um recurso. Pode estar vazio se não há tal política ou recurso. Faça o teste agora.
Solicitação
Solicitação HTTP
GET https://www.googleapis.com/deploymentmanager/v2beta/projects/project /global/deployments/resource /getIamPolicy
Parâmetros
Nome do parâmetro | Valor | Descrição |
---|---|---|
Parâmetros de caminho | ||
project |
string |
O código do projeto dessa solicitação. |
resource |
string |
Nome ou ID do recurso para essa solicitação. |
Autorização
Esta solicitação requer autorização com pelo menos um dos seguintes escopos:
escopo |
---|
https://www.googleapis.com/auth/cloud-platform |
https://www.googleapis.com/auth/ndev.cloudman |
Corpo da solicitação
Não forneça um corpo de solicitação com este método.
Resposta
Se bem-sucedido, este método retornará um corpo de resposta com a seguinte estrutura:
{ "version":integer , "bindings": [ { "role":string , "members": [string ], "condition": { "expression":string , "title":string , "description":string , "location":string } } ], "auditConfigs": [ { "service":string , "exemptedMembers": [string ], "auditLogConfigs": [ { "logType":string , "exemptedMembers": [string ], "ignoreChildExemptions":boolean } ] } ], "rules": [ { "description":string , "permissions": [string ], "action":string , "ins": [string ], "notIns": [string ], "conditions": [ { "iam":string , "sys":string , "svc":string , "op":string , "values": [string ] } ], "logConfigs": [ { "counter": { "metric":string , "field":string , "customFields": [ { "name":string , "value":string } ] }, "dataAccess": { "logMode":string }, "cloudAudit": { "logName":string , "authorizationLoggingOptions": { "permissionType":string } } } ] } ], "etag":bytes , "iamOwned":boolean }
Nome da propriedade | Valor | Descrição | Observações |
---|---|---|---|
version |
integer |
Especifica o formato da política. Os valores válidos são "0", "1" e "3". As solicitações que especificam um valor inválido são rejeitadas. Qualquer operação que afete as vinculações de papel condicionais precisa especificar a versão "3". Esse requisito se aplica às seguintes operações: * Receber uma política que inclui uma vinculação de papel condicional * Adicionar uma vinculação de papel condicional a uma política * Alterar uma vinculação de papel condicional em uma política * Remover qualquer vinculação de papel, com ou sem uma condição, de uma política que inclui condições **Importante:** Se você usar as condições do IAM, precisará incluir o campo "etag" sempre que chamar "setIamPolicy". Se você omitir esse campo, o IAM vai permitir que você substitua uma política da versão 3 por uma da versão 1, e todas as condições na versão 3 serão perdidas. 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](https://cloud.google.com/iam/help/conditions/resource-policies). |
|
bindings[] |
list |
Associa uma lista de "members" a um "role". Opcionalmente, pode especificar uma "condition" que determina como e quando as "bindings" são aplicadas. Cada um dos "bindings" precisa conter pelo menos um membro. | |
bindings[].role |
string |
Papel atribuído a "members". Por exemplo, "roles/viewer", "roles/editor" ou "roles/owner". | |
bindings[].members[] |
list |
Especifica as identidades que solicitam acesso a um recurso do Cloud Platform. `members` pode 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@example.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". * "deleted:user:{emailid}?uid={uniqueid}": um endereço de e-mail (mais identificador exclusivo) que representa um usuário excluído recentemente. Por exemplo, "alice@example.com?uid=123456789012345678901". Se o usuário for recuperado, esse valor será revertido para "user:{emailid}", e o usuário recuperado vai manter o papel na vinculação. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: um endereço de e-mail (mais um identificador exclusivo) que representa uma conta de serviço excluída recentemente. Por exemplo, "my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901". Se a exclusão da conta de serviço for revertida, esse valor será revertido para "serviceAccount:{emailid}", e a conta de serviço não excluída vai manter o papel na vinculação. * `deleted:group:{emailid}?uid={uniqueid}`: um endereço de e-mail (mais um identificador exclusivo) que representa um grupo do Google excluído recentemente. Por exemplo, "admins@example.com?uid=123456789012345678901". Se o grupo for recuperado, esse valor será revertido para "group:{emailid}", e o grupo recuperado manterá o papel na vinculação. * `domain:{domain}`: domínio do G Suite (principal) que representa todos os usuários dele. Por exemplo, "google.com" ou "example.com". |
|
bindings[].condition |
nested object |
A condição que está associada a essa vinculação. Se a condição for avaliada como "true", essa vinculação será aplicada à solicitação atual. Se a condição for avaliada como "false", essa vinculação não se aplicará à solicitação atual. No entanto, uma vinculação de papel diferente pode conceder o mesmo papel a um ou mais membros da vinculação. Para saber quais recursos são compatíveis com as condições nas políticas do IAM, consulte a [documentação do IAM](https://cloud.google.com/iam/help/conditions/resource-policies). |
|
bindings[].condition.expression |
string |
Representação textual de uma expressão na sintaxe de Linguagem de expressão comum. | |
bindings[].condition.title |
string |
Opcional. Título da expressão, ou seja, uma string curta que descreve sua finalidade. Isso pode ser usado, por exemplo, em IUs que permitam inserir a expressão. | |
bindings[].condition.description |
string |
Opcional. Descrição da expressão. Este é um texto mais longo que descreve a expressão, por exemplo, quando o cursor é passado sobre ela em uma IU. | |
bindings[].condition.location |
string |
Opcional. String que indica o local da expressão para o relatório de erros, por exemplo, um nome de arquivo e uma posição no arquivo. | |
auditConfigs[] |
list |
Especifica a configuração do Cloud Audit Logging para esta política. |
|
auditConfigs[].service |
string |
Especifica um serviço que é ativado para geração de registros de auditoria. Por exemplo, "storage.googleapis.com", "cloudsql.googleapis.com". "allServices" é um valor especial que abrange todos os serviços. | |
auditConfigs[].exemptedMembers[] |
list |
||
auditConfigs[].auditLogConfigs[] |
list |
A configuração para a geração de registros de cada tipo de permissão. | |
auditConfigs[].auditLogConfigs[].logType |
string |
O tipo de registro permitido por essa configuração. | |
auditConfigs[].auditLogConfigs[].exemptedMembers[] |
list |
Especifica as identidades que não causam geração de registros para esse tipo de permissão. Segue o mesmo formato de [Binding.members][]. | |
auditConfigs[].auditLogConfigs[].ignoreChildExemptions |
boolean |
||
rules[] |
list |
Se mais de uma regra for especificada, elas serão aplicadas da seguinte maneira: - Todas as regras de LOG correspondentes são sempre aplicadas. - Se qualquer regra DENY/DENY_WITH_LOG corresponder, a permissão será negada. A geração de registros será aplicada se uma ou mais regras correspondentes exigirem isso. - Caso contrário, se qualquer regra ALLOW/ALLOW_WITH_LOG corresponder, a permissão será concedida. A geração de registros será aplicada se uma ou mais regras correspondentes exigirem isso. - Caso contrário, se nenhuma regra for aplicada, a permissão será negada. | |
rules[].description |
string |
Descrição legível da regra. | |
rules[].permissions[] |
list |
Uma permissão é uma string no formato ' |
|
rules[].action |
string |
Obrigatório | |
rules[].ins[] |
list |
Se uma ou mais cláusulas "in" são especificadas, a regra faz a correspondência se PRINCIPAL/AUTHORITY_SELECTOR está em pelo menos uma dessas entradas. | |
rules[].notIns[] |
list |
Se uma ou mais cláusulas "not_in" são especificadas, a regra corresponde quando PRINCIPAL/AUTHORITY_SELECTOR não está em nenhuma das entradas. | |
rules[].conditions[] |
list |
Outras restrições que precisam ser atendidas. Todas as condições precisam ser atendidas para que a regra seja atendida. | |
rules[].conditions[].iam |
string |
Atributos confiáveis fornecidos pelo sistema IAM. | |
rules[].conditions[].sys |
string |
Atributos confiáveis fornecidos por qualquer serviço que tenha recursos e use o sistema IAM para controle de acesso. | |
rules[].conditions[].svc |
string |
Atributos do Trusted descarregados pelo serviço. | |
rules[].conditions[].op |
string |
Um operador com quem o assunto será aplicado. | |
rules[].conditions[].values[] |
list |
Os objetos da condição. | |
rules[].logConfigs[] |
list |
A configuração retornada para os autores da chamada de tech.iam.IAM.CheckPolicy para todas as entradas que correspondem à ação LOG. | |
rules[].logConfigs[].counter |
nested object |
Opções de contador. | |
rules[].logConfigs[].counter.metric |
string |
A métrica a ser atualizada. | |
rules[].logConfigs[].counter.field |
string |
O valor do campo a ser atribuído. | |
rules[].logConfigs[].counter.customFields[] |
list |
Campos personalizados. | |
rules[].logConfigs[].counter.customFields[].name |
string |
O nome é o nome do campo. | |
rules[].logConfigs[].counter.customFields[].value |
string |
Valor é o valor do campo. É importante que, ao contrário do CounterOptions.field, o valor aqui seja uma constante que não é derivada do IAMContext. | |
rules[].logConfigs[].dataAccess |
nested object |
Opções de acesso a dados. | |
rules[].logConfigs[].dataAccess.logMode |
string |
||
rules[].logConfigs[].cloudAudit |
nested object |
Opções de auditoria do Cloud. | |
rules[].logConfigs[].cloudAudit.logName |
string |
O log_name a ser preenchido no registro de auditoria do Cloud. |
|
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions |
nested object |
Informações usadas pelo pipeline de Registros de auditoria do Cloud. | |
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType |
string |
O tipo de permissão que foi verificada. | |
etag |
bytes |
A "etag" é usada para controle de simultaneidade otimista como uma 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, a fim de 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. **Importante:** se você usar as Condições do IAM, precisará incluir o campo "etag" sempre que chamar "setIamPolicy". Se você omitir esse campo, o IAM vai permitir que você substitua uma política da versão 3 por uma da versão 1, e todas as condições da política da versão 3 serão perdidas. |
|
iamOwned |
boolean |