Deployments: getIamPolicy

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 '..' (por exemplo, 'storage.buckets.list'). Um valor de "*" corresponde a todas as permissões, e uma parte do verbo de "*" (por exemplo, "storage.buckets.*") corresponde a todos os verbos.

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