אם אתם כפופים לדרישות תאימות או לדרישות רגולטוריות לאחסון הנתונים במיקומים ספציפיים או לשימוש במפתחות הצפנה בניהול הלקוח (CMEK), מומלץ להגדיר גם את מדיניות הארגון וגם את הגדרות ברירת המחדל של קטגוריות התצפית. מדיניות הארגון והגדרות ברירת המחדל של קטגוריות התצפית מאפשרות לכם לציין את מיקום האחסון ואת מודל ההצפנה של הקטגוריות האלה. הקטגוריות האלה יכולות להשתמש בהצפנת ברירת המחדל של Google או במפתחות הצפנה בניהול הלקוח (CMEK).
הגדרות ברירת המחדל של קטגוריות התצפית בארגונים, בתיקיות ובפרויקטים מאפשרות לכם להגדיר את הפרטים הבאים:
- מיקום האחסון שהוגדר כברירת מחדל.
- לכל מיקום, מפתח ברירת מחדל של Cloud Key Management Service.
המערכת משתמשת בהגדרות ברירת המחדל בשתי דרכים שונות:
כשהמערכת יוצרת באופן אוטומטי קטגוריית ניראות, היא משתמשת בהגדרות ברירת המחדל כדי לקבוע את המיקום ואת מפתח ההצפנה של הקטגוריה. אם לא הגדרתם ברירות מחדל, המערכת תבחר את המיקום והקטגוריה תשתמש בהצפנת ברירת המחדל של Google.
כשיוצרים קטגוריית תצפית באמצעות בקשת API, צריך לציין את המיקום. עם זאת, המערכת משתמשת באופן אוטומטי במפתח Cloud KMS שמוגדר בהגדרות ברירת המחדל כדי להצפין את הנתונים, אלא אם הארגומנטים של בקשת ה-API מציינים את המפתח.
ההורה של קטגוריית תצפית הוא תמיד פרויקט, לכן כשיוצרים קטגוריה, המערכת מחפשת קודם את הגדרות ברירת המחדל ברמת הפרויקט. אם גם הם לא קיימים, המערכת מחפשת הגדרות ברירת מחדל בפריטים שמעל להורה. לדוגמה, אם מגדירים הגדרות ברירת מחדל לתיקייה, ההגדרות האלה חלות על הצאצאים של התיקייה, חוץ מאלה שהוגדרו להם הגדרות ברירת מחדל.
אתם יכולים גם להשתמש במדיניות הארגון כדי להגביל את המיקומים של קטגוריות חדשות של נצפות, לדרוש שימוש במפתחות CMEK או להגביל את המפתחות של Cloud KMS שאפשר להשתמש בהם להצפנה. אם אתם מגדירים כללי מדיניות של הארגון שמחייבים שימוש במפתחות CMEK, אתם צריכים להגדיר את הגדרות ברירת המחדל של קטגוריות התצפית. אם לא תעשו זאת, ההקצאה של קטגוריות התצפית שנוצרו על ידי המערכת תיכשל.
המסמך הזה לא רלוונטי לקטגוריות של יומנים שבהן מאוחסנים נתוני יומנים. במאמר הגדרת ברירת המחדל של משאבים ב-Cloud Logging מוסבר איך מגדירים מיקום ברירת מחדל או דורשים מפתחות CMEK לדליים של יומנים.
כללי מדיניות רלוונטיים של הארגון
כדי לקבוע איפה נוצרים קטגוריות הניראות ומי מנהל את מפתחות ההצפנה של הקטגוריות האלה, כדאי להגדיר את מדיניות הארגון הבאה:
מדיניות עם מזהה אילוץ
constraints/gcp.resourceLocations. המדיניות הזו מגדירה את קבוצת המיקומים שבהם אפשר ליצור משאבים חדשים. כדי להשתמש בקטגוריות של ניראות, קבוצת המיקומים הזו חייבת לכלול לפחות מיקום אחד שנתמך בקטגוריות של ניראות.מדיניות
Denyעם מזהה האילוץconstraints/gcp.restrictNonCmekServices. המדיניות הזו מחייבת להצפין משאבים חדשים באמצעות מפתחות CMEK.מדיניות עם מזהה האילוץ
constraints/gcp.restrictCmekCryptoKeyProjects. המדיניות הזו מגבילה את השימוש במפתחות של Cloud Key Management Service להצפנה.
אפשר ליצור כללי מדיניות של הארגון שחלים ברמת הארגון, התיקייה או הפרויקט. מידע נוסף זמין במאמר יצירה ועריכה של כללי מדיניות.
איך מדיניות הארגון משפיעה על הגדרת מיקום ברירת המחדל
כשמפעילים פקודה להגדרת מיקום ברירת מחדל, Google Cloud Observability מאמת שהמיקום שצוין מותר לפי כללי המדיניות של הארגון, ושהוא מיקום נתמך לקטגוריות של ניראות. אם אחד מהאימותים נכשל, גם הפקודה להגדרת מיקום ברירת המחדל נכשלת.
אם אתם משנים את רשימת המיקומים שמותרים לפי כללי המדיניות של הארגון, כך שמיקום האחסון שמוגדר כברירת מחדל כבר לא מותר, אתם צריכים לעדכן את ההגדרה הזו בנפרד. יכול להיות שתצטרכו גם להגדיר מפתח Cloud KMS שמשמש כברירת מחדל למיקום ברירת המחדל המעודכן.
איך מדיניות הארגון והגדרות ברירת המחדל פועלות יחד
ההורה של קטגוריית תצפיתיות חייב להיות פרויקט. כלומר, המערכת לא יכולה ליצור קטגוריית תצפית בתיקייה או בארגון. עם זאת, אם מגדירים את ברירות המחדל של קטגוריות התצפיתיות ברמת הארגון או התיקייה, הן חלות על כל הפרויקטים שצאצאים של אותו ארגון או אותה תיקייה.
בטבלה הבאה מפורטים הכללים שבהם המערכת משתמשת כדי לקבוע את המיקום של קטגוריית ניראות (observability) חדשה:
| שימוש במדיניות הארגון כדי להגביל את המיקום |
לפרויקט (או לישות האב) יש מיקום אחסון שהוגדר כברירת מחדל |
איך המערכת קובעת את המיקום של קטגוריית ניראות (observability) חדשה |
|---|---|---|
| לא | לא | המערכת בוחרת את המיקום מתוך המיקומים שנתמכים בקטגוריות של נתוני ניראות. |
| כן | לא | המערכת בוחרת את המיקום מתוך החיתוך של המיקומים שמדיניות הארגון מאפשרת והמיקומים שנתמכים על ידי קטגוריות הניראות. אם החיתוך ריק, המערכת לא יוצרת את קטגוריית הניטור. |
| לא | כן | המערכת מגדירה את המיקום למיקום האחסון שמוגדר כברירת מחדל בהגדרות ברירת המחדל של הפרויקט. אם לא מוגדר לפרויקט מיקום אחסון כברירת מחדל, המערכת משתמשת במיקום האחסון שמוגדר כברירת מחדל לאב קדמון. |
| כן | כן | המערכת מגדירה את המיקום למיקום האחסון שמוגדר כברירת מחדל בהגדרות ברירת המחדל של הפרויקט. אם בפרויקט לא מוגדר מיקום אחסון כברירת מחדל, המערכת משתמשת במיקום האחסון שהוגדר כברירת מחדל ברמת האב הקדמון. אם מיקום האחסון שמוגדר כברירת מחדל לא מותר לפי כללי המדיניות של הארגון, המערכת לא יוצרת את קטגוריית הניטור. |
בטבלה הבאה מפורטים הכללים שבהם המערכת משתמשת כדי לקבוע אם קטגוריית ניראות (observability) חדשה משתמשת במפתחות CMEK, ואם כן, מה הערך של מפתח Cloud KMS. כדי להצפין קטגוריית תצפית, מפתח Cloud KMS צריך להיות במיקום של הקטגוריה ולהיות מורשה לפי מדיניות הארגון. אם לא תציינו מדיניות ארגונית עם האילוץ gcp.restrictCmekCryptoKeyProjects, כל המפתחות יהיו מותרים:
| שימוש במדיניות הארגון כדי לדרוש שימוש במפתחות CMEK |
לפרויקט (או לאב הקדמון) יש מפתח Cloud KMS שמוגדר כברירת מחדל |
איך המערכת קובעת באיזה מפתח Cloud KMS להשתמש. |
|---|---|---|
| לא | לא | הקטגוריה של הניטור לא משתמשת במפתחות CMEK. |
| כן | לא | המערכת לא יוצרת קטגוריות חדשות של ניראות כי מדיניות הארגון דורשת מפתחות CMEK, אבל לא מוגדר מפתח Cloud KMS כברירת מחדל. |
| לא | כן | כדי לזהות מפתח להצפנה, המערכת קובעת קודם אם הוגדר מיקום האחסון שהוגדר כברירת מחדל לפרויקט או לאחת מהישויות האם שלו. אם לא, המערכת בוחרת מיקום ויוצרת את קטגוריית הניטור. הקטגוריה לא משתמשת ב-CMEK. אם נמצא מיקום אחסון שמוגדר כברירת מחדל, המערכת מחפשת מפתח Cloud KMS שמוגדר כברירת מחדל בהגדרות ברירת המחדל של הפרויקט. אם בהגדרות ברירת המחדל של הפרויקט לא מצוין מפתח מתאים, המערכת מחפשת בהגדרות ברירת המחדל של האב הקדמון מפתח ברירת מחדל שנמצא במיקום של הקטגוריה החדשה. אחת מהאפשרויות הבאות תתרחש:
|
| כן | כן | כדי לזהות מפתח להצפנה, המערכת קובעת קודם אם הוגדר מיקום האחסון שהוגדר כברירת מחדל לפרויקט או לאחת מהישויות האם שלו. אם לא מוגדר מיקום אחסון כברירת מחדל, המערכת לא יוצרת את קטגוריית הניטור החדשה. אם נמצא מיקום אחסון שמוגדר כברירת מחדל, המערכת מחפשת מפתח Cloud KMS שמוגדר כברירת מחדל בהגדרות ברירת המחדל של הפרויקט. אם בהגדרות ברירת המחדל של הפרויקט לא מצוין מפתח מתאים, המערכת מחפשת בהגדרות ברירת המחדל של האב הקדמון מפתח ברירת מחדל שנמצא במיקום של הקטגוריה החדשה. אחת מהאפשרויות הבאות תתרחש:
|
הצגת הגדרות ברירת המחדל של קטגוריות התצפית
בקטע הזה מוסבר איך אפשר לראות את הגדרות ברירת המחדל של קטגוריות התצפית של משאב, שהוא ארגון, תיקייה או פרויקט.
כדי לאחזר את הגדרות ברירת המחדל של קטגוריות התצפית, צריך להפעיל כמה פקודות. הפקודה הראשונה מחזירה את מיקום האחסון שמוגדר כברירת מחדל. הפקודה השנייה מחזירה את מפתח Cloud KMS של אותו מיקום.
הפקודות שמתוארות בקטע הזה מיועדות למשאב ספציפי. התגובות לפקודות האלה מוגבלות לערכים שהמשתמש הגדיר למשאב הזה. הפקודות האלה לא מחזירות הגדרות שהמשאב יכול להשתמש בהן, אבל מוגדרות לאב קדמון.
לפני שמתחילים
מגדירים את הפרויקט ואת תפקידי ה-IAM ובוחרים את הממשק שבו רוצים להשתמש.
הגדרת הפרויקט והתפקידים
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
כדי לקבל את ההרשאה שדרושה לצפייה בהגדרות ברירת המחדל של קטגוריות הניטור של ארגון, תיקייה או פרויקט, בקשו מהאדמין לתת לכם את התפקיד צפייה בניטור (
roles/observability.viewer) ב-IAM ברמת הארגון, התיקייה או הפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.התפקיד המוגדר מראש הזה כולל את ההרשאה
observability.settings.get, שנדרשת כדי לראות את הגדרות ברירת המחדל של קטגוריות הניראות של ארגון, תיקייה או פרויקט.יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש.
בוחרים את הממשק שבו רוצים להשתמש
gcloud
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initTerraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם מופיעה שגיאת אימות, ודאו שנכנסתם ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
למידע נוסף, ראו הגדרת ADC לסביבת פיתוח מקומית במאמרי העזרה בנושא אימות Google Cloud .
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
איך בודקים מה מיקום האחסון שמוגדר כברירת מחדל למשאב
כדי לקבל את מיקום האחסון שהוגדר כברירת מחדל למשאב, שולחים פקודה לנקודת קצה ספציפית למשאב, ומגדירים את המיקום של הפקודה הזו ל-global. נתוני התגובה כוללים את מיקום האחסון שהוגדר כברירת מחדל ואת השם של חשבון השירות. אם אתם צריכים CMEK למשאב, חשבון השירות הזה משמש לאחזור מפתחות Cloud KMS.
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
כדי להעביר לפקודה את המזהה של הפרויקט, התיקייה או הארגון שרוצים לשלוח אליהם שאילתה, משתמשים באחת מהאפשרויות הבאות:-
--project=PROJECT_ID, כאשר PROJECT_ID מכיל את מזהה הפרויקט. -
--folder=FOLDER_ID, כאשר FOLDER_ID מכיל את מזהה התיקייה. -
--organization=ORGANIZATION_ID, כאשר ORGANIZATION_ID מכיל את מזהה הארגון.
מריצים את הפקודה gcloud observability settings describe:
Linux, macOS או Cloud Shell
gcloud observability settings describe \ --location=global --project=PROJECT_ID
Windows (PowerShell)
gcloud observability settings describe ` --location=global --project=PROJECT_ID
Windows (cmd.exe)
gcloud observability settings describe ^ --location=global --project=PROJECT_ID
התגובה לפקודה תיראה כך:
Parsed [location] resource: projects/my-project/locations/global defaultStorageLocation: eu name: projects/my-project/locations/global/settings serviceAccountId: service-12345@gcp-sa-observability.
Terraform
אתם יכולים להשתמש ב-Terraform כדי להגדיר מיקום אחסון כברירת מחדל למשאב, שהוא פרויקט, תיקייה או ארגון. אי אפשר להשתמש ב-Terraform כדי לדווח על מיקום האחסון שהוגדר כברירת מחדל למשאב.
REST
כדי להציג את הגדרות ברירת המחדל של המשאב, בוחרים את נקודת הקצה המתאימה ואז מציינים את הפרמטר של הנתיב ב-APIs Explorer:
ארגון:
- נקודת קצה ל-API:
organizations.locations.getSettings פרמטר של הנתיב:
organizations/ORGANIZATION_ID/locations/global/settings
תיקייה:
- נקודת קצה ל-API:
folders.locations.getSettings פרמטר של הנתיב:
folders/FOLDER_ID/locations/global/settings
פרויקט:
נקודת קצה ל-API:
projects.locations.getSettingsפרמטר של הנתיב:
projects/PROJECT_ID/locations/global/settings
המשמעות של המשתנים בביטויים הקודמים היא:
- ORGANIZATION_ID: המזהה המספרי הייחודי של הארגון. איך מוצאים את מזהה הארגון
- FOLDER_ID: המזהה המספרי הייחודי של התיקייה. איך יוצרים ומנהלים תיקיות?
- PROJECT_ID: מזהה הפרויקט.
- נקודת קצה ל-API:
לוחצים על Execute.
אם הפעולה בוצעה ללא שגיאות, התגובה היא אובייקט
Settings. אם השדהdefault_storage_locationריק, לא מוגדר מיקום אחסון כברירת מחדל.לדוגמה, אם מריצים פקודת
getSettingsומגדירים את הפרמטר של הנתיב לארגון, התשובה תהיה דומה לאחת מהתשובות הבאות:מיקום האחסון שמוגדר כברירת מחדל הוא
"us":default_storage_location: "us" service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.לא הוגדר מיקום האחסון שהוגדר כברירת מחדל:
service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.
איך מקבלים את מפתח ברירת המחדל של Cloud KMS למשאב ולמיקום
מפתחות Cloud KMS הם משאבים אזוריים. אפשר להשתמש בהם רק כדי להצפין או לפענח נתונים שמאוחסנים באותו מיקום שבו נמצא המפתח. בכל מיקום שנתמך על ידי קטגוריות של ניטור, ובכל ארגון, תיקייה או פרויקט, אתם יכולים לקבוע את הגדרות ברירת המחדל של קטגוריות של ניטור באמצעות מפתח Cloud KMS.
בקטע הזה מוסבר איך מקבלים את מפתח ברירת המחדל של Cloud KMS למשאב ולמיקום.
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- LOCATION: המיקום של מפתח Cloud KMS של המשאב. המשאב הוא פרויקט, תיקייה או ארגון. אם מגדירים את המיקום ל-
global, הפקודה מחזירה את מיקום האחסון שמוגדר כברירת מחדל למשאב. - משתמשים באחת מהאפשרויות הבאות כדי להעביר לפקודה את המזהה של הפרויקט, התיקייה או הארגון שרוצים לשלוח אליהם שאילתה:
-
--project=PROJECT_ID, כאשר PROJECT_ID מכיל את מזהה הפרויקט. --folder=FOLDER_ID, כאשר FOLDER_ID מכיל את מזהה התיקייה.-
--organization=ORGANIZATION_ID, כאשר ORGANIZATION_ID מכיל את מזהה הארגון.
-
מריצים את הפקודה gcloud observability settings describe:
Linux, macOS או Cloud Shell
gcloud observability settings describe \ --location=LOCATION --project=PROJECT_ID
Windows (PowerShell)
gcloud observability settings describe ` --location=LOCATION --project=PROJECT_ID
Windows (cmd.exe)
gcloud observability settings describe ^ --location=LOCATION --project=PROJECT_ID
התגובה לפקודה תיראה כך:
Parsed [location] resource: projects/my-project/locations/us kmsKeyName: projects/my-project/locations/us/keyRings/test/cryptoKeys/test-key name: projects/my-project/locations/us/settings serviceAccountId: service-12345@gcp-sa-observability.
Terraform
אתם יכולים להשתמש ב-Terraform כדי להגדיר מפתח ברירת מחדל של Cloud Key Management Service למיקום ולמשאב, שהוא פרויקט, תיקייה או ארגון. אי אפשר להשתמש ב-Terraform כדי לדווח על מיקום האחסון שהוגדר כברירת מחדל למשאב.
REST
כדי להציג את הגדרות ברירת המחדל של המשאב, בוחרים את נקודת הקצה המתאימה ואז מציינים את הפרמטר של הנתיב ב-APIs Explorer:
ארגון:
נקודת קצה ל-API:
organizations.locations.getSettingsפרמטר של הנתיב:
organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings
תיקייה:
- נקודת קצה ל-API:
folders.locations.getSettings פרמטר של הנתיב:
folders/FOLDER_ID/locations/LOCATION_ID/settings
פרויקט:
- נקודת קצה ל-API:
projects.locations.getSettings פרמטר של הנתיב:
projects/PROJECT_ID/locations/LOCATION_ID/settings
המשמעות של המשתנים בביטויים הקודמים היא:
- ORGANIZATION_ID: המזהה המספרי הייחודי של הארגון. איך מוצאים את מזהה הארגון
- FOLDER_ID: המזהה המספרי הייחודי של התיקייה. איך יוצרים ומנהלים תיקיות?
- PROJECT_ID: מזהה הפרויקט.
- LOCATION_ID: המיקום שבו רוצים לראות את הגדרת ה-CMEK.
לוחצים על Execute.
אם הפעולה בוצעה ללא שגיאות, התגובה היא אובייקט
Settings.לדוגמה, נניח שאתם מפעילים את הפקודה
getSettingsומגדירים את פרמטר הנתיב לערךorganizations/ORGANIZATION_ID/locations/LOCATION_ID/settings. התגובה תהיה דומה לאחת מהתגובות הבאות:אם לא הוגדר מפתח Cloud KMS לארגון ולמיקום, התשובה תכלול רק חשבון שירות:
service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.כשהמפתח של Cloud KMS מוגדר לארגון ולמיקום, התשובה כוללת חשבון שירות ואת שם המפתח של Cloud KMS:
name: "organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings" service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability. kms_key_name: "projects/my-kms-project/locations/LOCATION_ID/keyRings/my-key-ring/cryptoKeys/my-key"
הגדרת ברירת המחדל של קטגוריות התצפיות
בקטע הזה מוסבר איך להגדיר את ברירות המחדל של קטגוריות התצפיתיות במשאב, שהוא ארגון, תיקייה או פרויקט.
אם אתם מתכננים לדרוש CMEK למשאב ולמיקום, הגדירו את הגדרות ברירת המחדל של קטגוריות הניראות של הצמד הזה לפני שתגדירו את מיקום האחסון שמוגדר כברירת מחדל. כשמגדירים את הגדרות ברירת המחדל למשאב ולמיקום, מציינים את מפתח Cloud KMS שבו רוצים להשתמש.
ההוראות האלה מיועדות ל-APIs Explorer, שמאפשר להנפיק פקודות API מדף תיעוד. אבל אפשר גם להריץ פקודת curl.
הגדרות לדוגמה
בקטע הזה מפורטים תרחישים נפוצים לדוגמה.
דרישה שקטגוריות חדשות יהיו במיקום ספציפי
כדי לדרוש שקטגוריות חדשות של ניראות שנוצרו על ידי המערכת בארגון יהיו במיקום us, צריך להגדיר את מיקום האחסון שמוגדר כברירת מחדל לארגון ל-us.
כדי לשנות את ההגדרות ברמת הארגון ולדרוש שקטגוריות חדשות של נתוני תצפית שנוצרו על ידי המערכת בתיקיית הצאצא my-eu-projects יהיו באזור eu, מגדירים את מיקום האחסון שמוגדר כברירת מחדל של התיקייה my-eu-projects ל-eu.
דרישה שקטגוריות חדשות יהיו במיקום ספציפי וישתמשו ב-CMEK
כדי לדרוש שכל קטגוריות הניטור החדשות שנוצרו על ידי המערכת בארגון יהיו במיקום us וישתמשו ב-CMEK:
כדי לציין מפתח Cloud KMS, צריך להגדיר את ברירות המחדל של קטגוריות הניראות (observability) בארגון ובמיקום
us.להגדיר את מיקום האחסון שמוגדר כברירת מחדל בארגון ל-
us.
לפני שמתחילים
אם אתם מתכננים להגדיר רק את מיקום האחסון שמוגדר כברירת מחדל, אתם לא צריכים תפקידים ב-Cloud KMS.
משלימים את ההגדרה הנדרשת כדי לראות את הגדרות ברירת המחדל של קטגוריות התצפית.
-
כדי לקבל את ההרשאות שנדרשות להגדרת ברירת המחדל של קטגוריות התצפיות של ארגון, תיקייה או פרויקט, בקשו מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בארגון, בתיקייה או בפרויקט:
- עריכת ניראות (
roles/observability.editor) - אדמין ב-Cloud KMS (
roles/cloudkms.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלו מכילים את ההרשאות שנדרשות כדי לקבוע את הגדרות ברירת המחדל של קטגוריות הניטור של ארגון, תיקייה או פרויקט. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לקבוע את הגדרות ברירת המחדל של קטגוריות הניטור של ארגון, תיקייה או פרויקט, נדרשות ההרשאות הבאות:
-
observability.settings.get -
observability.settings.update -
cloudkms.cryptoKeys.getIamPolicy -
cloudkms.cryptoKeys.setIamPolicy
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
- עריכת ניראות (
אם אתם מתכוונים לדרוש שימוש ב-CMEK, ודאו שיש לכם מפתח Cloud KMS במיקום הנדרש. אם צריך, יוצרים אוסף מפתחות של Cloud KMS ומפתח של Cloud KMS.
בוחרים את המשאב שאת הגדרות ברירת המחדל שלו לקטגוריות של ניראות רוצים לעדכן. המשאב הזה יכול להיות ארגון, תיקייה או פרויקט.
אם מגדירים את הגדרות ברירת המחדל לארגון או לתיקייה, הן חלות על כל הצאצאים של אותו ארגון או אותה תיקייה. אם מגדירים את ברירות המחדל של קטגוריות התצפיתיות בפרויקט, הן חלות רק על הפרויקט הזה.
מתן גישה למפתח לחשבון השירות של המשאב
מקצים תפקיד לחשבון השירות של המשאב שאת הגדרות ברירת המחדל שלו רוצים לקבוע:
מזהים את המפתח של Cloud KMS שבו רוצים להשתמש להצפנה ולפענוח.
מפתחות Cloud KMS הם אזוריים. לדוגמה, אם אתם רוצים לדרוש שקטגוריות חדשות של נצפוּת שנוצרו על ידי המערכת יהיו במיקום
us, אתם צריכים מפתח Cloud KMS במיקוםus.מזהים את חשבון השירות של המשאב.
לדוגמה, אם רוצים שכל קטגוריות ה-observability החדשות שנוצרות על ידי המערכת בארגון יהיו במיקום
usוישתמשו ב-CMEK, צריך לשלוח קריאתgetSettingsלמיקוםglobalולהגדיר את הפרמטר של הנתיב לארגון. נתוני התגובה מציגים את חשבון השירות של הארגון:service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.נותנים לחשבון השירות שזיהיתם בשלב הקודם את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter (
roles.cloudkms.cryptoKeyEncrypterDecrypterבמפתח Cloud KMS שבו אתם רוצים להשתמש כדי להצפין ולפענח נתונים.קישור התפקיד הזה מיועד למפתח Cloud KMS ספציפי.
gcloud
מריצים את הפקודה
gcloud kms keys add-iam-policy-binding:gcloud kms keys add-iam-policy-binding KMS_KEY_NAME \ --project=KMS_PROJECT_ID \ --member=serviceAccount:SERVICE_ACCT_NAME@gcp-sa-observability. \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=LOCATION_ID \ --keyring=KMS_KEY_RINGלפני שמריצים את הפקודה הקודמת, מחליפים את הנתונים הבאים:
- KMS_KEY_NAME: השם של המפתח.
- KMS_PROJECT_ID: המזהה האלפאנומרי הייחודי של הפרויקט ב- Google Cloud שבו פועל Cloud KMS, שמורכב משם הפרויקט ב- Google Cloud וממספר שהוקצה באופן אקראי. איך מזהים פרויקטים?
- SERVICE_ACCT_NAME: השם של חשבון השירות של המשאב, שזיהיתם בשלב הקודם.
- LOCATION_ID: המיקום של מפתח Cloud KMS.
- KMS_KEY_RING: השם של אוסף המפתחות ב-Cloud KMS.
המסוף
- נכנסים לדף Key management במסוף Google Cloud .
- בוחרים את השם של אוסף המפתחות שמכיל את המפתח.
מסמנים את התיבה של המפתח.
הכרטיסייה Permissions מופיעה.
בתיבת הדו-שיח Add members, מציינים את כתובת האימייל של חשבון השירות של Google Cloud Observability שרוצים לתת לו גישה.
בתפריט Select a role, בוחרים באפשרות Cloud KMS CryptoKey Encrypter/Decrypter.
לוחצים על הוספה.
הגדרת מפתח Cloud KMS שמשמש כברירת מחדל למשאב ולמיקום
בשלב הקודם, נתתם לחשבון השירות של המשאב הרשאות להצפין ולפענח נתונים באמצעות מפתח Cloud KMS ספציפי.
לדוגמה, יכול להיות שהקציתם לחשבון שירות של ארגון תפקיד IAM שמאפשר לו לגשת למפתח Cloud KMS שנמצא במיקום us.
בשלב הזה, מעדכנים את הגדרות ברירת המחדל של קטגוריות התצפיתיות עם פרטי המפתח, בשביל המשאב הזה ובשביל המיקום של מפתח Cloud KMS.
לדוגמה, בשלב הזה אתם יכולים להגדיר את ברירות המחדל של קטגוריות התצפיות בארגון ובמיקום us, למפתח Cloud KMS שנמצא גם במיקום us.
בשלב הבא, מגדירים את מיקום האחסון שמוגדר כברירת מחדל. אם לא תגדירו מיקום אחסון כברירת מחדל, קטגוריות הניטור לא יוצפנו באמצעות מפתח ברירת המחדל של Cloud KMS, גם אם הקטגוריות האלה נמצאות במיקום שבו המפתח מוגדר.
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- KMS_KEY_NAME: השם של מפתח Cloud KMS.
- LOCATION: המיקום של מפתח Cloud KMS של המשאב. המשאב הוא פרויקט, תיקייה או ארגון. אם מגדירים את המיקום ל-
global, הפקודה מחזירה את מיקום האחסון שמוגדר כברירת מחדל למשאב. - משתמשים באחת מהאפשרויות הבאות כדי להעביר לפקודה את המזהה של הפרויקט, התיקייה או הארגון שרוצים לשלוח אליהם שאילתה:
-
--project=PROJECT_ID, כאשר PROJECT_ID מכיל את מזהה הפרויקט. --folder=FOLDER_ID, כאשר FOLDER_ID מכיל את מזהה התיקייה.-
--organization=ORGANIZATION_ID, כאשר ORGANIZATION_ID מכיל את מזהה הארגון.
-
מריצים את הפקודה gcloud observability settings update:
Linux, macOS או Cloud Shell
gcloud observability settings update \ --kms-key-name=KMS_KEY_NAME \ --update-mask=kmsKeyName \ --location=LOCATION --project=PROJECT_ID
Windows (PowerShell)
gcloud observability settings update ` --kms-key-name=KMS_KEY_NAME ` --update-mask=kmsKeyName ` --location=LOCATION --project=PROJECT_ID
Windows (cmd.exe)
gcloud observability settings update ^ --kms-key-name=KMS_KEY_NAME ^ --update-mask=kmsKeyName ^ --location=LOCATION --project=PROJECT_ID
פקודת העדכון מפעילה פעולה ממושכת. התגובה לפקודה נראית כך:
Parsed [location] resource: projects/my-project/locations/us Request issued for: [us] Waiting for operation [projects/my-project/locations/us/operations/operation-1775247021184-64e93e8161585-1a55612f-73382a5a] to complete...done. Updated location [us]. '@type': type.googleapis.com/google.cloud.observability.v1.Settings kmsKeyName: projects/my-project/locations/us/keyRings/test/cryptoKeys/test-key name: projects/my-project/locations/us/settings serviceAccountId: service-12345@gcp-sa-observability.
Terraform
כדי להגדיר מפתח ברירת מחדל של Cloud Key Management Service למיקום ולמשאב:
בוחרים את המשאב המתאים של Terraform על סמך המשאב של Google Cloudשרוצים להגדיר:
ארגון:
- משתמשים במשאב Terraform
google_observability_organization_settings. - מגדירים את השדה
organizationלמזהה של הארגון.
תיקייה:
- משתמשים במשאב Terraform
google_observability_folder_settings. - מגדירים את השדה
folderלמזהה התיקייה.
פרויקט:
- משתמשים במשאב Terraform
google_observability_project_settings. - מגדירים את השדה
projectלמזהה הפרויקט.
- משתמשים במשאב Terraform
מגדירים את השדות הבאים:
- מגדירים בשדה
locationאת המיקום של מפתח ברירת המחדל של Cloud KMS. - מגדירים את השדה
kms_key_nameלמפתח Cloud KMS.
- מגדירים בשדה
REST
בוחרים את נקודת הקצה המתאימה למשאב שרוצים להגדיר את ברירות המחדל שלו, ואז מציינים את הפרמטר של הנתיב ב-APIs Explorer:
ארגון:
- נקודת קצה ל-API:
organizations.locations.updateSettings פרמטר של הנתיב:
organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings
תיקייה:
- נקודת קצה ל-API:
folders.locations.updateSettings פרמטר של הנתיב:
folders/FOLDER_ID/locations/LOCATION_ID/settings
פרויקט:
- נקודת קצה ל-API:
projects.locations.updateSettings פרמטר של הנתיב:
projects/PROJECT_ID/locations/LOCATION_ID/settings
המשמעות של המשתנים בביטויים שלמעלה:
- ORGANIZATION_ID: המזהה המספרי הייחודי של הארגון. איך מוצאים את מזהה הארגון
- FOLDER_ID: המזהה המספרי הייחודי של התיקייה. איך יוצרים ומנהלים תיקיות?
- PROJECT_ID: מזהה הפרויקט.
- LOCATION_ID: המיקום של מפתח Cloud KMS.
- נקודת קצה ל-API:
מגדירים את השדה updateMask באופן הבא:
updateMask=kmsKeyNameמגדירים את גוף הבקשה באופן הבא:
{ "kmsKeyName":"projects/KMS_PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_NAME" }לפני שמזינים את הערכים, צריך לבצע את ההחלפות הבאות:
- KMS_PROJECT_ID: המזהה האלפאנומרי הייחודי של הפרויקט ב- Google Cloud שבו פועל Cloud KMS, שמורכב משם הפרויקט ב- Google Cloud וממספר שהוקצה באופן אקראי. איך מזהים פרויקטים?
- LOCATION_ID: המיקום של מפתח Cloud KMS.
- KMS_KEY_RING: השם של אוסף המפתחות ב-Cloud KMS.
- KMS_KEY_NAME: השם של המפתח.
הערך של
"kmsKeyName"הוא השם המלא של המפתח.לוחצים על Execute.
אם הפעולה בוצעה ללא שגיאות, התגובה היא אובייקט
Settings.לדוגמה, נניח שאתם מפעילים את הפקודה
updateSettingsכדי להגדיר מפתח Cloud KMS, ומגדירים את הפרמטר של הנתיב לערךorganizations/ORGANIZATION_ID/locations/LOCATION_ID/settings. התגובה תהיה דומה לזו:name: "organizations/ORGANIZATION_ID/locations/LOCATION_ID/settings" service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability. kms_key_name: "projects/KMS_PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_NAME"
הגדרת מיקום האחסון שמוגדר כברירת מחדל למשאב
בשלב הזה מוסבר איך להגדיר מיקום אחסון כברירת מחדל למשאב, שהוא ארגון, תיקייה או פרויקט. כל הצאצאים בהיררכיית המשאבים משתמשים באופן אוטומטי במיקום האחסון שהוגדר כברירת מחדל, חוץ מהצאצאים שבהם הגדרתם מיקום אחסון אחר כברירת מחדל.
לדוגמה, אם מגדירים את מיקום האחסון שמוגדר כברירת מחדל לארגון במיקום us, קטגוריות חדשות של ניראות שנוצרו על ידי המערכת באותו ארגון נמצאות במיקום us. אם רוצים שלתיקייה או לפרויקט יהיה מיקום האחסון שהוגדר כברירת מחדל שונה, צריך להגדיר את הגדרות ברירת המחדל של קטגוריות הניראות (observability) בתיקייה או בפרויקט.
אם אתם רוצים שקטגוריות התצפיתיות שנוצרו על ידי המערכת במשאב ישתמשו ב-CMEK, אתם צריכים לבצע את השלבים הבאים לפני שאתם מגדירים את מיקום האחסון שמוגדר כברירת מחדל למשאב:
- מקצים לחשבון השירות של המשאב את התפקיד ב-IAM שמאפשר לחשבון השירות להצפין ולפענח נתונים. התפקיד הזה מיועד למפתח Cloud KMS ספציפי, והמפתח הזה נמצא במיקום ספציפי.
- מגדירים את הגדרות ברירת המחדל של קטגוריות התצפיתיות של המשאב ומיקום המפתח באמצעות פרטי המפתח של Cloud KMS.
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
- DEFAULT_STORAGE_LOCATION: מיקום האחסון שמוגדר כברירת מחדל לפרויקט, לתיקייה או לארגון. המיקום הזה חל על קטגוריות חדשות של נתוני ניראות. צריך להזין מיקום קטגוריה נתמך של ניראות.
- משתמשים באחת מהאפשרויות הבאות כדי להעביר לפקודה את המזהה של הפרויקט, התיקייה או הארגון שרוצים לשלוח אליהם שאילתה:
-
--project=PROJECT_ID, כאשר PROJECT_ID מכיל את מזהה הפרויקט. --folder=FOLDER_ID, כאשר FOLDER_ID מכיל את מזהה התיקייה.-
--organization=ORGANIZATION_ID, כאשר ORGANIZATION_ID מכיל את מזהה הארגון.
-
מריצים את הפקודה gcloud observability settings update:
Linux, macOS או Cloud Shell
gcloud observability settings update \ --default-storage-location=DEFAULT_STORAGE_LOCATION \ --update-mask=defaultStorageLocation \ --location=global --project=PROJECT_ID
Windows (PowerShell)
gcloud observability settings update ` --default-storage-location=DEFAULT_STORAGE_LOCATION ` --update-mask=defaultStorageLocation ` --location=global --project=PROJECT_ID
Windows (cmd.exe)
gcloud observability settings update ^ --default-storage-location=DEFAULT_STORAGE_LOCATION ^ --update-mask=defaultStorageLocation ^ --location=global --project=PROJECT_ID
פקודת העדכון מפעילה פעולה ממושכת. התגובה לפקודה נראית כך:
Parsed [location] resource: projects/my-project/locations/global Request issued for: [global] Waiting for operation [projects/my-project/locations/global/operations/operation-1775247065869-64e93eabfee29-f7d39a96-5e23c6c7] to complete...done. Updated location [global]. '@type': type.googleapis.com/google.cloud.observability.v1.Settings defaultStorageLocation: us name: projects/my-project/locations/global/settings serviceAccountId: service-12345@gcp-sa-observability.
Terraform
כדי להגדיר מיקום ברירת מחדל:
בוחרים את המשאב המתאים של Terraform על סמך המשאב של Google Cloudשרוצים להגדיר:
ארגון:
- משתמשים במשאב Terraform
google_observability_organization_settings. - מגדירים את השדה
organizationלמזהה של הארגון.
תיקייה:
- משתמשים במשאב Terraform
google_observability_folder_settings. - מגדירים את השדה
folderלמזהה התיקייה.
פרויקט:
- משתמשים במשאב Terraform
google_observability_project_settings. - מגדירים את השדה
projectלמזהה הפרויקט.
- משתמשים במשאב Terraform
מגדירים את השדות הבאים:
- מגדירים את השדה
locationלערךglobal. - מגדירים את השדה
default_storage_locationלמיקום נתמך.
- מגדירים את השדה
REST
כדי להגדיר את מיקום האחסון שמוגדר כברירת מחדל לארגון, לתיקייה או לפרויקט:
בוחרים את נקודת הקצה המתאימה למשאב שרוצים להגדיר את ברירות המחדל שלו, ואז מציינים את הפרמטר של הנתיב ב-APIs Explorer:
ארגון:
- נקודת קצה ל-API:
organizations.locations.updateSettings פרמטר של הנתיב:
organizations/ORGANIZATION_ID/locations/global/settings
תיקייה:
- נקודת קצה ל-API:
folders.locations.updateSettings פרמטר של הנתיב:
folders/FOLDER_ID/locations/global/settings
פרויקט:
- נקודת קצה ל-API:
projects.locations.updateSettings פרמטר של הנתיב:
projects/PROJECT_ID/locations/global/settings
המשמעות של המשתנים בביטויים שלמעלה:
- ORGANIZATION_ID: המזהה המספרי הייחודי של הארגון. איך מוצאים את מזהה הארגון
- FOLDER_ID: המזהה המספרי הייחודי של התיקייה. איך יוצרים ומנהלים תיקיות?
- PROJECT_ID: מזהה הפרויקט.
- נקודת קצה ל-API:
מגדירים את השדה updateMask באופן הבא:
updateMask=defaultStorageLocationמגדירים את גוף הבקשה באופן הבא:
{ "defaultStorageLocation":"DEFAULT_STORAGE_LOCATION" }מחליפים את DEFAULT_STORAGE_LOCATION במיקום נתמך של קטגוריית ניראות (observability).
לדוגמה, נניח שאתם רוצים שכל הקטגוריות החדשות של נתוני ניראות שנוצרו על ידי המערכת בארגון יהיו במיקום
usוישתמשו ב-CMEK. בשלבים הקודמים, נתתם לחשבון השירות של הארגון תפקיד IAM שמאפשר לו להצפין ולפענח נתונים באמצעות מפתח Cloud KMS שנמצא במיקוםus. כדי להשלים את ההגדרה, משנים את הערך של DEFAULT_STORAGE_LOCATION ל-us.לוחצים על Execute.
אם הפעולה בוצעה ללא שגיאות, התגובה היא אובייקט
Settings.לדוגמה, אם מריצים פקודת
updateSettingsומגדירים את הפרמטר של הנתיב לארגון ואת מיקום האחסון שמוגדר כברירת מחדל ל-us, התשובה תהיה דומה לזו:default_storage_location: "us" service_account_id: service-org-ORGANIZATION_ID@gcp-sa-observability.
עדכון מיקום האחסון שמוגדר כברירת מחדל למשאב
כדי לעדכן את מיקום האחסון שהוגדר כברירת מחדל לארגון, לתיקייה או לפרויקט, פועלים לפי אותו תהליך שמשמש להגדרת מיקום האחסון שמוגדר כברירת מחדל.
ניהול המפתחות ב-Cloud KMS
בקטעים הבאים מוסבר איך לשנות, להשבית או לבטל את הגישה למפתח Cloud KMS.
עדכון מפתח ברירת המחדל של Cloud KMS למשאב ולמיקום
כדי לעדכן את מפתח Cloud KMS של משאב ומיקום ספציפיים, פועלים לפי אותו תהליך שמשמש להגדרת מפתח Cloud KMS.
ביטול ההגדרה של מפתח Cloud KMS שמשמש כברירת מחדל למשאב ולמיקום
כדי לבטל או לנקות את מפתח Cloud KMS של משאב ומיקום ספציפיים, פועלים לפי אותו תהליך שמתואר בקטע הגדרת מפתח Cloud KMS שמשמש כברירת מחדל למיקום. עם זאת, כשמגדירים את גוף הבקשה, צריך להגדיר את ערך המפתח כמחרוזת ריקה.
{
"kmsKeyName"=""
}
המערכת משתמשת באלגוריתם הבא כדי לקבוע אם קטגוריית תצפית חדשה במשאב משתמשת ב-CMEK, ואם כן, באיזה מפתח להשתמש:
המערכת מחפשת בהגדרות ברירת המחדל של המשאב מפתח Cloud KMS למיקום שצוין. אם למשאב אין מפתח ברירת מחדל של Cloud KMS, המערכת מחפשת מפתח ברירת מחדל של Cloud KMS בצאצאים של המשאב:
אחרי שהחיפוש מסתיים, המערכת מבצעת אחת מהפעולות הבאות:
אם נמצא מפתח Cloud KMS, המפתח הזה משמש להצפנת הנתונים שמאוחסנים במאגר הנתונים החדש של הניראות.
אם לא נמצא מפתח Cloud KMS, מתרחש אחד מהמצבים הבאים:
אם קיימת מדיניות ארגונית שמחייבת שימוש ב-CMEK, הקצאת קטגוריית התצפית החדשה תיכשל.
אם אין מדיניות ארגונית, קטגוריית הניראות החדשה לא משתמשת ב-CMEK.
ביטול הגישה למפתח של משאב ומיקום
כשאתם מגדירים את ברירות המחדל של קטגוריות התצפיתיות למשאב ולמיקום באמצעות מפתח Cloud KMS, אתם צריכים להקצות לחשבון השירות של המשאב את התפקיד Cloud KMS CryptoKey Encrypter/Decrypter (roles.cloudkms.cryptoKeyEncrypterDecrypter בשביל המפתח.
אם אתם לא רוצים שלמשאב תהיה גישה למפתח, הסירו את הקישור של IAM לאותו מפתח. כדי להסיר את הקישור הזה, מריצים את הפקודה gcloud kms keys remove-iam-policy-binding.
יכול להיות שיעברו כמה שעות עד שהשינוי בתפקיד יתעדכן באופן מלא.
התנהגות של רוטציית מפתחות
Google Cloud Observability לא מבצע רוטציה אוטומטית למפתח ההצפנה של קבצים זמניים לתוכנית התאוששות מאסון (DR), כשמתבצעת רוטציה של מפתח Cloud KMS שמשויך לארגון או לתיקייה ב- Google Cloud . בקובצי השחזור הקיימים ממשיכים להשתמש בגרסת המפתח שבאמצעותה הם נוצרו. בקובצי השחזור החדשים נעשה שימוש בגרסת המפתח הראשי הנוכחית.
מידע נוסף זמין במאמר רוטציית מפתחות.
מגבלות
אלה המגבלות הידועות כשמגדירים את הגדרות ברירת המחדל של קטגוריות התצפיתיות כך שתהיה להן הגדרת CMEK.
פגיעה בביצועים בגלל חוסר זמינות של מפתחות
Google Cloud Observability משתמש ב-Cloud KMS API כדי לגשת למפתחות Cloud KMS וגם למפתחות Cloud EKM. יכול להיות ששני סוגי המפתחות לא יהיו זמינים.
אם מפתח לא זמין, קורים הדברים הבאים:
- אי אפשר לשלוח שאילתות לגבי נתונים מאוחסנים.
- ב-Google Cloud Observability נשמרים במאגר נתונים מהשלוש השעות האחרונות. יכול להיות שהמערכת תתעלם מנתונים שנוצרו לפני חלון הזמן הזה.
- כדי לאחסן נתונים באופן קבוע, מפתח Cloud KMS צריך להיות זמין ונגיש למשך 24 שעות רצופות לפחות בפרק הזמן של 48 שעות אחרי כתיבת הנתונים. אם המפתח של Cloud KMS לא זמין ונגיש במהלך התקופה הזו, יכול להיות שהנתונים לא יישמרו באופן מלא באחסון ויימחקו.