מדיניות הארגון ל-CMEK

‫Google Cloud ‏Google Cloud מציעה שני אילוצים של מדיניות הארגון כדי להבטיח שימוש ב-CMEK בכל הארגון:

  • constraints/gcp.restrictNonCmekServices משמש לדרישה של הגנה באמצעות CMEK.
  • constraints/gcp.restrictCmekCryptoKeyProjects משמש להגבלת המפתחות ב-Cloud KMS שמשמשים להגנה באמצעות CMEK.

מדיניות הארגון ל-CMEK חלה רק על משאבים חדשים שנוצרו בשירותים Google Cloud נתמכים.

התפקידים הנדרשים

כדי לוודא שלכל משתמש יש את ההרשאות הנדרשות לבדיקת מדיניות הארגון בזמן יצירת משאבים, צריך לבקש מהאדמין להקצות לכל משתמש בארגון את תפקיד ה-IAM‏ Organization Policy Viewer (roles/orgpolicy.policyViewer). כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות לבדיקת מדיניות הארגון כשיוצרים משאבים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:

ההרשאות הנדרשות

כדי לבדוק את מדיניות הארגון כשיוצרים משאבים, נדרשות ההרשאות הבאות:

  • כדי לראות את הפרטים המלאים של מדיניות הארגון: orgpolicy.policy.get
  • כדי לבדוק את מדיניות הארגון כשיוצרים משאבים: orgpolicy.policies.check

יכול להיות שהאדמין יוכל גם להעניק לכל משתמש את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

כשמדיניות הארגון פעילה, נדרשת ההרשאה orgpolicy.policies.check ממשתמשי המסוף של Google Cloud שיוצרים משאבים שמוגנים על ידי מפתחות CMEK. משתמשים שאין להם את ההרשאה הזו יכולים ליצור משאבים שמוגנים באמצעות CMEK באמצעות מסוף Google Cloud , אבל הם יכולים לבחור מפתח CMEK שלא מותר על ידי האילוץ restrictCmekCryptoKeyProjects. אם בוחרים מפתח שלא עומד באילוץ הזה, בסופו של דבר יצירת המשאב תיכשל.

דרישה להגנה באמצעות CMEK

כדי לדרוש הגנה באמצעות CMEK בארגון, צריך להגדיר את constraints/gcp.restrictNonCmekServices מדיניות הארגון.

כאילוץ מסוג רשימה, הערכים המקובלים לאילוץ הזה הם Google Cloudשמות של שירותים (לדוגמה, bigquery.googleapis.com). כדי להשתמש באילוץ הזה, צריך לספק רשימה של Google Cloud שמות של שירותים ולהגדיר את האילוץ ל-Deny (דחייה). ההגדרה הזו חוסמת את יצירת המשאבים בשירותים האלה אם המשאב לא מוגן על ידי CMEK. במילים אחרות, בקשות ליצירת משאב בשירות לא יצליחו בלי לציין מפתח Cloud KMS. בנוסף, האילוץ הזה חוסם את ההסרה של הגנת CMEK ממשאבים בשירותים האלה. המגבלה הזו יכולה לחול רק על שירותים נתמכים.

הגבלת השימוש במפתחות Cloud KMS ל-CMEK

כדי להגביל את מפתחות Cloud KMS שמשמשים להגנה באמצעות CMEK, צריך להגדיר את האילוץ constraints/gcp.restrictCmekCryptoKeyProjects.

כאילוץ של רשימה, הערכים המקובלים הם מחווני היררכיית משאבים (לדוגמה, projects/PROJECT_ID,‏ under:folders/FOLDER_ID ו-under:organizations/ORGANIZATION_ID). כדי להשתמש באילוץ הזה, צריך להגדיר רשימה של מחווני היררכיית משאבים ולהגדיר את האילוץ ל-Allow (אישור). ההגדרה הזו מגבילה את השירותים הנתמכים כך שאפשר לבחור מפתחות CMEK רק מתוך הפרויקטים, התיקיות והארגונים שמופיעים ברשימה. בקשות ליצירת משאבים שמוגנים באמצעות CMEK בשירותים מוגדרים לא יצליחו ללא מפתח Cloud KMS מאחד המשאבים המותרים. ההגבלה הזו חלה על כל השירותים הנתמכים, אם היא מוגדרת.

שירותים נתמכים

שירות ערך האילוץ כשנדרש CMEK
Agent Assist dialogflow.googleapis.com
חיפוש סוכנים discoveryengine.googleapis.com
AlloyDB ל-PostgreSQL alloydb.googleapis.com
Apigee apigee.googleapis.com
Application Integration integrations.googleapis.com
Artifact Registry artifactregistry.googleapis.com
שירות Backup and DR backupdr.googleapis.com
גיבוי ל-GKE gkebackup.googleapis.com
BigQuery bigquery.googleapis.com
Bigtable bigtable.googleapis.com
Cloud Data Fusion datafusion.googleapis.com
Cloud Logging logging.googleapis.com
Cloud Run run.googleapis.com
פונקציות Cloud Run cloudfunctions.googleapis.com
Cloud SQL sqladmin.googleapis.com
Cloud Storage storage.googleapis.com
Cloud Tasks cloudtasks.googleapis.com
Cloud TPU tpu.googleapis.com
תחנות עבודה בענן workstations.googleapis.com
Colab Enterprise aiplatform.googleapis.com
Compute Engine compute.googleapis.com
תובנות לגבי חוויית הלקוח contactcenterinsights.googleapis.com
Dataflow dataflow.googleapis.com
Dataform dataform.googleapis.com
Dialogflow CX dialogflow.googleapis.com
Document AI documentai.googleapis.com
Eventarc Advanced (תצוגה מקדימה) eventarc.googleapis.com
Eventarc Standard eventarc.googleapis.com
Filestore file.googleapis.com
Firestore firestore.googleapis.com
Gemini Enterprise discoveryengine.googleapis.com
Google Cloud Managed Lustre lustre.googleapis.com
Google Cloud NetApp Volumes netapp.googleapis.com
Google Cloud Observability (גרסת Preview) observability.googleapis.com
Google Kubernetes Engine (תצוגה מקדימה) container.googleapis.com
Google Security Operations chronicleservicemanager.googleapis.com
Knowledge Catalog dataplex.googleapis.com
Looker (Google Cloud core)‎ looker.googleapis.com
Managed Service for Apache Airflow composer.googleapis.com
Managed Service for Apache Spark dataproc.googleapis.com
Memorystore for Redis redis.googleapis.com
Memorystore for Redis Cluster redis.googleapis.com
Memorystore for Valkey memorystore.googleapis.com
Pub/Sub pubsub.googleapis.com
Secret Manager secretmanager.googleapis.com
Secure Source Manager securesourcemanager.googleapis.com
Security Command Center securitycenter.googleapis.com
Spanner spanner.googleapis.com
המרת דיבור לטקסט (STT) speech.googleapis.com
Vertex AI aiplatform.googleapis.com
מכונות של Vertex AI Workbench notebooks.googleapis.com

מדיניות הארגון ל-CMEK ו-Storage Transfer Service

ל-Storage Transfer Service אין שילוב עם CMEK, אבל אפשר להשתמש בו עם מדיניות ארגונית של CMEK. אם אתם משתמשים ב-Storage Transfer Service ורוצים להשתמש ב-CMEK כדי להגן על פרטי הכניסה למסד הנתונים שמאוחסנים ב-Secret Manager, אתם צריכים להוסיף את storagetransfer.googleapis.com ואת secretmanager.googleapis.com לאילוץ constraints/gcp.restrictNonCmekServices. מידע נוסף זמין במסמכי התיעוד של Storage Transfer Service בנושא CMEK.

חריגים לאכיפה לפי סוג המשאב

מגבלות של מדיניות הארגון בנושא CMEK נאכפות כשיוצרים משאב חדש או כשמשנים (במקרים שבהם יש תמיכה) את מפתח Cloud KMS במשאב קיים. בדרך כלל, הן נאכפות על כל סוגי המשאבים בשירות שתומכים ב-CMEK, ומתבססות רק על הגדרת המשאב. הנה סיכום של כמה חריגים בולטים:

סוג המשאב חריגה מאכיפת המדיניות
bigquery.googleapis.com/Dataset אכיפה חלקית על מפתח Cloud KMS שמוגדר כברירת מחדל בערכת נתונים (gcp.restrictCmekCryptoKeyProjects בלבד)
bigquery.googleapis.com/Job משימות שאילתה בלבד: נאכף על מפתח Cloud KMS שסופק עם השאילתה או על ברירת המחדל מפרויקט החיוב. ראו גם הגדרה נפרדת של מפתח Cloud KMS שמוגדר כברירת מחדל בפרויקט
bigquerydatatransfer.googleapis.com/TransferConfig הגדרות ההעברה משתמשות בשם השירות של שירות העברת הנתונים (bigquerydatatransfer.googleapis.com) לאילוצי מדיניות ארגונית של CMEK.
container.googleapis.com/Cluster ‫(Preview) ההצפנה נאכפת על מפתח Cloud KMS רק עבור דיסק האתחול של הצומת, ולא נאכפת על סודות בשכבת האפליקציה
logging.googleapis.com/LogBucket האכיפה מתבצעת על קטגוריות יומנים שנוצרו באופן מפורש. בנוסף, יש הגדרה נפרדת שנדרשת כדי לוודא שהקטגוריות המובנות של היומנים עומדות בדרישות
storage.googleapis.com/Bucket האכיפה מתבצעת על מפתח Cloud KMS שמוגדר כברירת מחדל בקטגוריה
storage.googleapis.com/Object האילוץ נאכף באופן עצמאי מקטגוריה. אפשר גם לעיין ב הגדרה נפרדת של מפתח Cloud KMS שמוגדר כברירת מחדל לקטגוריה

תצורות לדוגמה

בדוגמאות להגדרות, נניח שהיררכיית המשאבים בארגון לדוגמה היא כזו:

תרשים של היררכיית משאבים בארגון

דרישה לשימוש ב-CMEK והגבלת מפתחות לפרויקט

נניח שאתם רוצים לדרוש הגנה באמצעות CMEK לכל המשאבים של Cloud Storage ב-projects/5 ולוודא שאפשר להשתמש רק במפתחות שמגיעים מ-projects/4.

כדי לדרוש הגנה באמצעות CMEK לכל המשאבים החדשים ב-Cloud Storage, משתמשים בהגדרת מדיניות הארגון הבאה:

  • מדיניות הארגון: constraints/gcp.restrictNonCmekServices
  • הקישור בוצע בתאריך: projects/5
  • סוג המדיניות: דחייה
  • ערך המדיניות: storage.googleapis.com

כדי לוודא שנעשה שימוש רק במפתחות מ-projects/4, משתמשים בהגדרה הבאה:

  • מדיניות הארגון: constraints/gcp.restrictCmekCryptoKeyProjects
  • הקישור בוצע בתאריך: projects/5
  • סוג המדיניות: הרשאה
  • ערך המדיניות: projects/4

דרישה לשימוש ב-CMEK והגבלת המפתחות לתיקייה

לחלופין, נניח שאתם מתכננים להוסיף בעתיד פרויקטים נוספים של Cloud KMS תחת folders/2 ורוצים לדרוש CMEK באופן נרחב יותר ב-folders/3. בתרחיש הזה, צריך להגדיר הגדרות קצת שונות.

כדי לדרוש הגנה נוספת באמצעות CMEK למשאבי Cloud SQL ו-Cloud Storage חדשים בכל מקום מתחת ל-folders/3:

  • מדיניות הארגון: constraints/gcp.restrictNonCmekServices
  • הקישור בוצע בתאריך: folders/3
  • סוג המדיניות: דחייה
  • ערכי מדיניות: sqladmin.googleapis.com, ‏ storage.googleapis.com

כדי לוודא שנעשה שימוש רק במפתחות מפרויקטים של Cloud KMS שנמצאים תחת folders/2:

  • מדיניות הארגון: constraints/gcp.restrictCmekCryptoKeyProjects
  • הקישור בוצע בתאריך: folders/3
  • סוג המדיניות: הרשאה
  • ערך המדיניות: under:folders/2

דרישה ל-CMEK בארגון

כדי לדרוש שימוש ב-CMEK בכל מקום בארגון (בשירותים נתמכים), מגדירים את האילוץ constraints/gcp.restrictNonCmekServices עם ההגדרה הבאה:

  • מדיניות הארגון: constraints/gcp.restrictNonCmekServices
  • הקישור בוצע בתאריך: organizations/1
  • סוג המדיניות: דחייה
  • ערכי מדיניות: (כל השירותים הנתמכים)

מגבלות

אם משתמשים במסוף Google Cloud כדי ליצור משאב, יכול להיות שלא תהיה אפשרות להשתמש באפשרויות הצפנה אחרות מלבד CMEK כש-constraints/gcp.restrictNonCmekServices מוגדר לפרויקט ולשירות. ההגבלה של מדיניות הארגון בנושא CMEK גלויה רק אם לחשבון הלקוח הוקצתה הרשאת IAM‏ orgpolicy.policy.get בפרויקט.

המאמרים הבאים

במאמר מבוא לשירות של מדיניות הארגון מוסבר על היתרונות של מדיניות הארגון ועל תרחישי שימוש נפוצים.

דוגמאות נוספות ליצירת מדיניות ארגון עם אילוצים מסוימים מופיעות במאמר בנושא שימוש באילוצים.