Diese Seite enthält Beispielrichtlinien für die Binärautorisierung im YAML-Format. Eine Anleitung zum Konfigurieren von Richtlinien in der Binärautorisierung finden Sie unter Richtlinien mit der Google Cloud CLI konfigurieren oder Richtlinien mit der Google Cloud Console konfigurieren.
Alle Deployments zulassen
Das folgende Beispiel zeigt, wie Sie das Deployment aller Container-Images ohne Einschränkungen zulassen.
name: projects/example-project/policy defaultAdmissionRule: evaluationMode: ALWAYS_ALLOW enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Hier hat die Standardregel den evaluationMode
ALWAYS_ALLOW
, was dazu führt, dass die Binärautorisierung das Deployment aller Container-Images zulässt. Die Standardeinstellung enforcementMode
ist auf ENFORCED_BLOCK_AND_AUDIT_LOG
gesetzt. Da jedoch alle Deployments zulässig sind, wird diese Aktion nie ausgeführt.
(Fast) alle Deployments blockieren
Im folgenden Beispiel wird gezeigt, wie Sie das Deployment aller Container-Images blockieren und gleichzeitig von Google verwaltete Systemimages zulassen. Diese Container-Images sind für den erfolgreichen Start der meisten Google Kubernetes Engine-Cluster (GKE) erforderlich.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: ALWAYS_DENY enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
Hier ist der Modus globalPolicyEvaluationMode aktiviert, sodass für GKE erforderliche Images nicht durch die Richtlinienerzwingung blockiert werden.
Die Standardregel hat den evaluationMode
ALWAYS_DENY
. Dies führt dazu, dass die Binärautorisierung das Deployment aller Container-Images ablehnt. Der enforcementMode
ist auf ENFORCED_BLOCK_AND_AUDIT_LOG
gesetzt. Dies führt dazu, dass die Binärautorisierung das Deployment blockiert und dies in das Audit-Log schreibt.
Vor dem Deployment Signieren durch Attestierer verlangen
Im folgenden Beispiel wird gezeigt, wie Sie festlegen, dass Attestierer einen Release autorisieren, bevor ein Container-Image bereitgestellt werden kann. Das Deployment wird blockiert, wenn nicht alle Attestierer signiert haben.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG requireAttestationsBy: - projects/example-project/attestors/secure-build
Hier hat die Standardregel den evaluationMode
REQUIRE_ATTESTATION
, wodurch die Binärautorisierung nur das Deployment von Images zulässt, die von den erforderlichen Attestierern in requireAttestationsBy
autorisiert wurden.
Deployments im Probelaufmodus zulassen
Der Probelaufmodus ist ein Erzwingungsmodus in einer Richtlinie, der das Deployment nicht konformer Images ermöglicht, aber Details zum Richtlinienverstoß und zum Deployment in das Audit-Log schreibt. Mit dem Probelaufmodus können Sie eine Richtlinie in Ihrer Produktionsumgebung testen, bevor sie in Kraft tritt.
Das folgende Beispiel zeigt, wie Sie das Deployment aller nicht konformen Images im Probelaufmodus zulassen.
name: projects/example-project/policy globalPolicyEvaluationMode: ENABLE defaultAdmissionRule: evaluationMode: REQUIRE_ATTESTATION enforcementMode: DRYRUN_AUDIT_LOG_ONLY requireAttestationsBy: - projects/example-project/attestors/secure-build
Hier hat die Standardregel den enforcementMode
DRYRUN_AUDIT_LOG_ONLY
, wodurch das Deployment von Images zugelassen wird, die nicht vom angegebenen Attestierer autorisiert wurden. Informationen zum nicht konformen Deployment werden jedoch in das Audit-Log geschrieben.
Clusterspezifische Regel verwenden
Die folgenden Beispiele zeigen eine clusterspezifische Regel, die nur das Deployment von Container-Images zulässt, die von den angegebenen Attestierern autorisiert wurden:
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
Hier gilt die clusterspezifische Regel nur für die Container-Images, die in us-east1-a.prod-cluster
bereitgestellt wurden. Für die Regel ist eine Attestierung durch zwei Attestierer erforderlich, bevor ein Image bereitgestellt werden kann.
Ausgenommene Images hinzufügen
Das folgende Beispiel zeigt, wie Sie der Liste der Images, die von der Richtlinie ausgenommen sind, zusätzliche Pfade in Container Registry oder einer anderen Registry hinzufügen:
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
Hier sind die übereinstimmenden Muster für zusätzliche ausgenommene Bilder gcr.io/example-project-1/*
und gcr.io/example-project-2/my-app
.