במאמר הזה מוסבר איך ליצור, להגדיר ולנהל אילוצים מותאמים אישית של מדיניות הארגון עבור מופעים של Memorystore for Valkey. סקירה כללית של מדיניות ארגונית בהתאמה אישית זמינה במאמר מדיניות ארגונית בהתאמה אישית.
השירות Google Cloud שירות מדיניות הארגון מאפשר לכם שליטה מרוכזת ופרוגרמטית על המשאבים של הארגון. אדמינים של מדיניות הארגון יכולים להגדיר מדיניות ארגונית, שהיא קבוצה של הגבלות שנקראות אילוצים, שחלות על משאבים ב-Google Cloud היררכיית המשאבים ועל צאצאים של המשאבים האלה. Google Cloud אפשר לאכוף את מדיניות הארגון ברמת הארגון, התיקייה או הפרויקט.
שירות מדיניות הארגון מספק אילוצים מוגדרים מראש לשירותים שונים של Google Cloud , כולל Memorystore for Valkey. עם זאת, אם אתם רוצים שליטה מדויקת יותר בשדות ספציפיים שמוגבלים על ידי מדיניות הארגון, אתם יכולים ליצור מגבלות בהתאמה אישית ולהשתמש בהן במדיניות הארגון.
הטמעה של אילוצים מותאמים אישית של מדיניות ארגונית מאפשרת לאכוף הגדרות והגבלות עקביות. כך תוכלו לוודא שהמופעים שלכם עומדים בשיטות המומלצות לאבטחה ובדרישות הרגולטוריות.
אפשר להשתמש במדיניות ארגונית בהתאמה אישית כדי לאשר או לדחות משאבים של Memorystore for Valkey. לדוגמה, אם תנסו ליצור או לעדכן מופע בזמן שאילוץ מותאם אישית נאכף, והמופע לא עומד בדרישות האילוץ, המערכת של Memorystore for Valkey לא תיצור או תעדכן את המופע. בנוסף, כל פרויקט שנוסף לארגון או לתיקייה שמוגדרת בהם מדיניות ארגון מותאמת אישית יקבל בירושה את המגבלות של המדיניות הזו.
ירושה של מדיניות
כברירת מחדל, מדיניות הארגון עוברת בירושה לצאצאים של המשאבים שבהם אתם אוכפים את המדיניות. לדוגמה, אם אוכפים מדיניות בתיקייה, המערכת אוכפת את המדיניות על כל הפרויקטים בתיקייה. Google Cloud מידע נוסף על ההתנהגות הזו ועל שינוי שלה זמין במאמר בנושא כללי הערכה של היררכיה.
לפני שמתחילים
לפני שמתחילים להשתמש במדיניות ארגונית בהתאמה אישית, צריך להשלים את הדרישות המוקדמות שמפורטות בקטע הזה.
שימוש במסוף Google Cloud , ב-Google Cloud CLI ובממשקי API
כדי להשתמש במסוף Google Cloud , ב-CLI של gcloud ובממשקי API, מבצעים את הפעולות הבאות:
- בדף לבחירת הפרויקט במסוף Google Cloud , בוחרים פרויקט ב- Google Cloud או יוצרים אותו.
- מוודאים שהחיוב מופעל בפרויקט. כך בודקים אם החיוב מופעל בפרויקט
מתקינים ומפעילים את ה-CLI של gcloud.
אם התקנתם את ה-CLI של gcloud, השתמשו בפקודה
gcloud components updateכדי לוודא שמותקנת אצלכם הגרסה העדכנית. כדי לגשת לפקודות ה-CLI של gcloud של Memorystore for Valkey, צריך לפחות את גרסה489.0.0של ה-CLI של gcloud.-
מפעילים את Memorystore for Valkey API.
Memorystore for Valkey API - אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
- חשוב לוודא שאתם יודעים מה המזהה של הארגון שלכם.
הקצאת תפקידים
כדי להשתמש במדיניות ארגונית בהתאמה אישית עבור המופעים, צריך להיות לכם אחד מתפקידי ה-IAM האלה בפרויקט Google Cloud :
-
roles/memorystore.admin(תפקיד האדמין של Memorystore) -
roles/owner(התפקיד 'בעלים') roles/editor(ההרשאה 'עריכה')
בנוסף, צריך להעניק למשתמש או לחשבון השירות את התפקיד roles/orgpolicy.policyAdmin (אדמין של מדיניות הארגון) ואת ההרשאה memorystore.instances.create. מידע נוסף על הקצאת תפקידים והרשאות מופיע במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים.
יכול להיות שתוכלו לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירה והגדרה של אילוץ בהתאמה אישית
יוצרים אילוץ בהתאמה אישית כדי להגדיר את המשאבים, השיטות, התנאים והפעולות שחלים עליהם האילוצים. ההגדרות האלה ספציפיות לשירות שבו אתם אוכפים את מדיניות הארגון.
כדי להגדיר תנאים למגבלה מותאמת אישית, משתמשים ב-Common Expression Language (CEL). מידע נוסף על יצירת תנאים באילוצים מותאמים אישית באמצעות CEL זמין בקטע בנושא CEL במאמר יצירה וניהול של אילוצים מותאמים אישית.
אחרי שיוצרים את האילוץ המותאם אישית, מגדירים אותו כך שיהיה זמין למדיניות הארגון בארגון. אפשר לעשות את זה באמצעות מסוףGoogle Cloud או Google Cloud CLI.
המסוף
- נכנסים לדף Organization policies במסוף Google Cloud .
- לוחצים על התפריט בסרגל התפריטים של המסוף Google Cloud , ואז בוחרים את הפרויקט, התיקייה או הארגון שרוצים ליצור ולהגדיר עבורם אילוץ בהתאמה אישית.
- בדף מדיניות הארגון, לוחצים על אילוץ מותאם אישית.
בשדה שם מוצג בדף יצירת אילוץ בהתאמה אישית, מזינים שם שקל לקרוא ולהבין בשביל האילוץ. השם הזה משמש בהודעות שגיאה, ואפשר להשתמש בו גם למטרות זיהוי וניפוי באגים. השדה הזה יכול להכיל עד 200 תווים.
בשדה Constraint ID (מזהה האילוץ), מזינים את המזהה של האילוץ המותאם אישית. האילוץ הזה חייב להתחיל ב-
custom., ויכול לכלול רק אותיות רישיות, אותיות קטנות או מספרים (לדוגמה,custom.restrictFiveShardInstances). האורך המקסימלי של הערך הזה הוא 70 תווים, לא כולל הקידומת. לדוגמה:organizations/123456789/customConstraints/custom.allowConstraint.בשדה Description, מזינים תיאור של האילוץ שקל לקרוא ולהבין. התיאור הזה משמש כהודעת שגיאה במקרה של הפרת מדיניות הארגון. לכלול פרטים על הסיבה להפרת המדיניות ואיך לפתור אותה. בשדה הזה אפשר להזין עד 2,000 תווים.
- בתפריט Resource type בוחרים את השם (לא ה-URI) של משאב Memorystore for Valkey שמכיל את האובייקט והשדה שרוצים להגביל. לדוגמה:
memorystore.googleapis.com/Instance. - בתפריט שיטת האכיפה, בוחרים באחת מהאפשרויות הבאות:
- Enforce on create: האילוץ נאכף רק כשיוצרים מופעים של Memorystore for Valkey.
- אכיפה ביצירה ובעדכון: האילוץ נאכף כשיוצרים ומעדכנים מופעים.
כדי להגדיר תנאי CEL שנכתב על סמך ייצוג של משאב שירות נתמך, מבצעים את הפעולות הבאות:
- בשדה תנאי, לוחצים על עריכה.
בתיבת הדו-שיח הוספת תנאי, מזינים את תנאי ה-CEL. לדוגמה:
resource.shardCount == 5.האורך המקסימלי של התנאי הוא 1,000 תווים. מידע נוסף על המשאבים שזמינים לכתיבת תנאים מפורט במאמר אילוצים ופעולות בהתאמה אישית שנתמכים.
- לוחצים על Save.
- בקטע פעולה, בוחרים באחת מהאפשרויות הבאות
שמייצגת את הפעולה שתתבצע אם התנאי יתקיים:
- Allow: אם התנאי מתקיים (True), הפעולה ליצירה או לעדכון של המופע מותרת. כל מקרה אחר, מלבד אלה שמפורטים במפורש בתנאי, נחסם.
- Deny: אם התנאי מתקיים (הערך הוא True), הפעולה ליצירה או לעדכון של המופע נחסמת.
- בקטע YAML configuration (הגדרת YAML), מוודאים שהגדרת ה-YAML של האילוץ המותאם אישית נכונה.
- לוחצים על יצירת אילוץ.
gcloud
כדי ליצור אילוץ בהתאמה אישית, יוצרים קובץ YAML בפורמט הבא:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: - memorystore.googleapis.com/RESOURCE_NAME methodTypes: - CREATE - UPDATE condition: "CONDITION" actionType: ACTION displayName: DISPLAY_NAME description: DESCRIPTION
מחליפים את הפרטים הבאים:
-
ORGANIZATION_ID: מזהה הארגון, למשל123456789. -
CONSTRAINT_NAME: השם של האילוץ המותאם אישית. האילוץ הזה חייב להתחיל ב-custom., והוא יכול לכלול רק אותיות רישיות, אותיות קטנות או מספרים (לדוגמה,custom.restrictFiveShardInstances). האורך המקסימלי של הערך הזה הוא 70 תווים, לא כולל הקידומת. לדוגמה:organizations/123456789/customConstraints/custom.allowConstraint. -
RESOURCE_NAME: השם (לא ה-URI) של משאב Memorystore for Valkey, שמכיל את האובייקט והשדה שרוצים להגביל. לדוגמה:memorystore.googleapis.com/Instance.
CONDITION: תנאי CEL שנכתב על בסיס ייצוג של משאב שירות נתמך. לדוגמה:"resource.shardCount == 5".האורך המקסימלי של השדה הוא 1,000 תווים. מידע נוסף על המשאבים שזמינים לכתיבת תנאים מופיע במאמר פעולות ואילוצים מותאמים אישית נתמכים.
-
ACTION: הפעולה שיש לבצע אם התנאי מתקיים. הערך של המאפיין הזה יכול להיות אחד מהערכים הבאים:-
ALLOW: אם התנאי מקבל את הערך True, הפעולה ליצירה או לעדכון של המופע מותרת. כל מקרה אחר, מלבד אלה שמפורטים במפורש בתנאי, נחסם. -
DENY: אם התנאי מחזיר את הערך True, הפעולה ליצירה או לעדכון של המופע נחסמת.
-
DISPLAY_NAME: שם קריא לאנשים של האילוץ. השם הזה משמש בהודעות שגיאה, ואפשר להשתמש בו גם למטרות זיהוי וניפוי באגים. השדה הזה יכול להכיל עד 200 תווים.-
DESCRIPTION: תיאור של האילוץ שקריא לאנשים. התיאור הזה משמש כהודעת שגיאה כשמדיניות הארגון מופרת. לכלול פרטים על הסיבה להפרת המדיניות ועל אופן פתרון הפרה. השדה הזה יכול להכיל עד 2,000 תווים.
-
כדי להגדיר אילוץ בהתאמה אישית, משתמשים בפקודה
gcloud org-policies set-custom-constraint:gcloud org-policies set-custom-constraint CONSTRAINT_PATH
מחליפים את CONSTRAINT_PATH בנתיב המלא לקובץ האילוצים המותאם אישית (לדוגמה,
/home/user/customconstraint.yaml).אחרי שמגדירים את האילוץ בהתאמה אישית, הוא זמין כמדיניות ארגונית ברשימת המדיניות הארגונית Google Cloud .
כדי לוודא שהאילוץ המותאם אישית קיים, משתמשים בפקודה
gcloud org-policies list-custom-constraints:gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
אכיפה של מדיניות ארגון מותאמת אישית
כדי לאכוף אילוץ, יוצרים מדיניות ארגון שמפנה אליו, ואז מחילים את מדיניות הארגון הזו על משאב Google Cloud .המסוף
- נכנסים לדף Organization policies במסוף Google Cloud .
- בתפריט לבחירת פרויקט, בוחרים את הפרויקט שרוצים להגדיר לו את מדיניות הארגון.
- מהרשימה בדף מדיניות הארגון, בוחרים את האילוץ כדי לראות את הדף פרטי המדיניות של האילוץ הזה.
- כדי להגדיר את מדיניות הארגון עבור המשאב הזה, לוחצים על ניהול מדיניות.
- בדף עריכת מדיניות, בוחרים באפשרות במקום המדיניות של המשאב הראשי.
- לוחצים על Add a rule.
- בקטע Enforcement (אכיפה), בוחרים אם מדיניות הארגון הזו נאכפת או לא.
- אופציונלי: כדי להגדיר את מדיניות הארגון כתלויה בתג, לוחצים על הוספת תנאי. הערה: אם מוסיפים כלל מותנה למדיניות ארגון, צריך להוסיף לפחות כלל לא מותנה אחד, אחרת אי אפשר לשמור את המדיניות. מידע נוסף על מדיניות ארגונית עם תגים
- לוחצים על בדיקת שינויים כדי לדמות את ההשפעה של מדיניות הארגון. מידע נוסף זמין במאמר בדיקת שינויים במדיניות הארגון באמצעות סימולטור המדיניות.
- כדי לאכוף את המדיניות של הארגון במצב פרימטר לבדיקות, לוחצים על הגדרת המדיניות להרצת בדיקה. מידע נוסף זמין במאמר בנושא בדיקת מדיניות הארגון.
- אחרי שמוודאים שמדיניות הארגון במצב הרצה יבשה פועלת כמו שרוצים, מגדירים את המדיניות הפעילה על ידי לחיצה על הגדרת מדיניות.
gcloud
- כדי ליצור מדיניות ארגונית עם כללים בוליאניים, יוצרים קובץ YAML של מדיניות שמפנה לאילוץ:
-
PROJECT_ID: הפרויקט שבו רוצים לאכוף את האילוץ. -
CONSTRAINT_NAME: השם שהגדרתם לאילוץ המותאם אישית. לדוגמה,custom.restrictFiveShardInstances. -
כדי לאכוף את מדיניות הארגון במצב הרצה יבשה, מריצים את הפקודה הבאה עם הדגל
dryRunSpec: -
אחרי שמוודאים שמדיניות הארגון במצב הרצה יבשה פועלת כמו שרוצים, מגדירים את המדיניות הפעילה באמצעות הפקודה
org-policies set-policyוהדגלspec:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: true dryRunSpec: rules: - enforce: true
מחליפים את מה שכתוב בשדות הבאים:
gcloud org-policies set-policy POLICY_PATH --update-mask=dryRunSpec
מחליפים את הערך POLICY_PATH בנתיב המלא לקובץ ה-YAML של מדיניות הארגון. יחלפו עד 15 דקות לפני שהמדיניות תיכנס לתוקף.
gcloud org-policies set-policy POLICY_PATH --update-mask=spec
מחליפים את הערך POLICY_PATH בנתיב המלא לקובץ ה-YAML של מדיניות הארגון. יחלפו עד 15 דקות לפני שהמדיניות תיכנס לתוקף.
בדיקת אילוץ בהתאמה אישית
כדי לבדוק אילוץ מותאם אישית של מדיניות הארגון ב-Memorystore for Valkey, נסו ליצור או לעדכן אינסטנס שלא עומד בדרישות המדיניות שנאכפת.
לדוגמה, נניח שאילוץ מגביל אתכם מיצירת מכונה אם למכונה יש חמישה שרדים. כדי לבדוק את האילוץ הזה, אפשר לנסות ליצור את המופע ולהגדיר את מספר הרסיסים לחמישה. מכיוון שהמופע לא עומד בדרישות האילוץ, Memorystore for Valkey לא יוצר את המופע.
פעולות והגבלות מותאמות אישית נתמכות
השדות הבאים של אילוצים מותאמים אישית ב-Memorystore for Valkey זמינים לשימוש כשיוצרים או מעדכנים מופע:
- מופע של Memorystore for Valkey
resource.nameresource.replicaCountresource.shardCountresource.nodeTyperesource.engineVersionresource.moderesource.kmsKeyresource.simulateMaintenanceEventresource.engineConfigsresource.persistenceConfig.moderesource.persistenceConfig.rdbConfig.rdbSnapshotPeriodresource.persistenceConfig.rdbConfig.rdbSnapshotStartTimeresource.persistenceConfig.aofConfig.appendFsyncresource.deletionProtectionEnabledresource.maintenancePolicy.weeklyMaintenanceWindow.dayresource.maintenancePolicy.weeklyMaintenanceWindow.startTimeresource.automatedBackupConfig.automatedBackupModeresource.automatedBackupConfig.fixedFrequencyScheduleresource.automatedBackupConfig.retentionresource.crossInstanceReplicationConfig.instanceRoleresource.crossInstanceReplicationConfig.primaryInstanceresource.crossInstanceReplicationConfig.secondaryInstancesresource.crossInstanceReplicationConfig.primaryInstance.instanceresource.crossInstanceReplicationConfig.secondaryInstances.instanceresource.zoneDistributionConfig.zoneresource.zoneDistributionConfig.moderesource.transitEncryptionModeresource.authorizationModeresource.serverCaModeresource.managedBackupSource.backupresource.serverCaPool
דוגמה למגבלה מותאמת אישית
בטבלה הבאה מוצגת דוגמה למגבלה בהתאמה אישית שמונעת ממשתמשים ליצור או לעדכן מופעים של Memorystore for Valkey אם למופעים יש חמישה רסיסים:
| תיאור | תחביר של אילוצים |
|---|---|
| הגבלת היכולת ליצור או לעדכן מופעים עם חמישה רסיסים |
name: organizations/ORGANIZATION_ID/customConstraints/custom.restrictFiveShardInstances resourceTypes: - memorystore.googleapis.com/Instance methodTypes: - CREATE - UPDATE condition: "resource.shardCount == 5" actionType: DENY displayName: Restrict five-shard Memorystore for Valkey instances description: Prevent users from creating or updating instances that have five shards. |
המאמרים הבאים
- מידע נוסף על מדיניות הארגון
- מידע נוסף על יצירה וניהול של אילוצים מותאמים אישית
- מידע נוסף על יצירה וניהול של מדיניות הארגון