Diese Seite richtet sich an Nutzer der Legacy-kontinuierlichen Validierung (Legacy-CV) (eingestellt).
Die kontinuierliche Legacy-Validierung ist ein Feature der Binärautorisierung, das regelmäßig Container-Images überprüft, die mit ausgeführten Pods verknüpft sind, um die Einhaltung Ihrer Singleton-Richtlinie für die Binärautorisierung zu gewährleisten. Die Ergebnisse des Legacy CV-Logs werden in Cloud Logging protokolliert.
Legacy CV beendet die ausgeführten Pods nicht.
Beschränkungen
Für die Legacy-CV gelten die folgenden Einschränkungen:
- Legacy CV unterstützt nur Pods, die in Google Kubernetes Engine (GKE) bereitgestellt werden.
- Legacy CV unterstützt keine Richtlinien für die Binärautorisierung, die bestimmte Regeln für Anthos Service Mesh-Dienstidentitäten, Kubernetes-Dienstkonten oder Kubernetes-Namespaces angeben.
Hinweise
Achten Sie darauf, dass Sie die Binärautorisierung für Google Kubernetes Engine in einem Projekt eingerichtet haben. Legacy-CV-Logs zur Konformität von Richtlinien von Pods in allen Clustern im Projekt.
Prüfen, ob die gcloud CLI auf die neueste Version aktualisiert ist
Erforderliche Berechtigungen
IAM-Rollen (Identity and Access Management) enthalten Berechtigungen und können Nutzern, Gruppen und Dienstkonten zugewiesen werden. Die folgenden Rollen enthalten die aufgeführten Berechtigungen für CV:
Rollenname | Legacy-CV-Berechtigungen | Beschreibung |
---|---|---|
roles/binaryauthorization.policyEditor |
binaryauthorization.continuousValidationConfig.update |
CV aktivieren und deaktivieren |
Führen Sie die folgenden Befehle aus, um die erforderlichen IAM-Berechtigungen festzulegen:
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'
Legacy-CV aktivieren
Console
So aktivieren Sie Legacy CV mithilfe der Google Cloud Console:
Rufen Sie in der Google Cloud Console die Seite Richtlinien für die Binärautorisierung auf.
Klicken Sie auf den Tab Richtlinie.
Klicken Sie auf Richtlinie bearbeiten.
Erweitern Sie den Abschnitt Zusätzliche Einstellungen für GKE- und Anthos-Bereitstellungen.
Klicken Sie auf das Kästchen Kontinuierliche Validierung aktivieren.
Klicken Sie auf Save Policy (Richtlinie speichern).
REST API
So aktivieren Sie Legacy CV mit der REST API:
Speichern Sie Ihre Projekt-ID:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Ersetzen Sie dabei
DEPLOYER_PROJECT_ID
durch die ID des Projekts, in dem Sie GKE ausführen.Rufen Sie das OAuth-Token für Google Cloud ab.
BEARER_TOKEN=$(gcloud auth print-access-token)
Das Token ist nur für kurze Zeit gültig.
Legacy-CV aktivieren
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"}}'
Das Legacy-CV ist jetzt so konfiguriert, dass Ereignisse protokolliert werden.
Der Logging-Logeintrag ähnelt dem folgenden Beispiel:
{
"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": {
"cluster_name": "<var>CLUSTER_NAME</var>",
"location": "<var>CLUSTER_LOCATION</var>",
"project_id": "<var>DEPLOYER_PROJECT_ID</var>"
}
},
"timestamp": "2021-03-19T17:15:43.872702342Z",
"severity": "WARNING",
"logName": "projects/<var>DEPLOYER_PROJECY_ID</var>/logs/binaryauthorization.googleapis.com%2Fcontinuous_validation",
"receiveTimestamp": "2021-03-19T17:57:00.432116179Z"
}
Informationen zum Abfragen von Legacy-CV-Ereignissen finden Sie unter Legacy-CV-Ereignisse in Cloud Logging ansehen.
Fehlerbehebung
Legacy CV verwendet andere Google Cloud-Dienste wie Cloud Asset Inventory und Pub/Sub. Wenn Legacy CV fehlschlägt, können Sie in Cloud Logging nach Fehlern von Cloud Asset Inventory suchen.
Darüber hinaus erstellt Legacy CV eine Feedressource mit dem Namen binauthz-cv-cai-feed
. Das Löschen oder Ändern des Feeds kann dazu führen, dass Legacy CV fehlschlägt. Legacy CV stellt fehlende oder geänderte Feeds automatisch wieder her, kann die Ergebnisse jedoch möglicherweise erst protokollieren, wenn die Wiederherstellung erfolgt ist.
CV deaktivieren
Console
So deaktivieren Sie Legacy-CV mithilfe der Google Cloud Console:
Rufen Sie in der Google Cloud Console die Seite Binärautorisierung auf:
Klicken Sie auf den Tab Richtlinie.
Klicken Sie auf Richtlinie bearbeiten.
Entfernen Sie das Häkchen bei Kontinuierliche Validierung aktivieren.
Klicken Sie auf Save Policy (Richtlinie speichern).
REST API
So deaktivieren Sie Legacy CV mit der REST API:
Speichern Sie Ihre Projekt-ID:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Ersetzen Sie dabei
DEPLOYER_PROJECT_ID
durch die ID des Projekts, in dem Sie GKE ausführen.Rufen Sie das OAuth-Token für Google Cloud ab.
BEARER_TOKEN=$(gcloud auth print-access-token)
Das Token ist nur für kurze Zeit gültig.
Deaktivieren Sie Legacy-CV mit dem folgenden Befehl:
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": "false"}}'
Legacy-CV-Ereignisse in Cloud Logging ansehen
Nachdem Sie CV aktiviert haben, werden regelmäßig alle Pods protokolliert, die gegen die Richtlinie zur Binärautorisierung verstoßen, in Cloud Logging.
Diese Logeinträge enthalten den folgenden Lognamen:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Log-Explorer
So rufen Sie Legacy CV-Ereignisse in Cloud Logging mit dem Log-Explorer auf:
Wählen Sie die Projekt-ID aus, für die Sie Google Cloud Observability aktiviert haben.
Geben Sie die folgende Abfrage in das Feld search-query ein:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Wählen Sie den Zeitraum unter time-range selector aus.
Legacy-Loganzeige
So rufen Sie Legacy CV-Ereignisse in Cloud Logging mit dem Log-Explorer auf:
Wählen Sie im Drop-down-Menü Optionen die Option Zurück zur Legacy-Loganzeige aus.
Wählen Sie das Google Cloud-Projekt aus, für das Sie Google Cloud Observability einrichten möchten.
Geben Sie in das Feld search-query die folgende Abfrage ein:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Wählen Sie den Zeitraum unter time-range selector aus.
gcloud
Führen Sie den folgenden Befehl aus, um die Legacy CV-Ereignisse der letzten Woche mit gcloud
in Cloud Logging anzusehen:
gcloud logging read --order="desc" --freshness=7d \
'logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"'
Nächste Schritte
- Break-Glass verwenden, um einen Pod bereitzustellen und Break-Glass-Ereignisse anzusehen
- Aktivieren Sie Probelauf, stellen Sie ein Container-Image bereit und rufen Sie Probelaufereignisse auf.