Questa pagina è destinata agli utenti della convalida continua legacy (CV legacy) (obsoleta).
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 alla policy singleton del progetto 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 in 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. La CV legacy registra gli eventi di conformità alle policy dai pod in tutti i cluster del progetto.
Assicurati che gcloud CLI sia aggiornato all'ultima versione.
Autorizzazioni obbligatorie
I ruoli Identity and Access Management (IAM) includono le 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 |
Abilita e disabilita la 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 la CV legacy
Console
Per abilitare la CV legacy utilizzando la Google Cloud console:
Nella Google Cloud console, 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 Salva policy.
API REST
Per abilitare la CV legacy utilizzando l'API REST:
Memorizza l'ID progetto:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_IDSostituisci
DEPLOYER_PROJECT_IDcon l'ID del 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.
Abilita la 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":