Neste guia, explicamos como ativar ou desativar alguns ou todos os registros de auditoria de acesso a dados nos 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 ativar e configurar certos aspectos dos registros de auditoria de acesso a dados para seus recursos e serviços do Google Cloud:
Organizações: é possível ativar e configurar registros de auditoria de acesso a dados em uma organização, o que se aplica a todos os projetos e pastas novos e atuais do Google Cloud na organização.
Pastas: é possível ativar e configurar 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 na organização pai do projeto.
Projetos: é possível configurar registros de auditoria de acesso a dados para um projeto individual do Google Cloud. Não é possível desativar um registro de auditoria de acesso a dados que foi ativado em uma organização ou pasta pai.
Contas de faturamento: para configurar os registros de auditoria de acesso a dados para contas de 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 de referência para
gcloud beta billing accounts set-iam-policy
.Configurações padrão: é possível especificar uma configuração padrão de registro de auditoria de acesso a dados em uma organização, pasta ou projeto do Google Cloud que se aplique a futuros serviços do Google Cloud que comecem a produzir registros de auditoria de acesso a dados. Para mais instruções, consulte Definir a configuração padrão.
Serviços: é possível especificar de quais serviços você quer receber registros de auditoria. Por exemplo, é possível querer registros de auditoria do Compute Engine, mas não do Cloud SQL. Para uma lista dos serviços do Google Cloud que podem gerar registros de auditoria, consulte Serviços do Google com registros de auditoria.
Tipos de registro: é possível configurar quais tipos de operações são gravados nos registros de auditoria de acesso a dados. Há três tipos de registro de auditoria de acesso a dados:
ADMIN_READ
: registra operações que leem metadados ou informações de configuração.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, o Cloud DNS grava todos os três tipos de registros de acesso a dados, mas é possível configurar os registros de auditoria de acesso a dados para gravar apenas as operações
DATA_WRITE
.Principais isentos: é possível isentar principais específicos de ter os acessos de dados deles registrados. Por exemplo, é possível isentar suas contas de teste interno de ter as operações do Cloud Monitoring gravadas. Para ver uma lista de principais 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 na página Registros de auditoria do IAM no console do Google Cloud ou usando a 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 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 principais a listas de isenção, mas não é possível removê-los de listas de isenção na configuração mais ampla.
No serviço de transferência de dados do BigQuery, a configuração do registro de auditoria de acesso a dados é herdada da configuração de registro de auditoria padrão.
Configurações de recursos do Google Cloud
É possível configurar registros de auditoria de acesso a dados para projetos do Google Cloud, contas de faturamento, pastas e organizações. Se houver uma configuração para um serviço do Google Cloud em toda a hierarquia, a configuração resultante será a união das configurações. Em outras palavras, no nível do projeto do Google Cloud:
É possível ativar os registros para um serviço do Google Cloud, mas não para um serviço do Google Cloud ativado em uma organização ou pasta pai.
É possível ativar tipos de informação, mas não desativar os que estão ativados em uma organização ou pasta pai.
É possível adicionar principais a listas de isenção, mas não os remover de listas de isenção em uma organização ou pasta pai.
No nível da organização ou pasta pai, é 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 de acesso a dados 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 ver 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
Nesta seção, explicamos 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 executar essas tarefas de maneira programática. Consulte Configurar 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 etapas:
-
No console do Google Cloud, acesse a página Registros de auditoria:
Acessar 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.
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:
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.
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.
Clique em Salvar.
A tabela inclui um ícone check_circle Verificação onde os registros de auditoria foram ativados.
No exemplo a seguir, você vê que o tipo de registro de auditoria Leitura de dados está ativado para o serviço Aprovação de acesso:
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 atualmente disponíveis para seu recurso. Se um novo serviço do Google Cloud for adicionado, ele herdará a 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:
Na tabela Configuração dos registros de auditoria de acesso a dados, selecione um ou mais serviços do Google Cloud.
Na guia Tipos de registro no painel de informações, selecione os tipos de registro de auditoria de acesso a dados que você quer desativar para os serviços selecionados.
Clique em Salvar.
A tabela indica que os registros de auditoria de acesso a dados foram desativados com sucesso com um traço. Todos os registros de auditoria de acesso a dados ativados são indicados com um ícone check_circle Verificar.
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 dos tipos de registro selecionados não são criados para ele.
Para definir isenções, faça o seguinte:
Na tabela Configuração dos registros de auditoria de acesso a dados, selecione um serviço do Google Cloud na coluna Serviço.
Selecione a guia Principais isentos no painel de informações.
Em Adicionar principal isento, insira o principal que você quer isentar da geração de 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 conferir uma lista de principais válidos, incluindo usuários e grupos, consulte a referência do tipo
Binding
.Em Tipos de registro desativados, selecione os tipos de registro de auditoria de acesso a dados que você quer desativar.
Clique em Salvar.
Quando você adiciona principais isentos a um serviço, a tabela Configuração dos registros de auditoria de acesso a dados indica isso com um número na coluna Principais isentos.
Para remover um principal da sua lista de isenções, faça o seguinte:
Na tabela Configuração dos registros de auditoria de acesso a dados, selecione um serviço do Google Cloud na coluna Serviço.
Selecione a guia Principais isentos no painel de informações.
Passe o cursor sobre o nome de um principal e selecione o ícone de exclusão delete que aparece.
Depois que o nome da principal aparecer tachado, clique em Salvar.
Para editar as informações de um principal isento, faça o seguinte:
Na tabela Configuração dos registros de auditoria de acesso a dados, selecione um serviço do Google Cloud na coluna Serviço.
Selecione a guia Principais isentos no painel de informações.
Expanda expand_more o nome da principal.
Marque ou desmarque os tipos de registro de auditoria de acesso a dados conforme apropriado para o principal.
Clique em Salvar.
Definir a configuração padrão
É possível definir uma configuração que será herdada por todos os serviços novos e atuais do Google Cloud no seu projeto, pasta ou organização do Google Cloud. A definição dessa configuração padrão será aplicada se um novo serviço do Google Cloud ficar disponível e os principais da sua organização começarem a usá-lo: o serviço herdará a política de geração de registros de auditoria que você já tiver definido para outros serviços do Google Cloud, garantindo que os registros de auditoria de acesso a dados sejam capturados.
Para definir ou editar a configuração padrão, faça o seguinte:
Clique em Definir configuração padrão.
Na guia Tipos de registro no painel de informações, selecione os tipos de registro de auditoria de acesso a dados que você quer ativar ou desativar.
Clique em Salvar.
Selecione a guia Principais isentos no painel de informações.
Em Adicionar principal isento, insira o principal que você quer isentar da geração de 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 conferir uma lista de principais válidos, incluindo usuários e grupos, consulte a referência do tipo
Binding
.Em Tipos de registro desativados, selecione os tipos de registro de auditoria de acesso a dados que você quer desativar.
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 usando o 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 de acesso a dados usando a API, edite a
política do 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 saber quais são os comandos de API e 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 Google Cloud CLI.
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
os 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 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 na nova 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:
- Leia a política atual usando um dos métodos
getIamPolicy
. Salve a política em um arquivo temporário. - Edite a política no arquivo temporário.
Alterar (ou adicionar) somente a seção
auditConfigs
. - 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.
Examples
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:
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
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
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:
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" ] } ] }
- recurso:
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" }
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.
- recurso:
A máscara de atualização setIamPolicy
Nesta seção, explicamos a importância do parâmetro updateMask
no método setIamPolicy
e explicamos por que você precisa ter cuidado com o comando set-iam-policy
da CLI 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 camposbindings
eetag
. - Se o objeto de política fornecido em
set-iam-policy
contiver outros campos de nível superior, comoauditConfigs
, esses campos serão adicionados aupdateMask
.
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çãoauditConfigs
(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çãobindings
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 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.