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 בפרויקט.
המאמרים הבאים
במאמר מבוא לשירות של מדיניות הארגון מוסבר על היתרונות של מדיניות הארגון ועל תרחישי שימוש נפוצים.
דוגמאות נוספות ליצירת מדיניות ארגון עם אילוצים מסוימים מופיעות במאמר בנושא שימוש באילוצים.