Ativar registros de auditoria de acesso a dados

Neste guia, explicamos como ativar ou desativar alguns ou todos os registros de auditoria do Data Access em projetos, contas de faturamento, pastas e organizações do Google Cloud usando o console do Google Cloud ou a API.

Antes de começar

Antes de continuar a configuração dos registros de auditoria do Data Access, entenda as seguintes informações:

  • Os registros de auditoria de acesso a dados (exceto BigQuery) são desativados por padrão. Se você quiser que os registros de auditoria de acesso a dados sejam gravados para serviços do Google Cloud diferentes do BigQuery, será necessário ativá-los explicitamente.

  • Os registros de auditoria de acesso a dados são armazenados no bucket _Default, a menos que você os tenha roteado para outro lugar. Para mais informações, consulte Como armazenar e rotear registros de auditoria.

  • Os registros de auditoria de acesso a dados ajudam o Suporte do Google a resolver problemas na sua conta. Portanto, recomendamos ativar os registros de auditoria de acesso a dados quando possível.

Visão geral da configuração

É possível configurar como os registros de auditoria de acesso a dados são ativados para seus recursos e serviços do Google Cloud:

  • Organizações: é possível ativar e configurar registros de auditoria de acesso a dados organização, o que se aplica a todos os clientes, usuários projetos e pastas do Google Cloud na organização.

  • Pastas: é possível ativar e configurar os registros de auditoria de acesso a dados em uma pasta, o que se aplica a todos os projetos novos e atuais do Google Cloud na pasta. Não é possível desativar um registro de auditoria de acesso a dados que foi ativado no organização pai do projeto.

  • Projetos: é possível configurar registros de auditoria de acesso a dados para um indivíduo projeto do Google Cloud. Não é possível desativar um registro de auditoria de acesso a dados foi ativado em uma organização ou pasta pai.

  • Contas de faturamento: como configurar registros de auditoria de acesso a dados para faturamento use a Google Cloud CLI. Para mais informações sobre como usar a CLI gcloud com registros de auditoria de acesso a dados e contas de faturamento, consulte a documentação do gcloud beta billing accounts set-iam-policy.

  • Configurações padrão: é possível especificar uma configuração padrão de registros de auditoria de acesso a dados em uma organização, pasta ou projeto do Google Cloud que se aplica a futuros serviços do Google Cloud que começam a produzir registros de auditoria de acesso a dados. Para instruções, consulte Defina a configuração padrão.

  • Tipos de permissão: é possível especificar que as APIs do Google Cloud que verificam apenas um determinado tipo de permissão emitem um registro de auditoria. Para mais informações, consulte a seção Tipos de permissões desta página.

  • Principais isentos: é possível isentar principais específicos ter seus acessos de dados registrados. Por exemplo, é possível isentar seus as contas de teste interno tenham as operações do Cloud Monitoring a gravação. Para uma lista de participantes válidos, incluindo usuários e grupos, consulte a referência do tipo Binding.

É possível configurar os registros de auditoria de acesso a dados pelo IAM Registros de auditoria do console do Google Cloud ou usando a API. Esses métodos são explicados nas seções abaixo.

Tipos de permissão

Os métodos da API verificam as permissões do IAM. As permissões do IAM têm uma propriedade type, cujo valor é um dos seguintes tipos de permissão:

  • ADMIN_READ: as permissões do IAM desse tipo são verificadas em busca de Métodos da API Google Cloud que leem metadados ou configurações informações imprecisas ou inadequadas.

  • DATA_READ: as permissões do IAM desse tipo são verificadas em busca de Métodos da API Google Cloud que leem os dados fornecidos pelo usuário

  • DATA_WRITE: as permissões do IAM desse tipo são verificadas para métodos da API do Google Cloud que gravam dados fornecidos pelo usuário.

  • ADMIN_WRITE: as permissões do IAM desse tipo são verificadas em busca de Métodos da API Google Cloud que gravam metadados ou configurações informações imprecisas ou inadequadas. Os registros de auditoria associados a esse tipo, Registros de auditoria de atividade do administrador, são ativadas por padrão e não podem ser desativadas.

A maioria das APIs do Google Cloud verifica apenas uma única permissão do IAM. Ativar o tipo associado à permissão do serviço ativa o registro de auditoria associado ao método chamado.

É possível ativar ou desativar tipos de permissão para serviços usando o console do Google Cloud ou invocando a API.

As seções a seguir descrevem, de maneira geral, outras maneiras de verificar as permissões do IAM nos métodos de API do Google Cloud. Para informações específicas do serviço sobre quais métodos são verificados para quais tipos de permissão, consulte a documentação de registro de auditoria do serviço.

Verificação de permissões do IAM para tipos de permissão de acesso a dados

Alguns métodos da API Google Cloud verificam se um principal tem várias Permissões do IAM com diferentes tipos de permissão. Um registro de auditoria gravadas quando um dos tipos de permissão associados a uma IAM está ativada no projeto que a chamada de API segmenta.

Por exemplo, um método de API pode verificar se o principal que está emitindo uma API solicitação tem as permissões example.resource.get (DATA_READ) e example.resource.write (DATA_WRITE). O projeto só precisa DATA_WRITE ou DATA_READ ativado para o serviço emitir o registro de auditoria quando fazendo a chamada.

Tipos de permissão de IAM de atividade do administrador e acesso a dados verificados

Alguns métodos da API Google Cloud verificam uma permissão do IAM com o tipo ADMIN_WRITE e uma ou mais permissões com o tipo de permissão de acesso aos dados. Esses tipos de chamadas de API emitir registros de auditoria de atividades do administrador, que são ativadas por padrão e não podem ser desativadas.

Verificação de método de API para permissões do IAM que não são de propriedade do serviço

Alguns serviços do Google Cloud têm métodos de API que verificam Permissão do IAM de um serviço diferente. Nesse caso, o o tipo de permissão precisa ser ativado para o serviço proprietário do IAM para ativar o registro de auditoria associado ao método da API que está sendo chamado.

Por exemplo, o Cloud Billing tem um método de API que verifica se há um ADMIN_READ O tipo de permissão que pertence ao Resource Manager. ADMIN_READ precisa ser ativada para que o serviço cloudresourcemanager.googleapis.com ative o registro de auditoria associado à API Cloud Billing.

O mesmo método de API verifica se há diferentes permissões do IAM

Algumas APIs do Google Cloud verificam diferentes permissões do IAM com diferentes tipos de permissão, dependendo de como os métodos da API são chamados. Um quando um dos tipos de permissão do IAM é gravado ativado no projeto que a chamada de API tem como alvo.

Por exemplo, o Spanner tem um método de API que, às vezes, verifica se há Permissão do IAM com o tipo DATA_WRITE e, às vezes, verifica para uma permissão do IAM com o tipo DATA_READ, dependendo de como o método é chamado. Nesse caso, ativar DATA_WRITE para o Spanner no projeto, a chamada de API ativa apenas o registro de auditoria associado à API quando a permissão do IAM com o tipo DATA_WRITE é verificada.

Configurações específicas do serviço

Se houver uma configuração para todos os serviços do Google Cloud (allServices) e uma configuração para um serviço do Google Cloud específico, a configuração resultante para o serviço será a união das duas configurações. Resumindo:

  • É possível ativar registros de auditoria de acesso a dados para serviços específicos do Google Cloud, mas não é possível desativar os registros de auditoria de acesso a dados para serviços do Google Cloud ativados na configuração mais ampla.

  • É possível adicionar outros tipos de informações ao registro de auditoria de acesso a dados de um serviço do Google Cloud, mas não é possível remover os tipos de informações especificados na configuração mais ampla.

  • É possível adicionar participantes a listas de isenção, mas não é possível removê-los dessas listas na configuração mais ampla.

  • Para o serviço de transferência de dados do BigQuery, a configuração do registro de auditoria de acesso a dados é herdada da configuração padrão do registro de auditoria.

Configurações de recursos do Google Cloud

É possível configurar registros de auditoria de acesso a dados para projetos, contas de faturamento, pastas e organizações do Google Cloud. Se houver uma configuração para um serviço do Google Cloud em toda a hierarquia, o resultado é a união das configurações. Em outras palavras, no nível do projeto do Google Cloud:

  • É possível ativar registros para um serviço do Google Cloud, mas não é possível desativar os registros de um serviço do Google Cloud ativado em uma organização ou pasta pai.

  • Você pode ativar tipos de informação, mas não pode desativar tipos de informações ativadas em uma organização ou pasta pai.

  • É possível adicionar principais a listas de isenção, mas não removê-los de listas de isenção em uma organização ou pasta pai.

  • No nível da organização ou da pasta mãe, é possível ativar os registros de auditoria de acesso a dados para um projeto do Google Cloud nessa organização ou pasta, mesmo que os registros de auditoria não tenham sido configurados no projeto do Google Cloud.

Controle de acesso

Os papéis e as permissões do gerenciamento de identidade e acesso regem o acesso aos dados do Logging, incluindo a visualização e o gerenciamento das políticas do IAM subjacentes às configurações de geração de registros de auditoria de acesso a dados.

Para visualizar ou definir as políticas associadas à configuração do acesso a dados, é preciso ter um papel com permissões no nível de recurso apropriado. Para instruções sobre como conceder esses papéis no nível do recurso, consulte Gerenciar o acesso a projetos, pastas e organizações do Google Cloud.

  • Para definir políticas do IAM, você precisa de um papel com a permissão resourcemanager.RESOURCE_TYPE.setIamPolicy.

  • Para visualizar as políticas do IAM, você precisa de um papel com a permissão resourcemanager.RESOURCE_TYPE.getIamPolicy.

Para conferir a lista de permissões e papéis necessários para visualizar os registros de auditoria de acesso a dados, consulte Controle de acesso com o IAM.

Configurar registros de auditoria de acesso a dados com o console do Google Cloud

Esta seção explica como usar o console do Google Cloud para configurar os registros de auditoria de acesso a dados.

Também é possível usar a API ou a Google Cloud CLI para realizar essas tarefas programmatically; ver Configure os registros de auditoria de acesso a dados com a API para mais detalhes.

Para acessar as opções de configuração registro de auditoria no console do Google Cloud, siga estas instruções: estas etapas:

  1. No console do Google Cloud, acesse a página Registros de auditoria:

    Acesse Registros de auditoria

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo IAM e administrador.

  2. Selecione um projeto do Google Cloud, uma pasta ou uma organização.

Ativar registros de auditoria

Para ativar os registros de auditoria de acesso a dados, faça o seguinte:

  1. Na tabela Configuração dos registros de auditoria de acesso a dados, selecione um ou mais serviços do Google Cloud na coluna Serviço.

  2. Na guia Tipos de registro, selecione os tipos de registro de auditoria de acesso a dados que você quer ativar para os serviços selecionados.

  3. Clique em Salvar.

A tabela inclui os seguintes itens onde os registros de auditoria foram ativados Ícone de Verificação.

No exemplo a seguir, você vê que, para o serviço de aprovação de acesso, o tipo de registro de auditoria Leitura de dados está ativado:

Configuração de registros de auditoria

Também é possível ativar registros de auditoria para todos os serviços do Google Cloud que produzem registros de auditoria de acesso a dados. Na tabela Configuração dos registros de auditoria de acesso a dados, selecione todos os serviços do Google Cloud.

Esse método de configuração em massa se aplica apenas aos serviços do Google Cloud disponíveis no momento para seu recurso. Se um novo serviço do Google Cloud for adicionado, ele herdará sua configuração de auditoria padrão.

Desativar registros de auditoria do Data Access

Para desativar os registros de auditoria de acesso a dados, faça o seguinte:

  1. Na tabela Configuração dos registros de auditoria de acesso a dados, selecione um ou mais serviços do Google Cloud.

  2. Na guia Tipos de registro do painel de informações, selecione a opção "Acesso a dados" registros de auditoria que você quer desativar para os serviços selecionados.

  3. Clique em Salvar.

Quando você desativa os registros de auditoria de acesso a dados, a tabela indica isso com um traço. Todos os registros de auditoria de acesso a dados ativados são indicados com um ícone Check.

Definir isenções

É possível definir isenções para controlar quais principais geram registros de auditoria de acesso a dados para serviços específicos. Quando você adiciona um principal isento, os registros de auditoria não são criados para ele nos tipos de registro selecionados.

Para definir isenções, faça o seguinte:

  1. Na tabela Configuração dos registros de auditoria de acesso a dados, selecione um serviço do Google Cloud na coluna Serviço.

  2. Selecione a guia Principais isentos no painel de informações.

  3. Em Adicionar principal isento, insira o principal que você quer isentar de gerar registros de auditoria de acesso a dados para o serviço selecionado.

    É possível adicionar vários principais clicando no botão Adicionar principal isento quantas vezes forem necessárias.

    Para acessar uma lista de principais válidos, incluindo usuários e grupos, consulte a referência do tipo Binding.

  4. Em Tipos de registro desativados, selecione os tipos de registro de auditoria de acesso a dados que você quer desativar.

  5. Clique em Salvar.

Quando você adiciona principais isentos a um serviço, a seção Dados A tabela de configuração dos registros de auditoria de acesso indica isso com um número abaixo do Coluna Principais isentos.

Para remover um principal da sua lista de isenções, faça o seguinte:

  1. Na tabela Configuração dos registros de auditoria de acesso a dados, selecione um serviço do Google Cloud na coluna Serviço.

  2. Selecione a guia Princípios isentos no painel de informações.

  3. Passe o cursor sobre um nome principal e selecione o ícone de exclusão que aparece.

  4. Depois que o nome da principal aparecer tachado, clique em Salvar.

Para editar as informações de um principal isento, faça o seguinte:

  1. Na tabela Configuração dos registros de auditoria de acesso a dados, selecione um serviço do Google Cloud na coluna Serviço.

  2. Selecione a guia Principais isentos no painel de informações.

  3. Abra o nome principal.

  4. Marque ou desmarque os tipos de registro de auditoria do acesso a dados conforme apropriado para o principal.

  5. Clique em Salvar.

Definir a configuração padrão

É possível definir uma configuração que todos os serviços novos e existentes do Google Cloud no seu projeto, pasta ou organização do Google Cloud herdarão. Definir essa configuração padrão se aplica se um novo serviço do Google Cloud fica disponível e é usado pelos principais da sua organização: o serviço herda a política de registro de auditoria já definida para outros Serviços do Google Cloud, garantindo a captura dos registros de auditoria de acesso a dados.

Para definir ou editar a configuração padrão, faça o seguinte:

  1. Clique em Definir configuração padrão.

  2. Na guia Tipos de registro no painel de informações, selecione os tipos de registro de auditoria do acesso a dados que você quer ativar ou desativar.

  3. Clique em Salvar.

  4. Selecione a guia Principais isentos no painel de informações.

  5. Em Adicionar principal isento, insira o principal que você quer isentar de gerar registros de auditoria de acesso a dados para o serviço selecionado.

    É possível adicionar vários principais clicando no botão Adicionar principal isento quantas vezes forem necessárias.

    Para uma lista de participantes válidos, incluindo usuários e grupos, consulte a referência do tipo Binding.

  6. Em Tipos de registro desativados, selecione os tipos de registro de auditoria do acesso a dados que você quer desativar.

  7. Clique em Salvar.

Como configurar registros de auditoria do Data Access com a API

Nesta seção, explicamos como usar a API e a CLI gcloud para configurar os registros de auditoria de acesso a dados de maneira programática.

Muitas dessas tarefas também podem ser realizadas no console do Google Cloud. para instruções, consulte Configurar registros de auditoria de acesso a dados com o console do Google Cloud nesta página.

Objetos de política de IAM

Para configurar os registros de auditoria do acesso a dados usando a API, é necessário editar a política de IAM associada ao projeto, pasta ou organização do Google Cloud. A configuração do registro de auditoria está na seção auditConfigs da política:

"auditConfigs": [
  {
    object(AuditConfig)
  }
]

Para ver detalhes, consulte o tipo de política de IAM.

As seções a seguir descrevem o objeto AuditConfig em mais detalhes. Para a API e os comandos da CLI gcloud usados para alterar a configuração, consulte getIamPolicy e setIamPolicy

AuditConfig objetos

A configuração do registro de auditoria consiste em uma lista de objetos AuditConfig. Cada objeto configura os registros para um serviço ou estabelece uma configuração mais abrangente para todos os serviços. Esta é a aparência de cada objeto:

{
  "service": SERVICE_NAME,
  "auditLogConfigs": [
    {
      "logType": "ADMIN_READ"
      "exemptedMembers": [ PRINCIPAL,]
    },
    {
      "logType": "DATA_READ"
      "exemptedMembers": [ PRINCIPAL,]
    },
    {
      "logType": "DATA_WRITE"
      "exemptedMembers": [ PRINCIPAL,]
    },
  ]
},

SERVICE_NAME tem um valor como "appengine.googleapis.com" ou é o valor especial, "allServices". Se uma configuração não mencionar um serviço específico, a configuração mais abrangente será usada para esse serviço. Se não houver configuração, os registros de auditoria de acesso a dados não serão ativados para esse serviço. Para ver uma lista dos nomes de serviços, consulte Serviços de registro.

A seção auditLogConfigs do objeto AuditConfig é uma lista de 0 a 3 objetos, cada um deles configura um tipo de informação do registro de auditoria. Se você omitir um dos tipos da lista, esse tipo de informação não estará ativado para o serviço.

PRINCIPAL é um usuário de quem os registros de auditoria de acesso a dados não são coletados. O tipo Binding descreve diferentes tipos de principais, incluindo usuários e grupos, mas nem todos podem ser usados para configurar registros de auditoria de acesso a dados.

Veja a seguir um exemplo de uma configuração de auditoria nos formatos JSON e YAML. O formato YAML é o padrão ao usar a CLI do Google Cloud.

JSON

"auditConfigs": [
  {
    "auditLogConfigs": [
      {
        "logType": "ADMIN_READ"
      },
      {
        "logType": "DATA_WRITE"
      },
      {
        "logType": "DATA_READ"
      }
    ],
    "service": "allServices"
  },
  {
    "auditLogConfigs": [
      {
        "exemptedMembers": [
          "499862534253-compute@developer.gserviceaccount.com"
        ],
        "logType": "ADMIN_READ"
      }
    ],
    "service": "cloudsql.googleapis.com"
  }
],

YAML

auditConfigs:
- auditLogConfigs:
  - logType: ADMIN_READ
  - logType: DATA_WRITE
  - logType: DATA_READ
  service: allServices
- auditLogConfigs:
  - exemptedMembers:
    - 499862534253-compute@developer.gserviceaccount.com
    logType: ADMIN_READ
  service: cloudsql.googleapis.com

Configurações comuns

Veja a seguir algumas configurações comuns de registro de auditoria para projetos do Google Cloud.

Ativar todos os registros de auditoria do Data Access

A seção auditConfigs a seguir ativa os registros de auditoria de acesso a dados para todos serviços e principais:

JSON

"auditConfigs": [
      {
        "service": "allServices",
        "auditLogConfigs": [
          { "logType": "ADMIN_READ" },
          { "logType": "DATA_READ"  },
          { "logType": "DATA_WRITE" },
        ]
      },
    ]

YAML

auditConfigs:
- auditLogConfigs:
  - logType: ADMIN_READ
  - logType: DATA_WRITE
  - logType: DATA_READ
  service: allServices

Ativar um tipo de informação e serviço

A configuração a seguir ativa registros de auditoria de acesso a dados do DATA_WRITE para O Cloud SQL:

JSON

"auditConfigs": [
  {
    "service": "cloudsql.googleapis.com",
    "auditLogConfigs": [
      { "logType": "DATA_WRITE" },
    ]
  },
]

YAML

auditConfigs:
- auditLogConfigs:
  - logType: DATA_WRITE
  service: cloudsql.googleapis.com

Desativar todos os registros de auditoria do Data Access

Para desativar todos os registros de auditoria de acesso a dados (exceto BigQuery) em um projeto do Google Cloud, inclua uma seção auditConfigs: vazia no seu novo Política do IAM:

JSON

"auditConfigs": [],

YAML

auditConfigs:

Se você remover completamente a seção auditConfigs da nova política, o setIamPolicy não alterará a configuração dos registros de auditoria de acesso a dados. Para mais informações, consulte Máscara de atualização setIamPolicy.

Não é possível desativar os registros de auditoria do acesso a dados do BigQuery.

getIamPolicy e setIamPolicy

Use os métodos getIamPolicy e setIamPolicy da API Cloud Resource Manager para ler e gravar sua política do IAM. Existem várias opções, dependendo do método escolhido:

  • A API Cloud Resource Manager tem os seguintes métodos:

    projects.getIamPolicy
    projects.setIamPolicy
    organizations.getIamPolicy
    organizations.setIamPolicy
    
  • A Google Cloud CLI tem os seguintes comandos do Resource Manager:

    gcloud projects get-iam-policy
    gcloud projects set-iam-policy
    gcloud resource-manager folders get-iam-policy
    gcloud resource-manager folders set-iam-policy
    gcloud organizations get-iam-policy
    gcloud organizations set-iam-policy
    gcloud beta billing accounts get-iam-policy
    gcloud beta billing accounts set-iam-policy
    

Seja qual for sua escolha, siga estes três passos:

  1. Leia a política atual usando um dos métodos getIamPolicy. Salve a política em um arquivo temporário.
  2. Edite a política no arquivo temporário. Alterar (ou adicionar) somente a seção auditConfigs.
  3. Grave a política editada no arquivo temporário usando um dos métodos setIamPolicy.

setIamPolicy falhará se o Resource Manager detectar que outra pessoa alterou a política depois que você a leu na primeira etapa. Se isso acontecer, repita as três etapas.

Exemplos

Os exemplos a seguir demonstram como configurar os registros de auditoria de acesso a dados do projeto usando o comando gcloud e a API Cloud Resource Manager.

Para configurar registros de auditoria do acesso a dados da organização, substitua a versão "projetos" dos comandos e dos métodos de API pela versão "organizações".

gcloud

Para configurar os registros de auditoria de acesso a dados usando o comando gcloud projects, faça o seguinte:

  1. Leia a política de IAM do projeto e guarde-a em um arquivo:

    gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
    

    Veja a seguir a política retornada. Esta política ainda não tem uma seção auditConfigs:

    bindings:
    - members:
      - user:colleague@example.com
      role: roles/editor
    - members:
      - user:myself@example.com
      role: roles/owner
    etag: BwVM-FDzeYM=
    version: 1
    
  2. Editar sua política em /tmp/policy.yaml, adicionar ou alterar somente a configuração dos registros de auditoria de acesso a dados.

    Veja a seguir um exemplo da política editada, que ativa registros de auditoria do acesso a dados de gravação do Cloud SQL. Quatro linhas foram adicionadas ao início:

    auditConfigs:
    - auditLogConfigs:
      - logType: DATA_WRITE
      service: cloudsql.googleapis.com
    bindings:
    - members:
      - user:colleague@example.com
      role: roles/editor
    - members:
      - user:myself@example.com
      role: roles/owner
    etag: BwVM-FDzeYM=
    version: 1
    
  3. Grave a nova política de IAM:

    gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
    

    Se o comando anterior relatar um conflito com outra alteração, repita essas etapas, começando pela primeira delas.

JSON

Para trabalhar com sua política de IAM no formato JSON em vez de YAML, substitua os seguintes comandos gcloud no exemplo:

gcloud projects get-iam-policy PROJECT_ID --format=json >/tmp/policy.json
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.json

API

Para configurar seus registros de auditoria do acesso a dados usando a API Cloud Resource Manager, siga estas instruções:

  1. Leia a política do IAM do projeto que especifica os seguintes parâmetros para o método da API getIamPolicy:

    • recurso: projects/PROJECT_ID
    • Corpo da solicitação: vazio

    O método retornará o objeto de política atual, mostrado abaixo. A política deste projeto ainda não tem uma seção auditConfigs:

    {
      "version": 1,
      "etag": "BwXqwxkr40M=",
      "bindings": [
        {
          "role": "roles/owner",
          "members": [
            "user:myself@example.com"
          ]
        }
      ]
    }
    
  2. Edite a política atual:

    • Altere ou adicione a seção auditConfigs.

      Para desativar os registros de auditoria de acesso a dados, inclua um valor vazio para a seção: auditConfigs:[].

    • Preserve o valor de etag.

    Também é possível remover todas as outras informações do novo objeto de política, desde que você tenha cuidado para definir updateMask na próxima etapa. Veja a seguir a política editada, que ativa os registros de auditoria da gravação de dados do Cloud SQL:

    {
      "policy": {
        "auditConfigs": [
          {
            "auditLogConfigs": [
              {
                "logType": "DATA_WRITE"
              }
            ],
            "service": "cloudsql.googleapis.com"
          }
        ],
        "etag": "BwXqwxkr40M="
      },
      "updateMask": "auditConfigs,etag"
    }
    
  3. Grave a nova política usando o método da API setIamPolicy, especificando os seguintes parâmetros:

    • recurso: projects/PROJECT_ID
    • Corpo da solicitação: inclua a política editada.

A máscara de atualização setIamPolicy

Esta seção explica a importância do parâmetro updateMask no método setIamPolicy e explica por que você precisa ter cuidado com o comando set-iam-policy da CLI do gcloud para não causar danos acidentais ao projeto ou à organização do Google Cloud.

O setIamPolicy API method usa um parâmetro updateMask para controlar quais campos da política são atualizados. Por exemplo, se a máscara não contiver bindings, não será possível alterar acidentalmente essa seção de política. Por outro lado, se a máscara contiver bindings, essa seção será sempre atualizada. Se você não incluir um valor atualizado para bindings, essa seção será removida totalmente da política.

O comando gcloud projects set-iam-policy, que chama setIamPolicy, não permite que você especifique o parâmetro updateMask. Em vez disso, o comando calcula um valor para updateMask da seguinte maneira:

  • O updateMask sempre contém os campos bindings e etag.
  • Se o objeto de política fornecido em set-iam-policy contiver outros campos de nível superior, como auditConfigs, esses campos serão adicionados a updateMask.

Como consequência dessas regras, o comando set-iam-policy tem os seguintes comportamentos:

  • Se você omitir a seção auditConfigs na nova política, o valor anterior da seção auditConfigs (se houver) não será alterado, porque essa seção não está na máscara de atualização. Isso é inofensivo, mas pode ser confuso.

  • Se você omitir bindings no novo objeto de política, a seção bindings será removida da sua política, já que essa seção aparece na máscara de atualização. Isso é muito prejudicial e faz com que todos os principais percam o acesso ao seu projeto do Google Cloud.

  • Se você omitir etag no novo objeto de política, a verificação de alterações simultâneas em sua política será desativada e suas alterações poderão resultar na substituição acidental das alterações de outra pessoa.