Questa pagina contiene criteri di esempio per Autorizzazione binaria specificati in formato YAML. Per istruzioni sulla configurazione dei criteri in Autorizzazione binaria, consulta Configurare un criterio utilizzando Google Cloud CLI o Configurare 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
Qui, la regola predefinita ha evaluationMode
ALWAYS_ALLOW
, il 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 verrà mai eseguita.
Blocca (quasi) tutti i deployment
L'esempio seguente mostra come bloccare il deployment di tutte le immagini container, 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 è abilitato per fare 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
, pertanto Autorizzazione binaria nega il deployment di tutte le immagini container. Il campo
enforcementMode
è impostato su
ENFORCED_BLOCK_AND_AUDIT_LOG
, per cui Autorizzazione binaria blocca
il deployment e scrive nell'audit log.
Richiedi agli attestatori di firmare prima del deployment
L'esempio seguente mostra come richiedere agli attestatori di autorizzare una release prima di poter eseguire il deployment di un'immagine container. Il deployment è 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
Qui, la regola predefinita ha un evaluationMode
pari a REQUIRE_ATTESTATION
, il che
causa Autorizzazione binaria per consentire il deployment solo delle immagini che
sono state autorizzate dagli attestatori richiesti in
requireAttestationsBy
.
Consenti i deployment in modalità di prova
La modalità di prova è una modalità di applicazione forzata in un criterio che consente il deployment di immagini non conformi, ma scrive i dettagli relativi alla violazione dei criteri e al deployment nell'audit log. La modalità di prova ti consente di testare un criterio nel tuo ambiente di produzione prima che venga applicato.
L'esempio seguente mostra come consentire il deployment di tutte le immagini non conformi in modalità di prova.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: DRYRUN_AUDIT_LOG_ONLY requireAttestationsBy: - projects/example-project/attestors/secure-build
Qui, la regola predefinita ha un valore
enforcementMode
pari a
DRYRUN_AUDIT_LOG_ONLY
, che consente il deployment di immagini non autorizzate dall'attestatore specificato, ma scrive nell'audit log le informazioni
sul deployment non conforme.
Utilizza una regola specifica per il cluster
L'esempio seguente mostra una regola specifica per il cluster che consente il deployment solo delle immagini container autorizzate dagli 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
In questo caso, la regola specifica per il cluster si applica solo alle immagini container di cui è stato eseguito il deployment
in us-east1-a.prod-cluster
. La regola richiede l'attestazione da parte di due attestatori
prima di poter eseguire il deployment di un'immagine.
Aggiungi immagini esenti
L'esempio seguente mostra come aggiungere ulteriori percorsi in Container Registry o un altro registro 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
Qui, i pattern corrispondenti per altre immagini esenti sono
gcr.io/example-project-1/*
e gcr.io/example-project-2/my-app
.