Este documento descreve como usar os registos de auditoria do Cloud para o Google Distributed Cloud (apenas software) em hardware não processado. O Google Distributed Cloud usa o registo de auditoria do Kubernetes, que mantém um registo cronológico das chamadas feitas a um servidor da API Kubernetes de um cluster. Os registos de auditoria são úteis para investigar pedidos de API suspeitos e para recolher estatísticas. Para obter informações sobre o registo de auditoria da API GKE On-Prem, consulte o registo de auditoria da API Cloud.
Acerca dos registos de auditoria do Cloud
Os registos de auditoria são escritos nos registos de auditoria do Cloud no seu Google Cloud projeto. A escrita nos registos de auditoria do Cloud tem várias vantagens em relação à escrita em disco ou à captura de registos num sistema de registo no local:
- Os registos de auditoria de todos os clusters do GKE podem ser centralizados.
- As entradas de registo escritas nos registos de auditoria do Cloud são imutáveis.
- As entradas dos registos de auditoria da nuvem são retidas durante 400 dias.
- A funcionalidade Cloud Audit Logs está incluída no preço do software Google Distributed Cloud apenas.
- Pode configurar o Google Distributed Cloud para escrever registos no disco ou nos registos de auditoria do Cloud.
Registo de auditoria baseado em disco
Se os registos de auditoria na nuvem estiverem desativados explicitamente, os registos de auditoria são escritos num disco persistente para que os reinícios e as atualizações do cluster não façam com que os registos desapareçam. O Google Distributed Cloud apenas de software retém até 1 GiB de entradas do registo de auditoria.
Aceda aos registos de auditoria baseados em disco iniciando sessão nos nós do plano de controlo. Os registos
estão localizados no diretório /var/log/apiserver/
.
Cloud Audit Logs
As entradas do registo de auditoria da atividade do administrador de todos os servidores da API Kubernetes são enviadas para
Google Cloud, através do projeto e da localização que especifica quando
cria um cluster de utilizador. Para colocar em buffer e escrever entradas de registo nos registos de auditoria do Google Cloud, o Google Distributed Cloud implementa um conjunto de daemons audit-proxy
que é executado nos nós do plano de controlo.
Limitações
No bare metal, os registos de auditoria do Cloud têm as seguintes limitações:
- O registo de acesso a dados não é suportado.
- A modificação da política de auditoria do Kubernetes não é suportada.
- Os registos de auditoria da nuvem não são resilientes a falhas de rede prolongadas. Se não for possível exportar as entradas do registo para Google Cloud, estas são colocadas em cache num buffer de disco de 10 GiB. Se esse buffer ficar cheio, as entradas mais antigas são
eliminadas.
- Um projeto pode suportar até aproximadamente 1000 contas de serviço para utilização com os registos de auditoria do Google Cloud. Vários clusters podem usar a mesma conta de serviço.
Criar uma conta de serviço para os registos de auditoria da nuvem
Antes de poder usar o Cloud Logging e o Cloud Monitoring com o software Google Distributed Cloud, tem de configurar o seguinte:
Crie um espaço de trabalho do Cloud Monitoring no Google Cloud projeto, se ainda não tiver um.
Na Google Cloud consola, clique no seguinte botão e siga o fluxo de trabalho.
Clique nos seguintes botões para ativar as APIs necessárias:
Atribua as seguintes funções do IAM à conta de serviço usada pelos agentes do Stackdriver:
logging.logWriter
monitoring.metricWriter
stackdriver.resourceMetadata.writer
monitoring.dashboardEditor
Aceder aos registos de auditoria do Cloud
Consola
Na Google Cloud consola, aceda à página Explorador de registos no menu Registo.
Aceda ao Explorador de registos
Se a página Visualizador de registos antigo for aberta, escolha Atualizar para o novo Explorador de registos no menu pendente Atualizar.
Clique em Consulta para aceder ao campo de envio de consultas.
Preencha o campo com a seguinte consulta:
resource.type="k8s_cluster" logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" protoPayload.serviceName="anthosgke.googleapis.com"
Substitua
PROJECT_ID
pelo ID do seu projeto.Clique em Executar consulta para apresentar todos os registos de auditoria de clusters que foram configurados para iniciar sessão neste projeto.
gcloud
Indique as duas primeiras entradas do registo no Registo de atividade de administrador do seu projeto que se aplicam ao k8s_cluster
tipo de recurso:
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
pelo ID do seu projeto.
O resultado mostra duas entradas do registo. Tenha em atenção que, para cada entrada de registo, o campo logName
tem o valor projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity
e protoPayload.serviceName
é igual a anthosgke.googleapis.com
.
Política de auditoria
A política de auditoria do Kubernetes define regras para os eventos que são registados como entradas de registo e especifica os dados que as entradas de registo devem incluir. A alteração desta política para modificar o comportamento dos registos de auditoria do Cloud não é suportada.