Halaman ini ditujukan untuk pengguna validasi berkelanjutan lama (CV lama) (tidak digunakan lagi).
Validasi berkelanjutan lama adalah fitur Otorisasi Biner yang secara berkala memeriksa image container yang terkait dengan Pod yang sedang berjalan untuk memastikan kepatuhan berkelanjutan terhadap kebijakan project-singleton Otorisasi Biner Anda. CV lama mencatat temuan ke Cloud Logging.
CV lama tidak menghentikan Pod yang sedang berjalan.
Batasan
CV lama memiliki batasan berikut:
- CV lama hanya mendukung Pod yang di-deploy di Google Kubernetes Engine (GKE).
- CV lama tidak mendukung kebijakan Otorisasi Biner yang menentukan aturan khusus untuk identitas layanan Cloud Service Mesh, akun layanan Kubernetes, atau namespace Kubernetes.
Sebelum memulai
Pastikan Anda telah menyiapkan Otorisasi Biner untuk Google Kubernetes Engine dalam project. Peristiwa kepatuhan kebijakan log CV lama dari Pod di semua cluster dalam project.
Pastikan gcloud CLI diupdate ke versi terbaru
Izin yang diperlukan
Peran Identity and Access Management (IAM) mencakup izin dan dapat ditetapkan kepada pengguna, grup, dan akun layanan. Peran berikut mencakup izin yang tercantum untuk CV:
Nama peran | Izin CV lama | Deskripsi |
---|---|---|
roles/binaryauthorization.policyEditor |
binaryauthorization.continuousValidationConfig.update |
Mengaktifkan dan menonaktifkan CV. |
Untuk menetapkan izin IAM yang diperlukan, jalankan perintah berikut:
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'
Mengaktifkan CV lama
Konsol
Untuk mengaktifkan CV lama menggunakan konsol Google Cloud , lakukan langkah-langkah berikut:
Di Google Cloud console, buka halaman Binary Authorization Policy.
Klik tab Kebijakan.
Klik Edit Kebijakan.
Luaskan bagian Setelan tambahan untuk deployment GKE dan Anthos.
Centang kotak Aktifkan Validasi Berkelanjutan.
Klik Simpan Kebijakan.
REST API
Untuk mengaktifkan CV lama menggunakan REST API, lakukan hal berikut:
Simpan project ID Anda:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Ganti
DEPLOYER_PROJECT_ID
dengan ID project tempat Anda menjalankan GKE.Dapatkan token OAuth untuk Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)
Token hanya valid dalam waktu singkat.
Aktifkan CV lama:
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"}}'
CV lama kini dikonfigurasi untuk mencatat peristiwa ke dalam log.
Entri log Logging mirip dengan contoh berikut:
{
"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"
}
Untuk mempelajari cara membuat kueri peristiwa CV lama, lihat Melihat peristiwa CV lama di Cloud Logging.
Pemecahan masalah
CV lama menggunakan layanan Google Cloud lain, seperti Cloud Asset Inventory dan Pub/Sub. Jika CV lama gagal, Anda dapat memeriksa error Inventaris Aset Cloud di Cloud Logging.
Selain itu, CV lama membuat resource feed yang disebut binauthz-cv-cai-feed
. Menghapus
atau mengubah feed dapat menyebabkan CV lama gagal. CV lama otomatis memulihkan feed yang hilang atau diubah, tetapi CV tersebut dapat gagal mencatat temuan hingga melakukannya.
Nonaktifkan CV
Konsol
Untuk menonaktifkan CV lama menggunakan konsol Google Cloud , lakukan hal berikut:
Di konsol Google Cloud , buka halaman Binary Authorization:
Klik tab Kebijakan.
Klik Edit Kebijakan.
Hapus centang pada kotak Aktifkan Validasi Berkelanjutan.
Klik Simpan Kebijakan.
REST API
Untuk menonaktifkan CV lama menggunakan REST API, lakukan hal berikut:
Simpan project ID Anda:
DEPLOYER_PROJECT_ID=DEPLOYER_PROJECT_ID
Ganti
DEPLOYER_PROJECT_ID
dengan ID project tempat Anda menjalankan GKE.Dapatkan token OAuth untuk Google Cloud.
BEARER_TOKEN=$(gcloud auth print-access-token)
Token hanya valid dalam waktu singkat.
Nonaktifkan CV lama menggunakan perintah berikut:
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"}}'
Melihat peristiwa CV lama di Cloud Logging
Setelah Anda mengaktifkan CV, CV akan mencatat semua Pod yang melanggar kebijakan Otorisasi Biner ke Cloud Logging secara rutin.
Entri log ini berisi nama log berikut:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Logs Explorer
Untuk melihat peristiwa CV lama di Cloud Logging menggunakan Logs Explorer, lakukan hal berikut:
Pilih project ID tempat Anda mengaktifkan Google Cloud Observability.
Masukkan kueri berikut di kotak search-query:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Pilih rentang waktu di pemilih rentang waktu.
Logs Viewer Lama
Untuk melihat peristiwa CV lama di Cloud Logging menggunakan Logs Explorer, lakukan langkah-langkah berikut:
Pilih Kembali ke Logs Viewer Lama dari menu drop-down Opsi.
Pilih project Google Cloud tempat Anda menyiapkan Google Cloud Observability.
Masukkan kueri berikut ke dalam kotak search-query:
logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"
Pilih rentang waktu di pemilih rentang waktu.
gcloud
Untuk melihat peristiwa CV lama dari minggu lalu di Cloud Logging menggunakan
gcloud
, jalankan perintah berikut:
gcloud logging read --order="desc" --freshness=7d \
'logName:"binaryauthorization.googleapis.com%2Fcontinuous_validation"'
Langkah berikutnya
- Gunakan breakglass untuk men-deploy Pod dan melihat peristiwa breakglass.
- Aktifkan uji coba, deploy image container, dan lihat peristiwa uji coba.