Questa pagina contiene policy di esempio per Autorizzazione binaria specificate in formato YAML. Per istruzioni sulla configurazione delle policy in Autorizzazione binaria, consulta Configura una policy utilizzando Google Cloud CLI o Configura una policy 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,
il che fa sì che Autorizzazione binaria consenta il deployment di tutte le immagini container. Il
enforcementMode predefinito è 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 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 in modo che le immagini richieste da GKE non vengano bloccate dall'applicazione dei criteri.
La regola predefinita ha un
evaluationMode di ALWAYS_DENY, che
fa sì che l'autorizzazione binaria neghi il deployment di tutte le immagini container. enforcementMode è impostato su
ENFORCED_BLOCK_AND_AUDIT_LOG, il che fa sì che l'autorizzazione binaria blocchi
il deployment e la scrittura nel log di controllo.
Richiedere la firma degli attestatori prima del deployment
L'esempio seguente mostra come richiedere agli attestatori di autorizzare una release prima che possa essere eseguito il deployment di un'immagine container. 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 pari a REQUIRE_ATTESTATION, il che
fa sì che Autorizzazione binaria consenta il deployment solo delle immagini che sono state
autorizzate dagli attestatori richiesti in
requireAttestationsBy.
Consenti deployment in modalità dry run
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 nel log di controllo. La modalità dry run consente di testare una policy nell'ambiente di produzione prima che entri in vigore.
L'esempio seguente mostra come consentire il deployment di tutte le immagini non conformi 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
enforcementMode di
DRYRUN_AUDIT_LOG_ONLY, che consente il deployment di immagini che non sono state
autorizzate al deployment dall'attestatore specificato, ma scrive informazioni
sul deployment non conforme nel log di controllo.
Utilizzare una regola specifica per il cluster
I seguenti esempi mostrano una regola specifica per il cluster che consente solo il deployment 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 del cluster si applica solo alle immagini container di cui è stato eseguito il deployment
in us-east1-a.prod-cluster. La regola richiede l'attestazione di due attestatori
prima che possa essere eseguito il deployment di un'immagine.
Aggiungere immagini esenti
Il seguente esempio mostra come aggiungere altri percorsi in Container Registry o in un altro registro all'elenco delle immagini esenti dalla policy:
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 di corrispondenza per le immagini esenti aggiuntive sono
gcr.io/example-project-1/* e gcr.io/example-project-2/my-app.