Questa pagina è destinata agli utenti che utilizzano la convalida continua legacy (CV precedente) (deprecata).
La convalida continua legacy è una funzionalità di Autorizzazione binaria che controlla periodicamente le immagini container associate ai pod in esecuzione per garantire la conformità continua al criterio singleton del progetto di Autorizzazione binaria. Risultati legacy dei log CV in Cloud Logging.
Il CV legacy non termina i pod in esecuzione.
Limitazioni
I CV legacy presentano le seguenti limitazioni:
- La CV legacy supporta solo i pod di cui è stato eseguito il deployment in Google Kubernetes Engine (GKE).
- Il CV legacy non supporta i criteri di Autorizzazione binaria che specificano regole specifiche per le identità di servizio Anthos Service Mesh, gli account di servizio Kubernetes o gli spazi dei nomi Kubernetes.
Prima di iniziare
Assicurati di aver configurato Autorizzazione binaria per Google Kubernetes Engine in un progetto. Eventi di conformità ai criteri dei log CV legacy dai pod in tutti i cluster nel progetto.
Assicurati che gcloud CLI sia aggiornato all'ultima versione
Autorizzazioni obbligatorie
I ruoli IAM (Identity and Access Management) includono autorizzazioni e possono essere assegnati a utenti, gruppi e account di servizio. I seguenti ruoli includono le autorizzazioni elencate per CV:
Nome ruolo | Autorizzazioni CV precedenti | Descrizione |
---|---|---|
roles/binaryauthorization.policyEditor |
binaryauthorization.continuousValidationConfig.update |
Attiva e disattiva CV. |
Per impostare le autorizzazioni IAM richieste, esegui questi comandi:
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'
Attiva CV precedente
Console
Per abilitare CV legacy utilizzando la console Google Cloud:
Nella console Google Cloud, vai alla pagina Criteri di Autorizzazione binaria.
Fai clic sulla scheda Norme.
Fai clic su Modifica criterio.
Espandi la sezione Impostazioni aggiuntive per i deployment GKE e Anthos.
Seleziona la casella di controllo Abilita convalida continua.
Fai clic su Save Policy (Salva criterio).
API REST
Per abilitare le CV legacy utilizzando l'API REST:
Memorizza l'ID progetto:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Sostituisci
DEPLOYER_PROJECT_ID
con l'ID del progetto in cui esegui GKE.Richiedi il token OAuth per Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)
Il token è valido solo per un breve periodo di tempo.
Attiva CV legacy:
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"}}'
Il CV legacy è ora configurato per registrare gli eventi.
La voce di log di Logging è simile all'esempio seguente:
{
"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"
}
Per informazioni su come eseguire query per gli eventi CV legacy, consulta Visualizzare gli eventi CV legacy su Cloud Logging.
Risoluzione dei problemi
Il CV legacy utilizza altri servizi Google Cloud, come Cloud Asset Inventory e Pub/Sub. Nei casi in cui il CV legacy non va a buon fine, puoi controllare gli errori di Cloud Asset Inventory in Cloud Logging.
Inoltre, il CV legacy crea una risorsa di feed denominata binauthz-cv-cai-feed
. L'eliminazione o la modifica del feed potrebbe causare un errore nel CV precedente. La CV legacy ripristina automaticamente i feed mancanti o alterati, ma potrebbe non riuscire a registrare i risultati.
Disattiva CV
Console
Per disabilitare le CV legacy utilizzando la console Google Cloud:
Nella console Google Cloud, vai alla pagina Autorizzazione binaria:
Fai clic sulla scheda Norme.
Fai clic su Modifica criterio.
Deseleziona la casella di controllo Abilita convalida continua.
Fai clic su Save Policy (Salva criterio).
API REST
Per disabilitare il CV precedente utilizzando l'API REST:
Memorizza l'ID progetto:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Sostituisci
DEPLOYER_PROJECT_ID
con l'ID del progetto in cui esegui GKE.Richiedi il token OAuth per Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)
Il token è valido solo per un breve periodo di tempo.
Disattiva CV legacy utilizzando il seguente 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"}}'
Visualizza gli eventi CV legacy in Cloud Logging
Una volta abilitato il CV, registra regolarmente su Cloud Logging tutti i pod che violano il criterio di Autorizzazione binaria.
Queste voci di log contengono il seguente nome di log:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Esplora log
Per visualizzare gli eventi CV legacy in Cloud Logging utilizzando Esplora log:
Seleziona l'ID progetto in cui hai abilitato Google Cloud Observability.
Inserisci la seguente query nella casella query di ricerca:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Seleziona l'intervallo di tempo nel selettore dell'intervallo di tempo.
Visualizzatore log legacy
Per visualizzare gli eventi CV legacy in Cloud Logging utilizzando Esplora log, segui questi passaggi:
Seleziona Torna al visualizzatore log legacy dal menu a discesa Opzioni.
Scegli il progetto Google Cloud per cui vuoi configurare l'osservabilità di Google Cloud.
Inserisci la query seguente nella casella della query di ricerca:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Seleziona l'intervallo di tempo nel selettore dell'intervallo di tempo.
gcloud
Per visualizzare gli eventi CV legacy dell'ultima settimana in Cloud Logging utilizzando gcloud
, esegui questo comando:
gcloud logging read --order="desc" --freshness=7d \
'logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"'
Passaggi successivi
- Utilizza il deployment di emergenza per eseguire il deployment di un pod e visualizzare gli eventi del deployment di emergenza.
- Abilita la prova, esegui il deployment di un'immagine container e visualizza gli eventi di prova.