Ativar registros de auditoria

Neste documento, descrevemos como ativar e usar os registros de auditoria do Cloud para clusters do Anthos em Bare Metal. Os clusters do Anthos em bare metal usam o Kubernetes Audit Logging, para manter um registro cronológico das chamadas feitas para o servidor da API Kubernetes do cluster Os registros de auditoria são úteis para investigar solicitações de API suspeitas e coletar estatísticas.

Se os registros de auditoria do Cloud estiverem ativados, os registros de auditoria serão gravados nos registros de auditoria do Cloud no seu projeto do Google Cloud. A gravação em registros de auditoria do Cloud tem vários benefícios em relação à gravação em disco ou até mesmo à captura de registros em um sistema de geração de registros no local:

  • Os registros de auditoria de todos os clusters do Anthos podem ser centralizados.
  • As entradas de registro gravadas nos registros de auditoria do Cloud são imutáveis.
  • As entradas de registros de auditoria do Cloud são mantidas por 400 dias.
  • O recurso Registros de auditoria do Cloud está incluído no preço do Anthos.
  • É possível configurar clusters do Anthos em bare metal para gravar registros em disco ou em registros de auditoria do Cloud.

Geração de registros de auditoria baseada em disco

Por padrão, os registros de auditoria nos clusters do Anthos no Bare Metal são gravados em um disco permanente para que o cluster seja reiniciado e os upgrades não façam com que os registros desapareçam. Os clusters do Anthos em bare metal mantêm até 1 GB de entradas de registro de auditoria.

É possível acessar os registros de auditoria baseados em disco fazendo login nos nós do plano de controle. Os registros estão localizados no diretório /var/log/apiserver/.

Registros de auditoria do Cloud

Se os registros de auditoria do Cloud estiverem ativados, as entradas de registro de auditoria referentes à atividade do administrador de todos os servidores da API Kubernetes serão enviadas ao Google Cloud, Essas entradas de registro são armazenadas abaixo do nome e do local do projeto do cluster. Para armazenar em buffer e gravar entradas de registro nos registros de auditoria do Cloud, os clusters do Anthos no Bare Metal implantam um pod audit-proxy no cluster de administrador. Esse pod também está disponível como um contêiner de arquivo secundário nos clusters do usuário.

Limitações

Os clusters do Cloud Audit Logging para Anthos em Bare Metal são um recurso de visualização e têm as seguintes limitações:

  • A geração de registros de acesso a dados não é compatível.
  • Não é possível modificar a política de auditoria do Kubernetes.
  • O registro de auditoria do Cloud não é resiliente a interrupções estendidas de rede. Se não for possível exportar as entradas de registro para o Google Cloud, elas serão armazenadas em cache em um buffer de disco de 10 GB. Se esse buffer for preenchido, as entradas subsequentes serão descartadas.
  • Os registros de auditoria do Cloud só podem ser ativados ao criar novos clusters 1.8.0. A visualização de recursos não é compatível com a ativação dos registros de auditoria do Cloud em clusters atuais por meio de upgrade.

Criar uma conta de serviço para Registros de auditoria do Cloud

Antes de ativar o Cloud Logging e o Cloud Monitoring com clusters do Anthos em bare metal, primeiro configure o seguinte:

  1. Crie um espaço de trabalho do Cloud Monitoring no projeto do Google Cloud, se você ainda não tiver um.

    Isso é feito no console do Google Cloud. Clique no botão a seguir e siga o fluxo de trabalho.

    Acessar Monitoring

  2. Clique nos botões a seguir para ativar as APIs necessárias:

    Ative a API Anthos Audit.

    Ativar a API Stackdriver

    Ativar a API Monitoring

    Ativar a API Logging

  3. Atribua os papéis do IAM à conta de serviço usada pelos agentes do Stackdriver:

    • logging.logWriter
    • monitoring.metricWriter
    • stackdriver.resourceMetadata.writer
    • monitoring.dashboardEditor

Ativar os registros de auditoria do Cloud ao criar um cluster

Para usar os registros de auditoria do Cloud com clusters do Anthos em Bare Metal, siga as instruções normais de criação de clusters, mas faça a seguinte edição no arquivo de configuração do cluster antes de executar o bmctl create cluster:

  1. Remova a marca de comentário do campo disableCloudAuditLogging no arquivo de configuração do cluster e verifique se ele está definido como false, conforme mostrado no exemplo a seguir:

    ...
    clusterOperations:
        # Cloud project for logs and metrics.
        projectID: `PROJECT_ID`
        # Cloud location for logs and metrics.
        location: us-central1
        # Enable Cloud Audit Logging if uncommented and set to false.
        disableCloudAuditLogging: false
    ...
    

    O restante do processo de criação do cluster é o mesmo. Para mais informações e links para instruções, consulte Como criar clusters: visão geral.

Acessar os registros de auditoria do Cloud

Console

  1. No console do Google Cloud, acesse a página Registros no menu Logging.

    Acessar a página Registros

  2. Na caixa Filtrar por rótulo ou pesquisa de texto, clique na seta para baixo para abrir o menu suspenso. No menu, escolha Converter para filtro avançado.

  3. Preencha a caixa de texto com o filtro a seguir:

    resource.type="k8s_cluster"
    logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity"
    protoPayload.serviceName="anthosgke.googleapis.com"
    

    Substitua PROJECT_ID pela ID do seu projeto.

  4. Clique em Enviar filtro para exibir todos os registros de auditoria dos clusters do Anthos no VMware que foram configurados para fazer login nesse projeto.

gcloud

Liste as duas primeiras entradas no registro de atividade do administrador do projeto que se aplicam ao tipo de recurso k8s_cluster:

gcloud logging read \
    'logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" \
    AND resource.type="k8s_cluster" \
    AND protoPayload.serviceName="anthosgke.googleapis.com" ' \
    --limit 2 \
    --freshness 300d

Substitua PROJECT_ID pela ID do seu projeto.

A saída mostra duas entradas de registro. Observe que, para cada entrada de registro, o campo logName tem o valor
projects/<var>PROJECT_ID</var>/logs/externalaudit.googleapis.com%2Factivity, e protoPayload.serviceName é igual a anthosgke.googleapis.com.

Política de auditoria

O comportamento dos Registros de auditoria do Cloud é determinado por uma política de registro de auditoria do Kubernetes configurada estaticamente. No momento, não é possível alterar essa política, mas ela estará disponível em uma versão futura.