כברירת מחדל, Eventarc מצפין תוכן של לקוחות במנוחה. Eventarc מטפל בהצפנה בשבילכם בלי שתצטרכו לבצע פעולות נוספות. האפשרות הזו נקראת הצפנת ברירת המחדל של Google.
אם אתם רוצים לשלוט במפתחות ההצפנה, אתם יכולים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) ב-Cloud KMS עם שירותים שמשולבים עם CMEK, כולל Eventarc. שימוש במפתחות Cloud KMS מאפשר לכם לשלוט ברמת ההגנה, במיקום, בלוח הזמנים של הרוטציה, בשימוש ובהרשאות הגישה, ובגבולות הקריפטוגרפיים. בנוסף, באמצעות Cloud KMS תוכלו לצפות ביומני ביקורת ולשלוט במחזורי החיים של המפתחות. במקום ש-Google תהיה הבעלים של מפתחות ההצפנה של המפתחות (KEK) הסימטריים שמגנים על הנתונים שלכם ותנהל אותם, אתם שולטים במפתחות האלה ומנהלים אותם ב-Cloud KMS.
אחרי שמגדירים את המשאבים עם CMEK, חוויית הגישה למשאבי Eventarc דומה לשימוש בהצפנה שמוגדרת כברירת מחדל ב-Google. מידע נוסף על אפשרויות ההצפנה זמין במאמר מפתחות הצפנה בניהול הלקוח (CMEK).
מפתחות הצפנה בניהול הלקוח מאוחסנים כמפתחות תוכנה, באשכול Cloud HSM או באופן חיצוני באמצעות Cloud External Key Manager.
מה מוגן באמצעות CMEK
אתם יכולים להגדיר CMEK כדי להצפין את הודעות האירועים שעוברות דרך המשאבים המתקדמים הבאים של Eventarc:
-
MessageBus—אוטובוס Eventarc Advanced -
Pipeline—צינור עיבוד נתונים של Eventarc Advanced -
GoogleApiSource—משאב מתקדם של Eventarc שמייצג מינוי לאירועים ב-Google API באוטובוס מסוים
מידע נוסף מופיע במאמר סקירה כללית מתקדמת של Eventarc.
כשמפעילים CMEK למשאב, הוא מגן על הנתונים שמשויכים למשאב באזור הזה באמצעות מפתח הצפנה שרק לכם יש גישה אליו.
Cloud KMS ו-Eventarc הם שירותים אזוריים. האזור של מפתח Cloud KMS ושל משאב Eventarc Advanced המוגן חייב להיות זהה.
לפני שמתחילים
כדי להשתמש בתכונה הזו ב-Eventarc, אתם צריכים לבצע את הפעולות הבאות:
המסוף
-
מפעילים את Cloud KMS API ואת Eventarc API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים - יצירת אוסף מפתחות
- יצירת מפתח לאוסף מפתחות ספציפי
gcloud
- מעדכנים את הרכיבים של
gcloud.gcloud components update
- להפעיל את Cloud KMS API ואת Eventarc API בפרויקט שבו יאוחסנו מפתחות ההצפנה.
gcloud services enable cloudkms.googleapis.com eventarc.googleapis.com
- יצירת אוסף מפתחות
- יצירת מפתח לאוסף מפתחות ספציפי
כדי לקבל מידע על כל הדגלים והערכים האפשריים, מריצים את הפקודה עם הדגל --help.
Terraform
מפעילים את Cloud KMS API ואת Eventarc API בפרויקט שבו יאוחסנו מפתחות ההצפנה על ידי הגדרת המשאב
google_project_service:יוצרים אוסף מפתחות ומפתח על ידי הגדרת המשאבים
google_kms_key_ringו-google_kms_crypto_key. לדוגמה:
מידע נוסף על שימוש ב-Terraform זמין במאמרי העזרה בנושא Terraform ב- Google Cloud.
מעניקים לחשבון השירות של Eventarc גישה למפתח
כדי לתת לחשבון השירות של Eventarc גישה למפתח Cloud KMS, צריך להוסיף את חשבון השירות כחשבון משתמש של המפתח ולהעניק לחשבון השירות את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter:
המסוף
כשמפעילים CMEK באוטובוס או בצינור עיבוד נתונים באמצעות מסוף Google Cloud , מוצגת בקשה להעניק לחשבון השירות את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter. מידע נוסף מופיע במאמר הזה בקטע הפעלת CMEK לאפיק או בקטע הפעלת CMEK לצינור.
gcloud
gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location REGION \ --member serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
מחליפים את מה שכתוב בשדות הבאים:
-
KEY_NAME: שם המפתח – לדוגמה,my-key -
KEY_RING: השם של מחזיק המפתחות, למשלmy-keyring -
REGION: מיקום המפתח, לדוגמה,us-central1
SERVICE_AGENT_EMAIL: כתובת האימייל של חשבון השירות עם התפקידeventarc.serviceAgentלדוגמה,
service-PROJECT_NUMBER@gcp-sa-eventarc.iam.gserviceaccount.com. מידע נוסף זמין במאמר בנושא סוכני שירות.
Terraform
יוצרים את הזהות בשירות Eventarc על ידי הגדרת המשאב
google_project_service_identity:מקצים את התפקיד Cloud KMS לחשבון השירות של Eventarc על ידי הגדרת המשאב
google_kms_crypto_key_iam_member:
הערה: המשאב time_sleep מוסיף עיכוב כדי לאפשר הפצה של הרשאות של סוכני שירות ו-IAM.
הפעלת CMEK באוטובוס
כשמפעילים CMEK לאפיק מתקדם של Eventarc, כל ההודעות שעוברות דרך האפיק מוצפנות באופן מלא באמצעות מפתח ה-CMEK הזה.
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Bus.
אפשר ליצור אוטובוס או ללחוץ על שם האוטובוס כדי לעדכן אותו.
בדף פרטי האוטובוס, לוחצים על עריכה.
בדף Edit bus, בקטע Encryption, בוחרים באפשרות Cloud KMS key.
ברשימה סוג המפתח, בוחרים שיטה לניהול המפתחות.
אתם יכולים לנהל את המפתחות באופן ידני או להשתמש ב-Autokey, שמאפשר לכם ליצור אוספי מפתחות ומפתחות לפי דרישה. אם האפשרות Autokey מושבתת, היא עדיין לא משולבת עם סוג המשאב הנוכחי.
בוחרים מפתח מהרשימה Select a Cloud KMS key.
אופציונלי: כדי להזין ידנית את שם המשאב של המפתח, ברשימה Select a Cloud KMS key (בחירת מפתח Cloud KMS), לוחצים על Enter key manually (הזנת מפתח באופן ידני) ומזינים את שם המפתח בפורמט שצוין.
אם מתבקשים, מקצים את התפקיד
cloudkms.cryptoKeyEncrypterDecrypterלסוכן השירות של Eventarc.לוחצים על Save.
gcloud
משתמשים בפקודה gcloud eventarc message-buses update כדי להפעיל את CMEK באוטובוס:
gcloud eventarc message-buses update BUS_NAME \ --location=REGION \ --crypto-key=KEY
מחליפים את מה שכתוב בשדות הבאים:
-
BUS_NAME: המזהה או המזהה המוגדר במלואו של האוטובוס -
REGION: a supported Eventarc Advanced location
KEY: השם המלא של מפתח Cloud KMS בפורמטprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAMEה
REGIONשל המפתח צריך להיות זהה למיקום האוטובוס שרוצים להגן עליו.
Terraform
כדי להפעיל CMEK באוטובוס, צריך להגדיר את המשאב google_eventarc_message_bus. לדוגמה:
אימות השימוש ב-Cloud KMS
מוודאים שהאוטובוס תואם עכשיו ל-CMEK.
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Bus.
לוחצים על שם האוטובוס שהגנתם עליו באמצעות CMEK.
בדף Bus details, הסטטוס Encryption מציין את מפתח ההצפנה בניהול הלקוח שנמצא בשימוש. אפשר ללחוץ על המפתח כדי לעבור אליו ב-Security Command Center.
אחרת, הודעת הסטטוס היא
Event messages encrypted using Google-managed encryption keys.
gcloud
משתמשים בפקודה gcloud eventarc message-buses describe כדי לתאר את האוטובוס:
gcloud eventarc message-buses describe BUS_NAME \ --location=REGION
הפלט אמור להיראות כך:
cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME name: projects/PROJECT_ID/locations/REGION/messageBuses/BUS_NAME updateTime: '2022-06-28T17:24:56.365866104Z'
הערך cryptoKeyName מציג את מפתח Cloud KMS שבו נעשה שימוש באוטובוס.
Terraform
כדי לאשר את מפתח ה-CMEK, אפשר להשתמש בפקודה state show של Terraform.
terraform state show google_eventarc_message_bus.default
הפלט אמור להיראות כך:
resource "google_eventarc_message_bus" "default" { create_time = "2026-03-02T21:24:11.493277339Z" crypto_key_name = "projects/PROJECT_ID/locations/us-central1/keyRings/adffca5e8fbc2cca-example-keyring/cryptoKeys/example-key" effective_annotations = {} effective_labels = { "goog-terraform-provisioned" = "true" } id = "projects/PROJECT_ID/locations/us-central1/messageBuses/example-bus" location = "us-central1" message_bus_id = "example-bus" name = "projects/PROJECT_ID/locations/us-central1/messageBuses/example-bus" project = "PROJECT_ID" terraform_labels = { "goog-terraform-provisioned" = "true" } uid = "771501be-36ac-4336-93e3-f04604e2523e" update_time = "2026-03-02T21:24:29.933105970Z" logging_config { log_severity = "NONE" } }
השבתת CMEK באוטובוס
אפשר להשבית את ההגנה באמצעות CMEK שמשויכת לאוטובוס. האירועים שנשלחים דרך האוטובוס עדיין מוגנים על ידי Google-owned and Google-managed encryption keys.
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Bus.
לוחצים על שם האוטובוס.
בדף פרטי האוטובוס, לוחצים על עריכה.
בדף Edit bus, בשדה Encryption, בוחרים באפשרות Google-managed encryption key.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud eventarc message-buses update כדי להשבית את CMEK באוטובוס:
gcloud eventarc message-buses update BUS_NAME \ --location=REGION \ --clear-crypto-key
Terraform
כדי לעדכן את האוטובוס במקום, מוחקים את הערך של crypto_key_name ולא מציינים אותו בקובץ התצורה של Terraform. לדוגמה:
# Disable CMEK for an Eventarc Advanced bus
resource "google_eventarc_message_bus" "default" {
location = "us-central1"
message_bus_id = "example-bus"
}
הפעלת CMEK לצינור עיבוד נתונים
כשמפעילים CMEK בצינור מתקדם של Eventarc, כל ההודעות שעוברות דרך הצינור מוצפנות באופן מלא באמצעות מפתח ה-CMEK הזה.
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Pipelines.
אפשר ליצור צינור, או ללחוץ על שם הצינור אם מעדכנים צינור קיים.
בדף פרטי צינור, לוחצים על עריכה.
בדף Edit pipeline, בקטע Encryption, בוחרים באפשרות Cloud KMS key.
ברשימה סוג המפתח, בוחרים שיטה לניהול המפתחות.
אתם יכולים לנהל את המפתחות באופן ידני או להשתמש ב-Autokey, שמאפשר לכם ליצור מחזיקי מפתחות ומפתחות לפי דרישה. אם האפשרות 'הוספת מפתח אוטומטית' מושבתת, היא עדיין לא משולבת עם סוג המשאב הנוכחי.
בוחרים מפתח מהרשימה Select a Cloud KMS key.
אופציונלי: כדי להזין ידנית את שם המשאב של המפתח, ברשימה Select a Cloud KMS key, לוחצים על Enter key manually ומזינים את שם המפתח בפורמט שצוין.
אם מתבקשים, מקצים את התפקיד
cloudkms.cryptoKeyEncrypterDecrypterלסוכן השירות של Eventarc.לוחצים על Save.
gcloud
משתמשים בפקודה gcloud eventarc pipelines update כדי להפעיל את CMEK עבור צינור:
gcloud eventarc pipelines update PIPELINE_NAME \ --location=REGION \ --crypto-key=KEY
מחליפים את מה שכתוב בשדות הבאים:
-
PIPELINE_NAME: המזהה או המזהה המלא של הצינור -
REGION: מיקום נתמך של Eventarc Advanced
KEY: השם המלא של מפתח Cloud KMS בפורמטprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAMEה
REGIONשל המפתח צריך להיות זהה למיקום של צינור הנתונים שרוצים להגן עליו.
Terraform
כדי להפעיל CMEK בצינור עיבוד הנתונים, צריך להגדיר את המשאב google_eventarc_pipeline. לדוגמה:
אימות השימוש ב-Cloud KMS
מוודאים שהצינור עכשיו תואם ל-CMEK.
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Pipelines.
לוחצים על שם צינור הנתונים שהגנתם עליו באמצעות CMEK.
בדף Pipeline details, הסטטוס Encryption מציין את מפתח ההצפנה בניהול הלקוח שנמצא בשימוש. אפשר ללחוץ על המפתח כדי לעבור אליו ב-Security Command Center.
אחרת, הודעת הסטטוס היא
Event messages encrypted using Google-managed encryption keys.
gcloud
משתמשים בפקודה gcloud eventarc pipelines describe כדי לאמת את CMEK עבור צינור העיבוד:
gcloud eventarc pipelines describe PIPELINE_NAME \ --location=REGION
הפלט אמור להיראות כך:
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME destinations: ... name: projects/PROJECT_ID/locations/REGION/pipelines/PIPELINE_NAME uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
הערך cryptoKeyName מציג את מפתח Cloud KMS שבו נעשה שימוש בצינור.
Terraform
כדי לאשר את מפתח ה-CMEK, אפשר להשתמש בפקודה state show של Terraform.
terraform state show google_eventarc_pipeline.default
הפלט אמור להיראות כך:
resource "google_eventarc_pipeline" "default" { create_time = "2026-03-02T21:24:32.651373287Z" crypto_key_name = "projects/PROJECT_ID/locations/us-central1/keyRings/adffca5e8fbc2cca-example-keyring/cryptoKeys/example-key" effective_annotations = {} effective_labels = { "goog-terraform-provisioned" = "true" } id = "projects/PROJECT_ID/locations/us-central1/pipelines/example-pipeline" location = "us-central1" name = "projects/PROJECT_ID/locations/us-central1/pipelines/example-pipeline" pipeline_id = "example-pipeline" project = "PROJECT_ID" terraform_labels = { "goog-terraform-provisioned" = "true" } uid = "124e444d-55ca-4c99-8529-395bda80c82b" update_time = "2026-03-02T21:28:26.699657974Z" destinations { authentication_config { google_oidc { service_account = "eventarc-advanced-sa@PROJECT_ID.iam.gserviceaccount.com" } } http_endpoint { uri = "https://example-service-hk27nrrura-uc.a.run.app" } } retry_policy { max_attempts = 5 max_retry_delay = "60s" min_retry_delay = "1s" } }
השבתת CMEK בצינור עיבוד נתונים
אפשר להשבית את ההגנה באמצעות CMEK שמשויכת לצינור עיבוד נתונים. האירועים שמועברים דרך צינור עיבוד הנתונים עדיין מוגנים על ידי Google-owned and Google-managed encryption keys.
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Pipelines.
לוחצים על שם הצינור.
בדף פרטי צינור, לוחצים על עריכה.
בדף Edit pipeline, בשדה Encryption, בוחרים באפשרות Google-managed encryption key.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud eventarc pipelines update כדי להשבית את CMEK עבור צינור העיבוד:
gcloud eventarc pipelines update PIPELINE_NAME \ --location=REGION \ --clear-crypto-key
Terraform
כדי לעדכן את צינור העיבוד במקום, מוחקים את הערך crypto_key_name ולא מציינים אותו בקובץ התצורה של Terraform. לדוגמה:
# Disable CMEK for an Eventarc Advanced pipeline
resource "google_eventarc_pipeline" "default" {
location = "us-central1"
pipeline_id = "example-pipeline"
destinations {
http_endpoint {
uri = google_cloud_run_v2_service.default.uri
}
authentication_config {
google_oidc {
service_account = google_service_account.default.email
}
}
}
}
הפעלת CMEK למקורות של Google API
כשמפעילים CMEK למשאב GoogleApiSource, כל ההודעות שנאספות עבור המשאב הזה מוצפנות באופן מלא באמצעות מפתח ה-CMEK.
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Bus.
אפשר ליצור אוטובוס או ללחוץ על שם האוטובוס כדי לעדכן אותו.
בדף פרטי האוטובוס, לוחצים על עריכה.
כדי להוסיף מקור הודעות, לוחצים על הוספת מקור.
אם כבר קיים מקור הודעות, צריך קודם למחוק אותו ואז להוסיף מקור הודעות חדש.
בחלונית הוספת מקור הודעות, בשדה של ספק ההודעות של Google API, מאשרים את ברירת המחדל
google-api-source.בקטע הצפנה, בוחרים באפשרות מפתח Cloud KMS ופועלים לפי השלבים הבאים:
ברשימה סוג המפתח, בוחרים שיטה לניהול המפתחות.
אתם יכולים לנהל את המפתחות באופן ידני או להשתמש ב-Autokey, שמאפשר לכם ליצור מחזיקי מפתחות ומפתחות לפי דרישה. אם האפשרות Autokey מושבתת, היא עדיין לא משולבת עם סוג המשאב הנוכחי.
בקטע Select a Cloud KMS key, בוחרים מפתח.
צריך לבחור אזור כדי לראות את המפתחות שמנוהלים על ידי הלקוח.
אופציונלי: כדי להזין ידנית את שם המשאב של המפתח, ברשימה Select a Cloud KMS key (בחירת מפתח Cloud KMS), לוחצים על Enter key manually (הזנת מפתח באופן ידני) ומזינים את שם המפתח בפורמט שצוין.
אם מתבקשים, מקצים את התפקיד
cloudkms.cryptoKeyEncrypterDecrypterלסוכן השירות של Eventarc.
לוחצים על יצירה.
ההגדרה הזו מאפשרת איסוף אוטומטי של אירועים שמגיעים ישירות ממקורות של Google, וכל הודעות האירועים מוצפנות באופן מלא באמצעות מפתח CMEK.
רק אירועים ממשאבים באותו Google Cloud פרויקט כמו
GoogleApiSourceמתפרסמים. מידע נוסף זמין במאמר בנושא פרסום אירועים ממקורות של Google.לוחצים על Save.
gcloud
משתמשים בפקודה gcloud eventarc google-api-sources update כדי להפעיל את CMEK עבור משאב GoogleApiSource:
gcloud eventarc google-api-sources update GOOGLE_API_SOURCE_NAME \ --location=REGION \ --crypto-key=KEY
מחליפים את מה שכתוב בשדות הבאים:
-
GOOGLE_API_SOURCE_NAME: המזהה או המזהה המוגדר במלואו של משאבGoogleApiSource -
REGION: a supported Eventarc Advanced location
KEY: השם המלא של מפתח Cloud KMS בפורמטprojects/PROJECT_NAME/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAMEREGIONהמפתח צריך להיות זהה למיקום המשאב שרוצים להגן עליו.
Terraform
כדי להפעיל CMEK במקורות Google API, צריך להגדיר את המשאב google_eventarc_google_api_source. לדוגמה:
אימות השימוש ב-Cloud KMS
מוודאים שהמשאב תואם עכשיו ל-CMEK.
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Bus.
לוחצים על שם האוטובוס שהגנתם על מקור ההודעות שלו באמצעות מפתח Cloud KMS.
בדף פרטי האוטובוס, לוחצים על עריכה.
המפתח שמצפין את מקור ההודעה אמור להופיע. אפשר ללחוץ על המפתח כדי לעבור אליו ב-Security Command Center.
אחרת, הודעת הסטטוס של ההצפנה היא
Event messages encrypted using Google-managed encryption keys.
gcloud
משתמשים בפקודה gcloud eventarc google-api-sources describe כדי לאמת את CMEK עבור משאב GoogleApiSource:
gcloud eventarc google-api-sources describe GOOGLE_API_SOURCE_NAME \ --location=REGION
הפלט אמור להיראות כך:
createTime: '2022-06-28T18:05:52.403999904Z' cryptoKeyName: projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME destination: projects/PROJECT_ID/locations/REGION/messageBuses/BUS_NAME name: projects/PROJECT_ID/locations/REGION/googleApiSources/GOOGLE_API_SOURCE_NAME uid: 5ea277f9-b4b7-4e7f-a8e0-6ca9d7204fa3 updateTime: '2022-06-28T18:09:18.650727516Z'
הערך cryptoKeyName מציג את המפתח של Cloud KMS ששימש למשאב.
Terraform
כדי לאשר את מפתח ה-CMEK, אפשר להשתמש בפקודה state show של Terraform.
terraform state show google_eventarc_google_api_source.default
הפלט אמור להיראות כך:
resource "google_eventarc_google_api_source" "default" { create_time = "2026-03-02T21:24:32.019246933Z" crypto_key_name = "projects/PROJECT_ID/locations/us-central1/keyRings/adffca5e8fbc2cca-example-keyring/cryptoKeys/example-key" destination = "projects/PROJECT_ID/locations/us-central1/messageBuses/example-bus" effective_annotations = {} effective_labels = { "goog-terraform-provisioned" = "true" } google_api_source_id = "example-google-api-source" id = "projects/PROJECT_ID/locations/us-central1/googleApiSources/example-google-api-source" location = "us-central1" name = "projects/PROJECT_ID/locations/us-central1/googleApiSources/example-google-api-source" project = "PROJECT_ID" terraform_labels = { "goog-terraform-provisioned" = "true" } uid = "5c79b6e1-8377-48bd-b5d1-61f04ec07e29" update_time = "2026-03-02T21:24:38.051947964Z" logging_config { log_severity = "NONE" } }
השבתת CMEK למקורות של Google API
אפשר להשבית את ההגנה באמצעות CMEK שמשויכת למקורות של Google API. האירועים שנאספים דרך משאב GoogleApiSource עדיין מוגנים על ידי Google-owned and Google-managed encryption keys.
המסוף
במסוף Google Cloud , נכנסים לדף Eventarc > Bus.
לוחצים על שם האוטובוס שהגנתם על מקור ההודעות שלו באמצעות CMEK.
בדף פרטי האוטובוס, לוחצים על עריכה.
כדי למחוק את מקור ההודעה שמוצפן באמצעות מפתח של Cloud KMS, לוחצים על מחיקת משאב.
אם צריך, מוסיפים מחדש את מקור ההודעה.
gcloud
משתמשים בפקודה gcloud eventarc google-api-sources update כדי להשבית את CMEK עבור משאב GoogleApiSource:
gcloud eventarc google-api-sources update GOOGLE_API_SOURCE_NAME \ --location=REGION \ --clear-crypto-key
Terraform
כדי לעדכן את משאב GoogleApiSource במקום, מוחקים את הערך crypto_key_name ולא מציינים אותו בקובץ התצורה של Terraform. לדוגמה:
# Disable CMEK for Google API sources
resource "google_eventarc_google_api_source" "default" {
location = "us-central1"
google_api_source_id = "example-google-api-source"
destination = google_eventarc_message_bus.default.id
}
החלה של מדיניות הארגון ל-CMEK
Eventarc משולב עם שני אילוצים של מדיניות הארגון כדי לוודא שנעשה שימוש ב-CMEK בכל הארגון:
- התג
constraints/gcp.restrictNonCmekServicesמשמש לדרישה של הגנה באמצעות CMEK. -
constraints/gcp.restrictCmekCryptoKeyProjectsמשמש להגבלת המפתחות ב-Cloud KMS שמשמשים להגנה באמצעות CMEK.
השילוב הזה מאפשר לכם לציין את דרישות התאימות להצפנה הבאות עבור משאבי Eventarc בארגון שלכם:
שיקולים בהחלת מדיניות הארגון
לפני שמחילים מדיניות ארגונית של CMEK, חשוב להביא בחשבון את הנקודות הבאות.
הכנה לעיכוב בהפצה
אחרי שמגדירים או מעדכנים מדיניות ארגונית, יכולות לחלוף עד 15 דקות עד שהמדיניות החדשה תיכנס לתוקף.
שיקולים לגבי משאבים קיימים
משאבים קיימים לא כפופים למדיניות ארגון שנוצרה לאחרונה. לדוגמה, מדיניות ארגונית לא חלה באופן רטרואקטיבי על צינורות קיימים. עדיין אפשר לגשת למשאבים האלה בלי מפתח CMEK, ואם רלוונטי, הם עדיין מוצפנים באמצעות מפתחות קיימים.
אימות ההרשאות הנדרשות להגדרת מדיניות הארגון
יכול להיות שיהיה קשה לקבל את ההרשאה להגדיר או לעדכן את מדיניות הארגון לצורך בדיקות. צריך לקבל את התפקיד 'אדמין מדיניות ארגונית', שאפשר לתת רק ברמת הארגון (ולא ברמת הפרויקט או התיקייה).
למרות שצריך לתת את התפקיד ברמת הארגון, עדיין אפשר לציין מדיניות שתחול רק על פרויקט או תיקייה ספציפיים.
דרישה להשתמש במפתחות CMEK למשאבי Eventarc חדשים
אתם יכולים להשתמש באילוץ constraints/gcp.restrictNonCmekServices כדי לדרוש שימוש במפתחות CMEK להגנה על משאבי Eventarc חדשים בארגון.
אם המדיניות הזו מוגדרת, כל בקשה ליצירת משאב ללא מפתח Cloud KMS שצוין תיכשל.
אחרי שמגדירים את המדיניות הזו, היא חלה רק על משאבים חדשים בפרויקט. כל המשאבים הקיימים שלא הוחלו עליהם מפתחות Cloud KMS ממשיכים להתקיים וניתן לגשת אליהם ללא בעיה.
המסוף
במסוף Google Cloud , נכנסים לדף מדיניות הארגון.
משתמשים בFilter כדי לחפש את האילוץ הבא:
constraints/gcp.restrictNonCmekServicesבעמודה Name (שם), לוחצים על Restrict which services may create resources without CMEK (הגבלת השירותים שיכולים ליצור משאבים ללא CMEK).
לוחצים על ניהול המדיניות.
בדף עריכת מדיניות, בקטע מקור המדיניות, בוחרים באפשרות במקום המדיניות של המשאב הראשי.
בקטע כללים, לוחצים על הוספת כלל.
ברשימה ערכי מדיניות, בוחרים באפשרות בהתאמה אישית.
ברשימה Policy type (סוג המדיניות), בוחרים באפשרות Deny (דחייה).
בשדה ערכים מותאמים אישית, מזינים את הערכים הבאים:
is:eventarc.googleapis.comלוחצים על סיום ואז על הגדרת מדיניות.
gcloud
יוצרים קובץ זמני
/tmp/policy.yamlלאחסון המדיניות:name: projects/PROJECT_ID/policies/gcp.restrictNonCmekServices spec: rules: - values: deniedValues: - is:eventarc.googleapis.com
מחליפים את
PROJECT_IDבמזהה הפרויקט שבו רוצים להחיל את האילוץ הזה.מריצים את הפקודה
org-policies set-policy:gcloud org-policies set-policy /tmp/policy.yaml
כדי לוודא שהמדיניות הוחלה בהצלחה, אפשר לנסות ליצור Eventarc Advanced בפרויקט. התהליך ייכשל אם לא תציינו מפתח Cloud KMS.
הגבלת מפתחות Cloud KMS לפרויקט Eventarc
אפשר להשתמש באילוץ constraints/gcp.restrictCmekCryptoKeyProjects כדי להגביל את מפתחות Cloud KMS שבהם אפשר להשתמש כדי להגן על משאב בפרויקט Eventarc.
לדוגמה, אפשר לציין כלל שדומה לכלל הבא: "לגבי משאבי Eventarc רלוונטיים ב-projects/my-company-data-project, מפתחות Cloud KMS שמשמשים בפרויקט הזה חייבים להגיע מ-projects/my-company-central-keys או מ-projects/team-specific-keys".
המסוף
במסוף Google Cloud , נכנסים לדף מדיניות הארגון.
משתמשים בFilter כדי לחפש את האילוץ הבא:
constraints/gcp.restrictCmekCryptoKeyProjectsבעמודה 'שם', לוחצים על הגבלת הפרויקטים שיכולים לספק מפתחות הצפנה של KMS ל-CMEK.
לוחצים על ניהול המדיניות.
בדף עריכת מדיניות, בקטע מקור המדיניות, בוחרים באפשרות במקום המדיניות של המשאב הראשי.
בקטע כללים, לוחצים על הוספת כלל.
ברשימה ערכי מדיניות, בוחרים באפשרות בהתאמה אישית.
ברשימה סוג המדיניות, בוחרים באפשרות הרשאה.
בשדה ערכים מותאמים אישית, מזינים את הערכים הבאים:
under:projects/KMS_PROJECT_IDמחליפים את הערך
KMS_PROJECT_IDבמזהה של הפרויקט שבו נמצאים מפתחות Cloud KMS שרוצים להשתמש בהם.לדוגמה,
under:projects/my-kms-project.לוחצים על סיום ואז על הגדרת מדיניות.
gcloud
יוצרים קובץ זמני
/tmp/policy.yamlלאחסון המדיניות:name: projects/PROJECT_ID/policies/gcp.restrictCmekCryptoKeyProjects spec: rules: - values: allowedValues: - under:projects/KMS_PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שבו רוצים להחיל את האילוץ הזה. -
KMS_PROJECT_ID: המזהה של הפרויקט שבו נמצאים מפתחות Cloud KMS שרוצים להשתמש בהם.
-
מריצים את הפקודה
org-policies set-policy:gcloud org-policies set-policy /tmp/policy.yaml
כדי לוודא שהמדיניות הוחלה בהצלחה, אפשר לנסות ליצור צינור מתקדם של Eventarc באמצעות מפתח Cloud KMS מפרויקט אחר. התהליך ייכשל.
השבתה והפעלה של מפתחות Cloud KMS
בגרסת מפתח מאוחסנים חומרי המפתח הקריפטוגרפיים שמשמשים להצפנה, לפענוח, לחתימה ולאימות של נתונים. אפשר להשבית את גרסת המפתח הזו כדי שלא תהיה גישה לנתונים שהוצפנו באמצעות המפתח.
כשאין ל-Eventarc גישה למפתחות Cloud KMS, ניתוב האירועים נכשל עם שגיאות FAILED_PRECONDITION ומסירת האירועים נפסקת. אפשר להפעיל מפתח במצב מושבת כדי לקבל שוב גישה לנתונים המוצפנים.
השבתת מפתחות Cloud KMS
כדי למנוע מ-Eventarc להשתמש במפתח להצפנה או לפענוח של נתוני האירועים, אפשר לבצע אחת מהפעולות הבאות:
- מומלץ להשבית את גרסת המפתח שהגדרתם לאפיק או לצינור. רק צינור או אוטובוס מתקדם של Eventarc שמשויכים למפתח הספציפי מושפעים מכך.
- אופציונלי: מבטלים את התפקיד
cloudkms.cryptoKeyEncrypterDecrypterמחשבון השירות של Eventarc. ההגדרה הזו משפיעה על כל המשאבים של Eventarc בפרויקט שתומכים באירועים מוצפנים באמצעות CMEK.
אף אחת מהפעולות לא מבטיחה ביטול גישה מיידי, אבל השינויים בניהול הזהויות והרשאות הגישה (IAM) מופצים בדרך כלל מהר יותר. מידע נוסף זמין במאמרים עקביות של משאבי Cloud KMS והפצת שינויים בגישה.
הפעלה מחדש של מפתחות Cloud KMS
כדי לחדש את העברת האירועים והניתוב שלהם, צריך לשחזר את הגישה ל-Cloud KMS.
רישום ביומן הביקורת ופתרון בעיות
Cloud KMS יוצר יומני ביקורת כשמפעילים או משביתים מפתחות, או כשמשתמשים בהם במשאבים מתקדמים של Eventarc כדי להצפין ולפענח הודעות. מידע נוסף מופיע במאמר בנושא רישום ביומן של ביקורת ב-Cloud KMS.
כדי לפתור בעיות שאתם עשויים להיתקל בהן כשאתם משתמשים ב-Cloud KMS עם Eventarc, תוכלו לעיין במאמר בנושא פתרון בעיות.
כדי לפתור בעיות שאתם עשויים להיתקל בהן כשאתם משתמשים במפתחות שמנוהלים באופן חיצוני דרך Cloud External Key Manager (Cloud EKM), תוכלו לעיין במאמר הפניה לשגיאות ב-Cloud EKM.
תמחור
השילוב של האוטובוס לא כרוך בעלויות נוספות מעבר לפעולות המרכזיות, שמחויבות בפרויקט Google Cloud . השימוש ב-CMEK בצינור גורר חיובים על גישה לשירות Cloud KMS על סמך התמחור של Pub/Sub.
מידע נוסף על התמחור העדכני ביותר זמין במאמר תמחור של Cloud KMS.