Como configurar registros do acesso a dados

Neste guia, explicamos como ativar e configurar aspectos dos registros de auditoria do acesso a dados em seu projeto ou organização. Para informações gerais sobre registros de auditoria, consulte Geração de registros de auditoria do Cloud.

Os registros de auditoria de atividades do administrador estão ativados para todos os serviços do Google Cloud Platform e não podem ser configurados.

Visão geral da configuração

Os registros de auditoria do acesso a dados (exceto BigQuery) são desativados por padrão. Você pode ativar e configurar determinados aspectos dos registros de auditoria do acesso a dados:

  • Organizações. Ative e configure os registros de auditoria de acesso a dados em uma organização, o que se aplica a todos os projetos e pastas novos e atuais na organização.

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

  • Projetos. Configure os registros de auditoria do acesso a dados para um projeto específico. Não é possível desativar um registro de auditoria do acesso a dados que foi ativado na organização ou na pasta do projeto.

  • Configurações padrão. Especifique uma configuração padrão de registros de auditoria do acesso a dados em uma organização, pasta ou projeto que se aplique aos futuros serviços do GCP que comecem a produzir registros de auditoria do acesso a dados.

  • Serviços. Especifique de que serviços você quer receber registros de auditoria. Por exemplo, talvez você queira registros de auditoria do Compute Engine, mas não do Cloud SQL. Para ver uma lista dos serviços do GCP que possam gerar registros de auditoria, consulte Serviços que produzem registros de auditoria.

  • Tipos de informação. Controle que tipos de informação nos registros de auditoria. Há três tipos de informação de registro de auditoria do acesso a dados:

    • ADMIN_READ: registra operações que leem metadados ou informações de configuração.

      Os registros de auditoria de atividades de administração registram gravações de informações de configuração e de metadados. Não é possível desativá-los.

    • DATA_READ: registra operações que leem dados fornecidos pelo usuário.

    • DATA_WRITE: registra operações que gravam dados fornecidos pelo usuário.

    Por exemplo, você poderia registrar apenas as operações de gravação de dados, mas registrar todos os três tipos de informações do Cloud DNS.

  • Usuários isentos. Isente usuários ou grupos específicos de ter os acessos de dados deles registrados. Por exemplo, isente as contas de teste internas de ter as operações do Stackdriver Debugger registradas.

Configure os registros de auditoria do acesso a dados por meio do console do Logging ou pela API. Esses métodos são explicados nas seções abaixo.

Configurações específicas do serviço

Se houver uma configuração para todos os serviços do GCP (allServices) e uma para um serviço específico do GCP, a configuração resultante do serviço é a união das duas. Em outras palavras:

  • Ative os registros de auditoria do acesso a dados para serviços específicos do GCP. Não é possível desativar os registros de serviços do GCP que estão ativados na configuração mais abrangente.

  • É possível adicionar tipos de informações ao registro de auditoria do acesso a dados de um serviço do GCP. Não é possível remover os tipos de informações especificados na configuração mais abrangente.

  • Adicione usuários a listas de isenção. Não é possível removê-los dessas listas na configuração mais abrangente.

Configurações de organização, pasta e projeto

Você pode configurar os registros de auditoria do acesso a dados para organizações, pastas e projetos. Se houver uma configuração para um serviço do GCP na hierarquia, a configuração resultante será a união das configurações. Resumindo, no nível de projeto, é possível:

  • ativar registros para um serviço do GCP, mas não é possível desativá-los para um serviço do GCP que esteja ativado na pasta ou na organização;

  • ativar tipos de informações, mas não é possível desativar os que estão ativados na organização ou na pasta;

  • adicionar usuários a listas de isenção, mas não é possível remover os que estão nas listas de isenção da organização ou da pasta;

  • no nível da organização ou da pasta, ativar registros de acesso a dados para um projeto nelas, mesmo que os registros de auditoria do acesso a dados não tenham sido configurados no projeto.

Controle de acesso

Você precisa dos papéis do IAM roles/resourcemanager.organizationAdmin para configurar os registros de auditoria do acesso a dados no nível da organização, roles/resourcemanager.folderAdmin para configurar os registros no nível da pasta e roles/owner para configurar esses registros de auditoria no nível do projeto.

Como configurar registros do acesso a dados com o console do GCP

Nesta seção, explicamos como usar o console do GCP para configurar os registros de auditoria do acesso a dados.

Também é possível usar a API ou o Cloud SDK para executar essas tarefas de maneira programática. Consulte os detalhes em Como configurar os registros do acesso a dados com a API.

Para acessar as opções de configuração de registros de auditoria no Console do GCP, siga estas etapas:

  1. No Console do GCP, selecione IAM e Admin > Registros de auditoria no menu flutuante na parte superior esquerda.

    Acessar a página "Registros de auditoria"

  2. Selecione um projeto, uma pasta ou uma organização do GCP na parte superior da página.

Ativar registros de auditoria

As etapas a seguir mostram como ativar os registros de acesso a dados:

  1. Na tabela principal da página Registros de auditoria, selecione um ou mais serviços do GCP clicando na caixa à esquerda de um nome de serviço na coluna Título.

  2. Na guia Tipo de registro no painel de informações à direita da tabela, selecione as caixas pelos tipos de registros de auditoria do acesso a dados que você quer ativar e clique em Salvar.

  3. A tabela inclui uma marca de seleção onde os registros de auditoria foram ativados com êxito. No exemplo a seguir, você vê que os registros de auditoria Leitura de administradores e Leitura de dados estão ativados para o serviço API Cloud Composer:

    Configuração de registros de auditoria

Também é possível ativar os registros de auditoria para todos os serviços do GCP que produzem os registros de auditoria do acesso a dados. Na tabela principal da página Registros de auditoria, selecione todos os serviços do GCP clicando na caixa à esquerda de Título.

Observe que esse método de configuração "em massa" se aplica somente aos serviços do GCP que estão disponíveis atualmente. Se um novo serviço do GCP for adicionado, ele herda a configuração padrão de auditoria.

Desativar registros de auditoria

Os passos a seguir mostram como desativar os registros do acesso a dados:

  1. Na tabela principal da página Registros de auditoria, selecione um ou mais serviços do GCP clicando na caixa à esquerda de um nome de serviço na coluna Título.

  2. Na guia Tipo de registro no painel de informações à direita da tabela, selecione as caixas pelos tipos de registro de auditoria do acesso a dados que você quer desativar e clique em Salvar.

  3. A tabela indica que os registros de auditoria foram desativados com êxito com um traço cinza. Todos os registros de auditoria ativados são indicados com um símbolo de marca de seleção verde.

Definir isenções de usuários

Você pode definir isenções que permitam controlar quais usuários geram registros de auditoria. Ao adicionar um usuário isento, os registros de auditoria não são criados para ele em relação aos tipos de registro selecionados. Observe que os registros de atividades do administrador são sempre gerados, independentemente do status de isenção.

Os passos a seguir mostram como definir isenções:

  1. Na tabela principal da página de configuração Registros de auditoria, selecione um ou mais serviços do GCP clicando na caixa à esquerda do nome de um serviço na coluna Título.

  2. Selecione a guia Usuários isentos no painel de informações à direita da tabela. Em Adicionar usuário isento, escreva o endereço de e-mail do usuário que você quer adicionar à lista de isenções dos serviços selecionados. Adicione vários usuários selecionando o botão Adicionar usuário isento quantas vezes forem necessárias.

  3. No endereço de e-mail, marque as caixas pelos tipos de registro de auditoria do acesso a dados que você quer desativar para o usuário e clique em Salvar.

  4. A tabela mostra que os usuários isentos foram adicionados com êxito a um serviço com um número na coluna Isenções.

Para remover um usuário da lista de isenções:

  1. Acesse a guia Usuários isentos no painel de informações.

  2. Passe o mouse sobre o nome de um usuário e selecione o ícone de lixeira exibido.

  3. Quando o nome do usuário for mostrado em texto riscado, clique em Salvar.

Para editar as informações de um usuário isento:

  1. Acesse a guia Usuários isentos no painel de informações.

  2. Clique na seta de expansão à direita do nome do usuário.

  3. Marque ou desmarque os tipos de registro de auditoria do acesso a dados conforme apropriado para o usuário e clique em Salvar.

Definir a configuração padrão

Você pode definir uma configuração que será herdada por todos os serviços novos e existentes do GCP em seu projeto, pasta ou organização. A definição dessa configuração padrão será aplicada se um novo serviço do GCP se torna disponível e começa a ser usado pelos usuários em sua organização: o serviço herda a política de geração de registros de auditoria que você já definiu para outros serviços do GCP, garantindo que os registros de auditoria do acesso a dados sejam capturados.

  1. Clique em Definir configuração padrão na parte superior da página.

  2. Na guia Tipo de registro, marque as caixas ao lado dos tipos de registro de auditoria do acesso a dados que você quer ativar ou desativar e clique em Salvar.

  3. Na guia Usuários isentos, escreva o endereço de e-mail dos usuários que você quer adicionar à lista de isenções e clique em Salvar. Siga os passos na seção Definir isenções de usuários acima.

Como configurar registros do acesso a dados com a API

Nesta seção, explicamos como usar a API e a interface de linha de comando do Cloud SDK para configurar os registros de auditoria do acesso a dados de maneira programática.

Muitas dessas tarefas também podem ser executadas com o console do GCP. Consulte os detalhes em Como configurar os registros do acesso a dados com o console do GCP.

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. 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.

Nas seções a seguir, há informações mais detalhadas sobre o objeto AuditConfig. Para saber quais comandos de API e do Cloud SDK são usados para alterar a configuração, consulte getIamPolicy e setIamPolicy.

Objetos AuditConfig

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],
  "auditLogConfigs": [
    {
      "logType": "ADMIN_READ"
      "exemptedMembers": [ [MEMBER],]
    },
    {
      "logType": "DATA_READ"
      "exemptedMembers": [ [MEMBER],]
    },
    {
      "logType": "DATA_WRITE"
      "exemptedMembers": [ [MEMBER],]
    },
  ]
},

[SERVICE] é o nome do serviço, 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 uma configuração desse tipo, os registros do 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 configurando um tipo de informação de registro de auditoria. Se você omitir um dos tipos da lista, esse tipo de informação não será ativado para o serviço.

[MEMBER] é um usuário para quem os registros de auditoria do acesso a dados não são coletados. Você pode especificar usuários individuais, grupos ou contas de serviço. O tipo Vinculação descreve tipos diferentes de membros, mas nem todos podem ser usados para configurar os registros de auditoria do 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 com comandos do Cloud SDK.

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.

Essas configurações não levam em consideração qualquer configuração de registro de auditoria na organização ou pasta do projeto. Para mais informações, consulte Configurações de projeto e de organização.

Ativar todos os registros de acesso

A seção auditConfigs a seguir ativa registros de acesso a dados para todos os serviços e usuários:

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 do acesso a dados para o Cloud SQL. Eles registram apenas as gravações de dados definidos pelo usuário:

JSON

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

YAML

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

Desativar todos os registros

Para desativar todos os registros de auditoria do acesso a dados (exceto BigQuery) em um projeto, inclua uma seção auditConfigs: vazia na nova política de IAM:

JSON

"auditConfigs": [],

YAML

auditConfigs:

Se você remover completamente a seção auditConfigs de sua nova política, então setIamPolicy não alterará a configuração existente dos registros de auditoria do 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

Os métodos getIamPolicy e setIamPolicy do Cloud Resource Manager servem para ler e gravar a política de 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
    
  • O SDK do Cloud tem os seguintes comandos do Cloud Resource Manager:

    gcloud projects get-iam-policy
    gcloud projects set-iam-policy
    gcloud organizations get-iam-policy
    gcloud organizations 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. Altere (ou adicione) apenas a seção auditConfigs.
  3. Grave a política editada no arquivo temporário usando um dos métodos setIamPolicy.

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

Exemplos

Os exemplos a seguir demonstram como configurar os registros de auditoria do 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".

Cloud SDK

Para configurar seus registros de auditoria do acesso a dados usando o comando gcloud projects, siga estes passos:

  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. Essa 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. Edite a política em /tmp/policy.yaml, adicionando ou alterando apenas a configuração de registros de auditoria do 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 a 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, especificando 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:

    {
      "bindings": [
      {
        "members": [
          "user:colleague@example.com"
        ],
        "role": "roles/editor"
      },
      {
        "members": [
          "user:myself@example.com"
        ],
        "role": "roles/owner"
      }
    ],
    "etag": "BwUsv2gimRs=",
    "version": 1
    

    }

  2. Edite a política atual:

    • Altere ou adicione a seção auditConfigs.

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

    • Mantenha o valor de etag.

    Se preferir, remova todas as outras informações do novo objeto de política, desde que tenha cuidado para configurar o 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:

    {
      "auditConfigs": [
        {
          "auditLogConfigs": [
            {
              "logType": "DATA_WRITE"
            }
          ],
          "service": "cloudsql.googleapis.com"
        }
      ],
      "etag": "BwVM-FDzeYM="
    }
    
  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:
      • updateMask: "auditConfigs,etag"
      • policy: o objeto de política editado{/}

Máscara de atualização setIamPolicy

Nesta seção, você entenderá a importância do parâmetro updateMask no método setIamPolicy e porque você precisa ter cuidado com o comando set-iam-policy do SDK para não causar danos acidentais ao projeto ou à organização.

O método da API setIamPolicy usa um parâmetro updateMask para controlar que campos de política serã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 inteiramente da política.

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

  • 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 o seguinte comportamento:

  • 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 em seu novo objeto de política, a seção bindings será removida da política, já que ela aparece na máscara de atualização. Isso é muito prejudicial e faz com que todos os usuários percam o acesso ao projeto.

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

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Stackdriver Logging
Precisa de ajuda? Acesse nossa página de suporte.