Esta página é destinada aos usuários da validação contínua legada (CV legada) (descontinuada).
A validação contínua legada é um recurso da autorização binária que verifica periodicamente as imagens de contêiner associadas aos pods em execução para garantir a conformidade contínua com a política de Singleton de projeto da autorização binária. A CV legada registra as descobertas no Cloud Logging.
A CV legada não encerra os pods em execução.
Limitações
A CV legada tem as seguintes limitações:
- A CV legada só dá suporte a pods implantados no Google Kubernetes Engine (GKE).
- A CV legada não dá suporte a políticas de autorização binária que especificam regras específicas para identidades de serviço do Cloud Service Mesh, contas de serviço do Kubernetes ou namespaces do Kubernetes.
Antes de começar
Verifique se você configurou a autorização binária para o Google Kubernetes Engine em um projeto. A CV legada registra eventos de conformidade com a política referentes aos pods em todos os clusters do projeto.
Verifique se a gcloud CLI está atualizada para a versão mais recente
Permissões necessárias
Os papéis do gerenciamento de identidade e acesso (IAM, na sigla em inglês) incluem permissões e podem ser atribuídos a usuários, grupos e contas de serviço. Os seguintes papéis incluem as permissões listadas para CV:
Nome do papel | Permissões da CV legada | Descrição |
---|---|---|
roles/binaryauthorization.policyEditor |
binaryauthorization.continuousValidationConfig.update |
Ativar e desativar a CV. |
Para definir as permissões do IAM necessárias, execute os seguintes comandos:
PROJECT_NUMBER=$(gcloud projects list \
--filter="projectId:ATTESTATION_PROJECT_ID" \
--format="value(PROJECT_NUMBER)")
SERVICE_ACCOUNT="service-$PROJECT_NUMBER@gcp-sa-binaryauthorization.iam.gserviceaccount.com"
gcloud projects add-iam-policy-binding ATTESTATION_PROJECT_ID \
--member="serviceAccount:$SERVICE_ACCOUNT" \
--role='roles/containeranalysis.occurrences.viewer'
Ativar CV legada
Console
Para ativar a CV legada usando o console do Google Cloud, faça o seguinte:
No console do Google Cloud, acesse a página Política de Autorização binária.
Clique na guia Política.
Clique em Editar política.
Expanda a seção Configurações adicionais para implantações do GKE e do Anthos.
Marque a caixa de seleção Ativar validação contínua.
Clique em Save Policy.
API REST
Para ativar a CV usando a API REST, faça o seguinte:
Armazene o ID do projeto:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Substitua
DEPLOYER_PROJECT_ID
pelo ID do projeto em que você executa o GKE.Receba o token OAuth do Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)
O token é válido apenas por um curto período.
Ativar a CV legada:
curl "https://binaryauthorization.googleapis.com/v1alpha2/projects/${DEPLOYER_PROJECT_ID}/continuousValidationConfig" -X PUT -H "authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" --data '{"enforcementPolicyConfig": {"enabled": "true"}}'
A CV legada agora está configurada para registrar eventos.
A entrada de registro do Logging é semelhante a este exemplo:
{
"insertId": "6054e143-0000-2562-aa64-883d24f57e70",
"jsonPayload": {
"@type": "type.googleapis.com/google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent",
"podEvent": {
"images": [
{
"description": "Image <var>IMAGE_NAME@IMAGE_DIGEST</var> denied by
attestor projects/<var>ATTESTOR_PROJECT_ID</var>/attestors/<var>ATTESTOR_NAME</var>:
No attestations found that were valid and signed by a key trusted by
the attestor",
"image": "<var>IMAGE_NAME@IMAGE_DIGEST</var>",
"result": "DENY"
}
],
"verdict": "VIOLATES_POLICY",
"deployTime": "2021-03-19T17:00:08Z",
"pod": "<var>POD_NAME</var>"
}
},
"resource": {
"type": "k8s_cluster",
"labels": {
"cluster_name": "<var>CLUSTER_NAME</var>",
"location": "<var>CLUSTER_LOCATION</var>",
"project_id": "<var>DEPLOYER_PROJECT_ID</var>"
}
},
"timestamp": "2021-03-19T17:15:43.872702342Z",
"severity": "WARNING",
"logName": "projects/<var>DEPLOYER_PROJECY_ID</var>/logs/binaryauthorization.googleapis.com%2Fcontinuous_validation",
"receiveTimestamp": "2021-03-19T17:57:00.432116179Z"
}
Para saber como consultar eventos da CV legada, consulte Conferir eventos da CV legada no Cloud Logging.
Solução de problemas
A CV legada usa outros serviços do Google Cloud, como o Inventário de recursos do Cloud e o Pub/Sub. Nos casos em que a CV legada falha, é possível verificar se há erros do Inventário de recursos do Cloud no Cloud Logging.
Além disso, a CV legada cria um recurso de feed chamado binauthz-cv-cai-feed
. Excluir
ou modificar o feed pode causar falha na CV legada. A CV legada restaura automaticamente
feeds ausentes ou alterados, mas pode não registrar as descobertas até que isso aconteça.
Desativar a CV
Console
Para desativar a CV legada usando o console do Google Cloud, faça o seguinte:
No console do Google Cloud, acesse a página Autorização binária:
Clique na guia Política.
Clique em Editar política.
Desmarque a caixa de seleção Ativar validação contínua.
Clique em Save Policy.
API REST
Para desativar a CV legada usando a API REST, faça o seguinte:
Armazene o ID do projeto:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Substitua
DEPLOYER_PROJECT_ID
pelo ID do projeto em que você executa o GKE.Receba o token OAuth do Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)
O token é válido apenas por um curto período.
Desative a CV legada usando o seguinte comando:
curl "https://binaryauthorization.googleapis.com/v1alpha2/projects/${DEPLOYER_PROJECT_ID}/continuousValidationConfig" -X PUT -H "authorization: Bearer $BEARER_TOKEN" -H "Content-Type: application/json" --data '{"enforcementPolicyConfig": {"enabled": "false"}}'
Mostrar eventos da CV legada no Cloud Logging
Depois de ativar a CV, ela registra regularmente todos os pods que violam a política da autorização binária no Cloud Logging.
Essas entradas de registro contêm o seguinte nome:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Análise de registros
Para conferir os eventos da CV legada no Cloud Logging usando a Análise de registros, faça o seguinte:
Selecione o ID do projeto em que você ativou o Google Cloud Observability.
Insira a seguinte consulta na caixa consulta de pesquisa:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Selecione o intervalo de tempo no seletor de intervalo de tempo.
Visualizador de registros legado
Para conferir os eventos da CV legada no Cloud Logging usando a Análise de registros, faça o seguinte:
Selecione Voltar para o Visualizador de registros legado no menu suspenso Opções.
Escolha o projeto do Google Cloud em que você configurou o Google Cloud Observability.
Digite a seguinte consulta na caixa de consulta de pesquisa:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Selecione o intervalo de tempo no seletor de intervalo de tempo.
gcloud
Para conferir os eventos da CV legada da última semana no Cloud Logging usando
gcloud
, execute o seguinte comando:
gcloud logging read --order="desc" --freshness=7d \
'logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"'
A seguir
- Usar a implantação forçada para implantar um pod e ver eventos de implantação forçada.
- Ativar teste, implantar uma imagem de contêiner e ver eventos de teste.