Questa pagina è destinata agli utenti di una convalida continua legacy (CV legacy) (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 il criterio del singleton dei progetti di Autorizzazione binaria. Risultati dei log di CV legacy in Cloud Logging.
La CV legacy non termina i pod in esecuzione.
Limitazioni
Il CV legacy ha le seguenti limitazioni:
- CV legacy supporta solo i pod di cui è stato eseguito il deployment su Google Kubernetes Engine (GKE).
- La versione precedente di CV non supporta i criteri di autorizzazione binaria che specificano regole specifiche per le identità di servizio Cloud Service Mesh, gli account di servizio Kubernetes o gli spazi dei nomi Kubernetes.
Prima di iniziare
Assicurati di aver configurato l'Autorizzazione binaria per Google Kubernetes Engine in un progetto. CV legacy registra gli eventi di conformità ai criteri provenienti dai pod in tutti i cluster del progetto.
Assicurati che la CLI gcloud sia aggiornata 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 autorizzazioni per CV:
Nome ruolo | Autorizzazioni del CV legacy | Descrizione |
---|---|---|
roles/binaryauthorization.policyEditor |
binaryauthorization.continuousValidationConfig.update |
Attiva e disattiva CV. |
Per impostare le autorizzazioni IAM richieste, esegui i seguenti 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'
Abilita CV legacy
Console
Per attivare i CV precedenti utilizzando la console Google Cloud, segui questi passaggi:
Nella console Google Cloud, vai ad Autorizzazione binaria. Norme.
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 attivare i CV precedenti utilizzando l'API REST, procedi nel seguente modo:
Archivia il tuo ID progetto:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Sostituisci
DEPLOYER_PROJECT_ID
con l'ID del nel progetto in cui esegui GKE.Recupera il token OAuth per Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)
Il token è valido solo per poco tempo.
Abilita CV precedente:
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"}}'
La versione precedente di CV è ora configurata 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 scoprire come eseguire query sugli eventi CV precedenti, consulta Visualizzare gli eventi CV precedenti in Cloud Logging.
Risoluzione dei problemi
CV legacy utilizza altri servizi Google Cloud, come Cloud Asset Inventory e Pub/Sub. Nella casi in cui CV legacy non vanno a buon fine, puoi verificare Cloud Asset Inventory in Cloud Logging.
Inoltre, il CV legacy crea una risorsa feed denominata binauthz-cv-cai-feed
. Eliminazione in corso...
o la modifica del feed potrebbe causare un errore nel CV precedente. Ripristina automaticamente un CV legacy
feed mancanti o alterati, ma può non riuscire a registrare i risultati finché non lo fa.
Disattiva CV
Console
Per disabilitare un CV precedente utilizzando la console Google Cloud, segui questi passaggi:
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 un CV precedente utilizzando l'API REST, segui questi passaggi:
Memorizza l'ID progetto:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Sostituisci
DEPLOYER_PROJECT_ID
con l'ID del nel progetto in cui esegui GKE.Recupera il token OAuth per Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)
Il token è valido solo per un breve periodo di tempo.
Disattiva il 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"}}'
Visualizzare gli eventi CV precedenti in Cloud Logging
Dopo aver attivato CV, tutti i pod che violano il criterio di autorizzazione binaria vengono registrati regolarmente in Cloud Logging.
Queste voci di log contengono il seguente nome:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Esplora log
Per visualizzare gli eventi CV legacy in Cloud Logging utilizzando Esplora log, segui questi passaggi:
Seleziona l'ID progetto in cui hai abilitato Google Cloud Observability.
Inserisci la seguente query nella casella search-query:
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 precedenti in Cloud Logging utilizzando Logs Explorer, segui questi passaggi:
Seleziona Torna al visualizzatore log legacy dal menu a discesa Opzioni.
Scegli il progetto Google Cloud in cui hai configurato Google Cloud Observability.
Inserisci la seguente query nella casella di 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 precedenti della settimana precedente in Cloud Logging utilizzando
gcloud
, esegui il seguente 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 dry run, esegui il deployment di un'immagine container e visualizza gli eventi dry run.