Questa pagina è rivolta agli utenti della 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 verificare la conformità continua con la policy del progetto singleton di Autorizzazione binaria. La CV legacy registra i risultati in Cloud Logging.
La CV legacy non termina i pod in esecuzione.
Limitazioni
La CV legacy presenta le seguenti limitazioni:
- La CV legacy supporta solo i pod di cui è stato eseguito il deployment su Google Kubernetes Engine (GKE).
- La CV legacy non supporta le policy di Autorizzazione binaria che specificano regole specifiche per le identità di servizio Cloud Service Mesh, i service account Kubernetes o gli spazi dei nomi Kubernetes.
Prima di iniziare
Assicurati di aver configurato Autorizzazione binaria per Google Kubernetes Engine in un progetto. CV legacy registra gli eventi di conformità alle policy dai pod in tutti i cluster del progetto.
Assicurati che gcloud CLI sia aggiornata all'ultima versione
Autorizzazioni obbligatorie
I ruoli di Identity and Access Management (IAM) includono autorizzazioni e possono essere assegnati a utenti, gruppi e service account. I seguenti ruoli includono le autorizzazioni elencate per la CV:
| Nome ruolo | Autorizzazioni CV legacy | Descrizione |
|---|---|---|
roles/binaryauthorization.policyEditor |
binaryauthorization.continuousValidationConfig.update |
Attiva e disattiva la 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'
Abilita CV legacy
Console
Per attivare la CV legacy utilizzando la console Google Cloud , segui questi passaggi:
Nella consoleGoogle Cloud , vai alla pagina Policy di Autorizzazione binaria.
Fai clic sulla scheda Policy.
Fai clic su Modifica policy.
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 la CV legacy utilizzando l'API REST, segui questi passaggi:
Memorizza l'ID progetto:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_IDSostituisci
DEPLOYER_PROJECT_IDcon l'ID del progetto in cui esegui GKE.Ottieni il token OAuth per Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)Il token è valido solo per un breve periodo di tempo.
Abilita 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"}}'
La CV legacy è ora configurata per registrare gli eventi.
La voce di log di Logging è simile al seguente esempio:
{
"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 legacy, consulta Visualizza gli eventi CV legacy su Cloud Logging.
Risoluzione dei problemi
La CV legacy utilizza altri servizi Google Cloud , come Cloud Asset Inventory e Pub/Sub. Nei casi in cui la CV legacy non va a buon fine, puoi verificare la presenza di errori di Cloud Asset Inventory in Cloud Logging.
Inoltre, la VC legacy crea una risorsa feed denominata binauthz-cv-cai-feed. L'eliminazione o la modifica del feed potrebbe causare un errore della CV legacy. La funzionalità CV legacy ripristina automaticamente i feed mancanti o alterati, ma potrebbe non riuscire a registrare i risultati finché non lo fa.
Disattiva CV
Console
Per disattivare la CV legacy utilizzando la console Google Cloud , segui questi passaggi:
Nella console Google Cloud , vai alla pagina Autorizzazione binaria:
Fai clic sulla scheda Policy.
Fai clic su Modifica policy.
Deseleziona la casella di controllo Abilita convalida continua.
Fai clic su Save Policy (Salva criterio).
API REST
Per disattivare la CV legacy utilizzando l'API REST, segui questi passaggi:
Memorizza l'ID progetto:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_IDSostituisci
DEPLOYER_PROJECT_IDcon l'ID del progetto in cui esegui GKE.Ottieni il token OAuth per Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)Il token è valido solo per un breve periodo di tempo.
Disattiva la 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
Dopo aver attivato la CV, tutti i pod che violano la policy di Autorizzazione binaria vengono regolarmente registrati in Cloud Logging.
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, 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 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 hai configurato Google Cloud Observability.
Inserisci la seguente query 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 di deployment di emergenza.
- Attiva il dry run, esegui il deployment di un'immagine container e visualizza gli eventi dry run.