Questa pagina contiene norme di esempio per Autorizzazione binaria specificata in formato YAML. Per istruzioni su come configurare i criteri in Autorizzazione binaria, consulta Configura un criterio utilizzando Google Cloud CLI oppure Configura un criterio utilizzando la console Google Cloud.
Consenti tutti i deployment
L'esempio seguente mostra come consentire il deployment di tutte le immagini container senza vincoli.
name: projects/example-project/policy defaultAdmissionRule: evaluationMode: ALWAYS_ALLOW enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
In questo caso, la regola predefinita ha un
evaluationMode
di ALWAYS_ALLOW
,
che fa sì che Autorizzazione binaria consenta il deployment di tutte le immagini container. Il valore predefinito enforcementMode
è impostato su ENFORCED_BLOCK_AND_AUDIT_LOG
, ma poiché tutti i deployment sono consentiti, questa azione non viene mai eseguita.
Bloccare (quasi) tutti i deployment
L'esempio seguente mostra come bloccare il deployment di tutte le immagini contenitore, consentendo al contempo le immagini di sistema gestite da Google. Queste immagini container sono necessarie per l'avvio corretto della maggior parte dei cluster Google Kubernetes Engine (GKE).
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Qui, globalPolicyEvaluationMode è attivato in modo che le immagini richieste da GKE non vengano bloccate dall'applicazione dei criteri.
La regola predefinita ha un valore evaluationMode
pari a ALWAYS_DENY
, che fa sì che l'Autorizzazione binaria neghi il deployment di tutte le immagini container. La
Il campo enforcementMode
è impostato su
ENFORCED_BLOCK_AND_AUDIT_LOG
, che determina il blocco di Autorizzazione binaria
deployment e scrivere nel log di controllo.
Richiedi attestatori di firmare prima del deployment
L'esempio seguente mostra come richiedere agli attestatori di autorizzare una release prima che sia possibile eseguire il deployment di un'immagine del contenitore. Il deployment viene bloccato se tutti gli attestatori non hanno firmato.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG requireAttestationsBy: - projects/example-project/attestors/secure-build
In questo caso, la regola predefinita ha un valore evaluationMode
di REQUIRE_ATTESTATION
, che consente ad Autorizzazione binaria di consentire il deployment solo delle immagini che sono state autorizzate dagli attestatori richiesti in requireAttestationsBy
.
Consentire i deployment in modalità di prova
La modalità dry run è una modalità di applicazione forzata in un criterio che consente immagini non conformi il deployment, ma scrive i dettagli relativi alla violazione dei criteri e al deployment l'audit log. La modalità dry run consente di testare un criterio in produzione dell'ambiente di lavoro prima che entri in vigore.
L'esempio seguente mostra come consentire a tutte le immagini non conformi di essere con deployment in modalità dry run.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: DRYRUN_AUDIT_LOG_ONLY requireAttestationsBy: - projects/example-project/attestors/secure-build
In questo caso, la regola predefinita ha un valore enforcementMode
di DRYRUN_AUDIT_LOG_ONLY
, che consente di eseguire il deployment di immagini non autorizzate dall'attestatore specificato, ma scrive informazioni sul deployment non conforme nel log di controllo.
Usa una regola specifica per il cluster
I seguenti esempi mostrano un regola specifica per il cluster che consente le immagini container di cui eseguire il deployment che sono state autorizzate attestatori specificati:
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG clusterAdmissionRules: us-east1-a.prod-cluster: evaluationMode: REQUIRE_ATTESTATION enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG requireAttestationsBy: - projects/example-project/attestors/secure-build - projects/example-project/attestors/prod-qualified
Qui, la regola specifica per il cluster si applica solo alle immagini container di cui è stato eseguito il deployment
a us-east1-a.prod-cluster
. La regola richiede l'attestazione da due attestatori
prima del deployment di un'immagine.
Aggiungere immagini esenti
L'esempio seguente mostra come aggiungere percorsi aggiuntivi in Container Registry o in un altro registry all'elenco di immagini esenti dal criterio:
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE admissionWhitelistPatterns: - namePattern: gcr.io/example-project-1/* - namePattern: gcr.io/example-project-2/my-app defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
In questo caso, i pattern corrispondenti per le altre immagini esenti
gcr.io/example-project-1/*
e gcr.io/example-project-2/my-app
.