במדריך הזה מוסבר איך ליצור מדיניות ארגון עם אילוצים מנוהלים ואילוצים מנוהלים מדור קודם. אם אתם רוצים שליטה רבה יותר במדיניות הארגון, אתם יכולים ליצור אילוצים בהתאמה אישית.
מידע נוסף על אילוצים ועל הבעיות שהם פותרים זמין ברשימה של כל האילוצים של Organization Policy Service.
לפני שמתחילים
כדי להבין איך מדיניות הארגון פועלת, אפשר לקרוא את הדף סקירה כללית על השירות של מדיניות הארגון.
מידע נוסף על ירושה של מדיניות מופיע במאמר הערכה של היררכיה.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול מדיניות הארגון, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Organization policy administrator (אדמין של מדיניות הארגון) (roles/orgpolicy.policyAdmin) בארגון.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הענקת הרשאות ניהול של מדיניות הארגון
כדי להעביר את ניהול מדיניות הארגון לחשבון משתמש אחר, מוסיפים תנאי לקישור התפקיד:
"bindings": [ { "role": "roles/orgpolicy.policyAdmin", "members": [ "PRINCIPAL_1", "PRINCIPAL_2" ], "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "resource.matchTag('TAG_KEY', 'TAG_VALUE')" } } ]
מחליפים את מה שכתוב בשדות הבאים:
PRINCIPAL_1,PRINCIPAL_2: רשימה של חשבונות משתמשים שרוצים להקצות להם את התפקיד 'אדמין של מדיניות הארגון'.
TITLE: השם של הביטוי המותנה – לדוגמה, Organization policy administrator for development environments (אדמין של מדיניות הארגון לסביבות פיתוח).
DESCRIPTION: תיאור אופציונלי של הביטוי.TAG_KEY: השם ממרחב השמות של מפתח התג, לדוגמה123456789012/environment.TAG_VALUE: השם של ערך התג. התפקיד מוקצה רק למשאבים שמצורף אליהם התג הזה, לדוגמה,development.
מידע נוסף על שימוש בתנאים במדיניות הרשאות מופיע במאמר סקירה כללית של תנאי IAM.
שימוש בכללים של רשימות במדיניות הארגון
אתם יכולים להגדיר מדיניות ארגון במשאב הארגון שלכם באמצעות כללי רשימה כדי לדחות גישה לשירות מסוים. בתהליך הבא מוסבר איך להגדיר מדיניות ארגונית באמצעות Google Cloud CLI. הוראות לצפייה במדיניות הארגון ולהגדרתה באמצעות מסוף Cloud de Confiance מופיעות במאמר החלת מדיניות הארגון.
במדיניות ארגונית שמשתמשת בכללי רשימה, לא יכולים להיות יותר מ-500 ערכים בודדים של הרשאה או דחייה, והגודל שלה לא יכול להיות יותר מ-32KB. אם מדיניות ארגונית נוצרת או מתעדכנת כך שיש בה יותר מ-500 ערכים, או שהגודל שלה גדול מ-32KB, אי אפשר לשמור אותה בהצלחה והבקשה תחזיר שגיאה.
הגדרת אכיפה במשאב הארגון
כדי להגדיר אכיפה בארגון באמצעות ה-CLI של gcloud, מבצעים את השלבים הבאים:
מריצים את הפקודה
describeכדי לקבל את המדיניות הנוכחית במשאב הארגון. הפקודה הזו מחזירה את המדיניות שחלה ישירות על המשאב הזה:gcloud org-policies describe \ CONSTRAINT_NAME --organization=ORGANIZATION_IDמחליפים את מה שכתוב בשדות הבאים:
ORGANIZATION_ID: מזהה ייחודי של משאב הארגון. Organization ID (מזהה הארגון) מפורמט כמספר עשרוני, ולא יכולים להיות בו אפסים מובילים.
CONSTRAINT_NAME: האילוץ של השירות שרוצים לאכוף. לדוגמה, האילוץgcp.restrictNonCmekServicesמגביל את השירותים שיכולים ליצור משאבים בלי מפתחות הצפנה בניהול הלקוח (CMEK).
אפשר גם להחיל את מדיניות הארגון על תיקייה או על פרויקט באמצעות הדגלים
--folderאו--project, ומזהה התיקייה ומזהה הפרויקט, בהתאמה.התשובה מחזירה את מדיניות הארגון הנוכחית, אם קיימת כזו. לדוגמה:
name: projects/841166443394/policies/gcp.resourceLocations spec: etag: BwW5P5cEOGs= inheritFromParent: true rules: - condition: expression: resource.matchTagId("tagKeys/1111", "tagValues/2222") values: allowedValues: - in:us-east1-locations - condition: expression: resource.matchTag("123/env", "prod") values: allowedValues: - in:us-west1-locations - values: deniedValues: - in:asia-south1-locations updateTime: '2021-01-19T12:00:51.095Z'אם לא מוגדרת מדיניות, הפונקציה תחזיר שגיאה מסוג
NOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.מגדירים את המדיניות בארגון באמצעות הפקודה
set-policy. המדיניות הזו מחליפה כל מדיניות שמצורפת למשאב.יוצרים קובץ זמני
/tmp/policy.yamlלאחסון המדיניות:name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME spec: rules: - values: deniedValues: - VALUE_Aמריצים את הפקודה
set-policy:gcloud org-policies set-policy /tmp/policy.yaml
כדי לראות את המדיניות האפקטיבית הנוכחית, משתמשים בפקודה
describe --effective. הפונקציה מחזירה את מדיניות הארגון כפי שהיא מוערכת בשלב הזה בהיררכיית המשאבים, כולל ירושה.gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --organization=ORGANIZATION_IDהפלט של הפקודה יהיה:
name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME spec: etag: BwVJi0OOESU= rules: - values: deniedValues: - VALUE_Aמדיניות הארגון הזו הוגדרה ברמת הארגון, ולכן היא תעבור בירושה לכל משאבי הצאצאים שמאפשרים ירושה.
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון יחולו באופן מלא.
הגדרה של אכיפה על ענף משנה בהיררכיה
אילוצים עם כללי רשימה מקבלים ערכים מוגדרים במפורש כדי לקבוע אילו משאבים צריכים להיות מותרים או אסורים. חלק מהאילוצים יכולים לקבל גם ערכים שמשתמשים בקידומת under:, שמציינת עץ משנה עם המשאב הזה כשורש. שימוש בקידומת under: בערך מותר או אסור גורם למדיניות הארגון לפעול על המשאב הזה ועל כל משאבי הצאצא שלו.
מידע על האילוצים שמאפשרים שימוש בקידומת under: זמין בדף אילוצים של מדיניות הארגון.
ערך שמתחיל בקידומת under: נקרא מחרוזת של עץ משנה בהיררכיה. מחרוזת של עץ משנה בהיררכיה מציינת את סוג המשאב שאליו היא מתייחסת. לדוגמה, שימוש במחרוזת של עץ משנה projects/PROJECT_ID בהגדרת האילוץ constraints/compute.storageResourceUseRestrictions יאפשר או יחסום את השימוש באחסון של Compute Engine עבור PROJECT_ID וכל צאצאיו.
כדי לקבל את המדיניות הנוכחית במשאב הארגון, מריצים את הפקודה
describe:gcloud org-policies describe \ CONSTRAINT_NAME \ --organization=ORGANIZATION_IDמחליפים את מה שכתוב בשדות הבאים:
ORGANIZATION_IDהוא מזהה ייחודי של משאב הארגון.
CONSTRAINT_NAMEהוא האילוץ של השירות שרוצים לאכוף.
אפשר גם להחיל את מדיניות הארגון על תיקייה או על פרויקט באמצעות הדגלים
--folderאו--project, ומזהה התיקייה ומזהה הפרויקט, בהתאמה.אם לא מוגדרת מדיניות, הפונקציה תחזיר שגיאה מסוג
NOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.מגדירים את המדיניות בפרויקט באמצעות הפקודה
set-policy. הקידומתunder:מגדירה את האילוץ כך שידחה את המשאב שצוין ואת כל משאבי הצאצא שלו.יוצרים קובץ זמני
/tmp/policy.yamlלאחסון המדיניות:name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME spec: rules: - values: deniedValues: - under:folders/VALUE_Aמריצים את הפקודה
set-policy:gcloud org-policies set-policy /tmp/policy.yaml
כאשר:
under:הוא קידומת שמציינת שהמחרוזת הבאה היא מחרוזת של עץ משנה.
folders/VALUE_Aהוא מזהה התיקייה של משאב הבסיס שרוצים לחסום. הגישה למשאב הזה ולכל משאבי הצאצא שלו בהיררכיית המשאבים תיחסם.
אפשר גם להחיל את הקידומת
under:על ארגונים ופרויקטים, כמו בדוגמאות הבאות:under:organizations/VALUE_Xunder:projects/VALUE_Y
כדי לראות את המדיניות האפקטיבית הנוכחית, משתמשים בפקודה
describe --effective.gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --organization=ORGANIZATION_IDהפלט של הפקודה יהיה:
name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME spec: rules: - values: deniedValues: - under:folders/VALUE_Aהמדיניות תעריך עכשיו את התיקייה VALUE_A ואת כל משאבי הצאצא שלה כדחייה.
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון יחולו באופן מלא.
מיזוג מדיניות הארגון בפרויקט
אפשר להגדיר מדיניות ארגונית למשאב, שתתמזג עם כל מדיניות שהוא יורש ממשאב ההורה שלו. המדיניות הממוזגת הזו תוערך כדי ליצור מדיניות אפקטיבית חדשה על סמך כללי הירושה.
מקבלים את המדיניות הנוכחית של המשאב באמצעות הפקודה
describe:gcloud org-policies describe \ CONSTRAINT_NAME \ --project=PROJECT_IDמחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המזהה הייחודי של הפרויקט.
CONSTRAINT_NAME: האילוץ של השירות שרוצים לאכוף.
אם לא מוגדרת מדיניות, הפונקציה תחזיר שגיאה מסוג
NOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.מציגים את המדיניות האפקטיבית הנוכחית באמצעות הפקודה
describe --effective:gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --project=PROJECT_IDהפלט של הפקודה יכלול ערך מסוג denied שהמשאב יורש ממשאב הארגון:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - values: deniedValues: - VALUE_Aמגדירים את המדיניות בפרויקט באמצעות הפקודה
set-policy.יוצרים קובץ זמני
/tmp/policy.yamlלאחסון המדיניות:name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: inheritFromParent: true rules: - values: deniedValues: - VALUE_B - VALUE_Cמריצים את הפקודה
set-policy:gcloud org-policies set-policy /tmp/policy.yaml
משתמשים שוב בפקודה
describe --effectiveכדי להציג את המדיניות המעודכנת:gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --project=PROJECT_IDהפלט של הפקודה יכלול את התוצאה בפועל של מיזוג המדיניות מהמשאב ומהמשאב ההורה:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - values: deniedValues: - VALUE_A - VALUE_B - VALUE_C
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון יחולו באופן מלא.
שחזור התנהגות ברירת המחדל של אילוצים
אפשר להשתמש בפקודה reset כדי לאפס את המדיניות כך שתשתמש בהתנהגות ברירת המחדל של האילוץ. רשימה של כל המגבלות הזמינות וערכי ברירת המחדל שלהן מופיעה במאמר בנושא מגבלות שקשורות למדיניות הארגון.
בדוגמה הבאה מניחים שברירת המחדל של התנהגות ההגבלה היא לאפשר את כל הערכים.
כדי לראות את המדיניות הממוזגת הנוכחית, מאחזרים את המדיניות שנמצאת בתוקף בפרויקט:
gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --project=PROJECT_IDמחליפים את PROJECT_ID במזהה הייחודי של הפרויקט. הפלט של הפקודה יהיה:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - values: deniedValues: - VALUE_A - VALUE_B - VALUE_Cמאפסים את מדיניות הארגון באמצעות הפקודה
reset.gcloud org-policies reset CONSTRAINT_NAME \ --project=PROJECT_IDכדי לאמת את התנהגות ברירת המחדל, מקבלים את המדיניות בפועל:
gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --project=PROJECT_IDהפלט של הפקודה יאפשר את כל הערכים:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - allowAll: true
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון יחולו באופן מלא.
מחיקת מדיניות הארגון
אתם יכולים למחוק מדיניות ארגונית ממשאב. משאב שלא מוגדרת לו מדיניות ארגונית יירש את המדיניות של משאב ההורה שלו. אם תמחקו את מדיניות הארגון במשאב הארגון, המדיניות בפועל תהיה התנהגות ברירת המחדל של האילוץ.
בשלבים הבאים מוסבר איך למחוק מדיניות ארגון בארגון.
מוחקים את המדיניות במשאב הארגון באמצעות הפקודה
delete:gcloud org-policies delete \ CONSTRAINT_NAME \ --organization=ORGANIZATION_IDמחליפים את ORGANIZATION_ID במזהה הייחודי של משאב הארגון. הפלט של הפקודה יהיה:
Deleted policy [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME]. {}כדי לוודא שהמדיניות לא נאכפת, מקבלים את המדיניות בפועל בארגון:
gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --organization=ORGANIZATION_IDהפלט של הפקודה יהיה:
name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME spec: rules: - allowAll: true
בשלבים הבאים מוסבר איך למחוק מדיניות ארגונית בפרויקט:
כדי למחוק את המדיניות בפרויקט, משתמשים בפקודה
delete:gcloud org-policies delete \ CONSTRAINT_NAME \ --project=PROJECT_IDכאשר
PROJECT_IDהוא המזהה הייחודי של הפרויקט. הפלט של הפקודה יהיה:Deleted policy [projects/PROJECT_ID/policies/CONSTRAINT_NAME]. {}כדי לוודא שהמדיניות לא נאכפת, מקבלים את המדיניות בפועל בפרויקט:
gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --project=PROJECT_IDהפלט של הפקודה יהיה:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - allowAll: true
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון יחולו באופן מלא.
שימוש בכללים בוליאניים במדיניות הארגון
הגדרת אכיפה במשאב הארגון
בתהליך הבא מוסבר איך להגדיר מדיניות ארגון עם כללים בוליאניים באמצעות Google Cloud CLI. הוראות לצפייה במדיניות הארגון ולהגדרתה באמצעות מסוף Cloud de Confiance מופיעות במאמר החלת מדיניות הארגון.
כדי לקבל את המדיניות הנוכחית במשאב הארגון, משתמשים בפקודה
describe:gcloud org-policies describe \ CONSTRAINT_NAME \ --organization=ORGANIZATION_IDמחליפים את
ORGANIZATION_IDבמזהה הייחודי של משאב הארגון. אפשר גם להחיל את מדיניות הארגון על תיקייה או על פרויקט באמצעות הדגלים--folderאו--project, ומזהה התיקייה ומזהה הפרויקט, בהתאמה.אם לא מוגדרת מדיניות, הפונקציה תחזיר שגיאה מסוג
NOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.מגדירים את המדיניות בפרויקט באמצעות הפקודה
set-policy.יוצרים קובץ זמני
/tmp/policy.yamlלאחסון המדיניות:name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: trueמריצים את הפקודה
set-policy:gcloud org-policies set-policy /tmp/policy.yaml
כדי לראות את המדיניות האפקטיבית הנוכחית, משתמשים ב-
describe --effective:gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --organization=ORGANIZATION_IDהפלט של הפקודה יהיה:
name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT spec: rules: - enforce: true
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון יחולו באופן מלא.
שינוי מדיניות הארגון בפרויקט
כדי לשנות את מדיניות הארגון לפרויקט, מגדירים מדיניות שמשביתה את האכיפה של האילוץ על כל המשאבים בהיררכיה שמתחת לפרויקט.
מקבלים את המדיניות הנוכחית של המשאב כדי לראות שהיא ריקה.
gcloud org-policies describe \ CONSTRAINT_NAME \ --project=PROJECT_IDכאשר
PROJECT_IDהוא המזהה הייחודי של הפרויקט.אם לא מוגדרת מדיניות, הפונקציה תחזיר שגיאה מסוג
NOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.מאחזרים את המדיניות שנמצאת בתוקף בפרויקט, כדי לוודא שההגבלה נאכפת בפרויקט הזה.
gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --project=PROJECT_IDהפלט של הפקודה יהיה:
name: projects/PROJECT_ID/policies/BOOLEAN_CONSTRAINT spec: rules: - enforce: trueמגדירים את המדיניות בפרויקט באמצעות הפקודה
set-policy.יוצרים קובץ זמני
/tmp/policy.yamlלאחסון המדיניות:name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: falseמריצים את הפקודה
set-policy:gcloud org-policies set-policy /tmp/policy.yaml
כדי להראות שהמדיניות כבר לא נאכפת בפרויקט, מקבלים את המדיניות האפקטיבית.
gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --project=PROJECT_IDהפלט של הפקודה יהיה:
name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT spec: rules: - enforce: false
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון יחולו באופן מלא.
מחיקת מדיניות הארגון
אתם יכולים למחוק מדיניות ארגונית ממשאב. משאב שלא מוגדרת לו מדיניות ארגונית יירש את המדיניות של משאב ההורה שלו. אם תמחקו את מדיניות הארגון במשאב הארגון, המדיניות בפועל תהיה התנהגות ברירת המחדל של האילוצים.
בשלבים הבאים מוסבר איך למחוק מדיניות ארגונית בארגון ובפרויקט.
מוחקים את המדיניות ממשאב הארגון באמצעות הפקודה
delete:gcloud org-policies delete \ CONSTRAINT_NAME \ --organization=ORGANIZATION_IDמחליפים את
ORGANIZATION_IDבמזהה ייחודי של משאב הארגון. הפלט של הפקודה יהיה:Deleted policy [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME]. {}כדי לוודא שהמדיניות לא נאכפת, מקבלים את המדיניות בפועל בארגון:
gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --organization=ORGANIZATION_IDאם לא מוגדרת מדיניות, הפונקציה תחזיר שגיאה מסוג
NOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.מוחקים את מדיניות הארגון מהפרויקט באמצעות הפקודה
delete:gcloud org-policies delete \ CONSTRAINT_NAME \ --project=PROJECT_IDהפלט של הפקודה יהיה:
Deleted policy [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME]. {}כדי לוודא שהמדיניות לא נאכפת, מקבלים את המדיניות בפועל בפרויקט:
gcloud org-policies describe \ CONSTRAINT_NAME --effective \ --project=PROJECT_IDמחליפים את
PROJECT_IDבמזהה הייחודי של הפרויקט.אם לא מוגדרת מדיניות, הפונקציה תחזיר שגיאה מסוג
NOT_FOUND:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון יחולו באופן מלא.
שימוש באילוצים מנוהלים במדיניות הארגון
אילוצים מנוהלים מבוססים על פלטפורמת מדיניות הארגון בהתאמה אישית. הם יכולים להשתמש בסימולטור המדיניות של שירות מדיניות הארגון ולהריץ בדיקה יבשה של מדיניות הארגון כדי לפרוס שינויים במדיניות בצורה בטוחה יותר.
צפייה באילוצים מנוהלים וזיהוי שלהם
כדי לראות את האילוצים המנוהלים שזמינים לארגון שלכם:
המסוף
במסוף Cloud de Confiance , נכנסים לדף מדיניות הארגון.
בכלי לבחירת פרויקטים, בוחרים את הפרויקט, התיקייה או הארגון שרוצים לראות את מדיניות הארגון שלהם. בדף Organization policies שמופיע מוצגת רשימה של אילוצים של מדיניות הארגון שזמינים למשאב הזה.
כדי למצוא אילוצים מנוהלים, אפשר לסנן או למיין את רשימת מדיניות הארגון לפי סוג האילוץ. בוחרים מהרשימה את האילוץ המנוהל שרוצים לראות את הפרטים שלו. בדף פרטי המדיניות שמופיע, אפשר לראות את המקור של מדיניות הארגון הזו, את הערכת המדיניות האפקטיבית במשאב הזה, את ההגדרה הנוכחית של מדיניות הארגון במשאב הזה, פרטים על האילוץ ופרמטרים שמוגדרים כברירת מחדל לאילוצים שמשתמשים בהם.
gcloud
כדי להציג את האילוצים המנוהלים והמותאמים אישית שנאכפים במדיניות הארגון בארגון, משתמשים בפקודה org-policies list-custom-constraints.
gcloud org-policies list-custom-constraints \
--organization=ORGANIZATION_ID
מחליפים את ORGANIZATION_ID במזהה הארגון.
כדי לקבל פרטים על אילוץ מנוהל מסוים של משאב, משתמשים בפקודה org-policies describe-custom-constraint.
gcloud org-policies describe-custom-constraint CONSTRAINT_NAME \
--organization=ORGANIZATION_ID
מחליפים את מה שכתוב בשדות הבאים:
CONSTRAINT_NAME: השם של האילוץ המנוהל שרוצים לקבל פרטים לגביו. לדוגמה,iam.managed.disableServiceAccountKeyUpload.
ORGANIZATION_ID: מזהה הארגון.
REST
כדי להציג את האילוצים המנוהלים והמותאמים אישית שהוגדרו במדיניות הארגון, משתמשים בשיטה organizations.customConstraints.list.
GET https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/customConstraints
מחליפים את ORGANIZATION_ID במזהה הארגון.
יצירה ועדכון של אילוצים מנוהלים
הגדרת המגבלה קובעת את מדיניות הארגון. אפשר להגדיר אותם במשאב, לקבל אותם בירושה ממשאב אב או לאפס אותם להתנהגות ברירת המחדל שמנוהלת על ידי Google.
כדי ליצור או לעדכן מדיניות ארגונית על סמך אילוץ מנוהל, מבצעים את הפעולות הבאות:
המסוף
- במסוף Cloud de Confiance , נכנסים לדף מדיניות הארגון.
בכלי לבחירת פרויקטים, בוחרים את הפרויקט, התיקייה או הארגון שרוצים לערוך את מדיניות הארגון שלהם. בדף Organization policies שמופיע מוצגת רשימה שניתנת לסינון של אילוצים של מדיניות הארגון שזמינים למשאב הזה.
בוחרים מהרשימה את האילוץ המנוהל שרוצים לעדכן במדיניות הארגון.
כדי לעדכן את מדיניות הארגון של המשאב הזה, לוחצים על ניהול המדיניות.
בדף עריכת מדיניות, בוחרים באפשרות במקום המדיניות של המשאב הראשי.
בוחרים באפשרות הוספת כלל.
בקטע Enforcement (אכיפה), בוחרים אם האכיפה של מדיניות הארגון הזו תהיה מופעלת או מושבתת.
אופציונלי: כדי להגדיר את מדיניות הארגון כתלויה בתג, לוחצים על הוספת תנאי. אם מוסיפים כלל מותנה למדיניות הארגון, צריך להוסיף לפחות כלל אחד לא מותנה, אחרת אי אפשר לשמור את המדיניות. פרטים נוספים זמינים במאמר הגדרת היקף של מדיניות ארגונית באמצעות תגים.
אם האילוץ הזה תומך בפרמטרים, הם יופיעו בקטע Parameters (פרמטרים) עם הערכים שהוגדרו. אם הפרמטרים לא הוגדרו, במקומם יופיעו ערכי ברירת המחדל שמנוהלים על ידי Google.
כדי לשנות פרמטר, בוחרים באפשרות עריכה.
- בקטע ערכים, בוחרים באפשרות ברירת מחדל כדי לאפס את ההגבלה הזו ולהשתמש בערכי ברירת המחדל שמנוהלים על ידי Google ולהציג אותם.
בוחרים באפשרות מוגדר על ידי המשתמש כדי להגדיר את הפרמטר.
- לפרמטרים שמקבלים רשימה של ערכים, מזינים ערך בשדה כדי לאפשר או לדחות. בוחרים באפשרות הוספת ערך כדי להוסיף עוד שדות.
הביטוי בשפת Common Expression Language (CEL) שמשמש לאימות ערכי הפרמטרים מתואר בקטע ביטוי ערכים תקינים. כל הערכים שמוגדרים על ידי המשתמש צריכים לעמוד בדרישות של הביטוי הזה.
לפרמטרים בוליאניים, בוחרים באפשרות True או False כדי לקבוע אם להחיל את הפרמטר או לא.
לוחצים על Save.
אופציונלי: כדי לראות תצוגה מקדימה של ההשפעה של השינוי במדיניות הארגון לפני שהוא נאכף, לוחצים על בדיקת שינויים. למידע נוסף על בדיקת שינויים במדיניות הארגון, אפשר לעיין במאמר בדיקת שינויים במדיניות הארגון באמצעות סימולטור המדיניות.
כדי לאכוף את המדיניות של הארגון במצב הרצת בדיקה, לוחצים על הגדרת מדיניות להרצת בדיקה. מידע נוסף זמין במאמר בנושא בדיקת מדיניות הארגון.
אחרי שמוודאים שמדיניות הארגון במצב הרצה יבשה פועלת כמו שרוצים, לוחצים על הגדרת מדיניות כדי להגדיר את המדיניות הפעילה.
gcloud
יוצרים קובץ YAML כדי להגדיר את מדיניות הארגון. אם האילוץ הזה לא תומך בפרמטרים, משמיטים את הבלוק
parametersמתחת ל-rules.name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: ENFORCEMENT_STATE parameters: LIST_PARAMETER: - LIST_VALUE_1 - LIST_VALUE_2 BOOLEAN_PARAMETER: BOOLEAN_VALUE dryRunSpec: rules: - enforce: ENFORCEMENT_STATE parameters: LIST_PARAMETER: - LIST_VALUE_1 - LIST_VALUE_2 BOOLEAN_PARAMETER: BOOLEAN_VALUEמחליפים את מה שכתוב בשדות הבאים:
RESOURCE_TYPEעםorganizations,foldersאוprojects.
RESOURCE_IDעם מזהה הארגון, מזהה התיקייה, מזהה הפרויקט או מספר הפרויקט, בהתאם לסוג המשאב שצוין ב-RESOURCE_TYPE.
CONSTRAINT_NAMEבשם האילוץ שרוצים להגדיר.
ENFORCEMENT_STATEעםtrueכדי לאכוף את מדיניות הארגון הזו כשהיא מוגדרת, אוfalseכדי להשבית אותה כשהיא מוגדרת.
LIST_PARAMETERבשם של פרמטר הרשימה שרוצים להגדיר. ברשימת הפרמטרים הזמינים מפורט תיאור של האילוץ.
LIST_VALUE_1,LIST_VALUE_2וערכים אחרים ברשימה עם רשימה של ערכים לאישור או לדחייה, בהתאם להגדרה של הפרמטר הזה. פרטים על הערכים הקבילים מופיעים בתיאור של האילוץ.
BOOLEAN_PARAMETERבשם של הפרמטר הבוליאני שרוצים להגדיר. ברשימת הפרמטרים הזמינים מפורט תיאור של האילוץ.
BOOLEAN_VALUEעםTrueאוFalse.
אופציונלי: כדי להגדיר את מדיניות הארגון כתלויה בתג, מוסיפים בלוק
conditionל-rules. אם מוסיפים כלל מותנה למדיניות הארגון, צריך להוסיף לפחות כלל אחד לא מותנה, אחרת אי אפשר לשמור את המדיניות. פרטים נוספים זמינים במאמר הגדרת היקף של מדיניות ארגונית באמצעות תגים.מריצים את הפקודה
org-policies set-policyעם הדגלdryRunSpecכדי להגדיר את מדיניות הארגון במצב הרצה יבשה:gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpecמחליפים את
POLICY_PATHבנתיב המלא לקובץ ה-YAML של מדיניות הארגון.מידע נוסף על מדיניות ארגון בהרצה יבשה זמין במאמר בנושא בדיקת מדיניות ארגון.
אפשר להשתמש בפקודה
policy-intelligence simulate orgpolicyכדי לראות תצוגה מקדימה של ההשפעה של שינוי במדיניות הארגון לפני שהוא נאכף:gcloud policy-intelligence simulate orgpolicy \ --organization=ORGANIZATION_ID \ --policies=POLICY_PATHמחליפים את מה שכתוב בשדות הבאים:
ORGANIZATION_IDבמזהה הארגון, למשל1234567890123. אין תמיכה בהדמיית שינויים בכמה ארגונים.
POLICY_PATHעם הנתיב המלא לקובץ ה-YAML של מדיניות הארגון.
למידע נוסף על בדיקת שינויים במדיניות הארגון, ראו בדיקת שינויים במדיניות הארגון באמצעות סימולטור המדיניות.
אחרי שמוודאים שמדיניות הארגון במצב הרצה יבשה פועלת כמצופה, מגדירים את המדיניות הפעילה באמצעות הפקודה
org-policies set-policyוהדגלspec:gcloud org-policies set-policy POLICY_PATH \ --update-mask=specמחליפים את
POLICY_PATHבנתיב המלא לקובץ ה-YAML של מדיניות הארגון.
REST
כדי להגדיר את מדיניות הארגון, משתמשים בשיטה organizations.policies.create.
POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies
גוף בקשת ה-JSON מכיל את ההגדרה של מדיניות הארגון.
אם האילוץ הזה לא תומך בפרמטרים, משמיטים את הבלוק parameters מתחת ל-rules.
{
"name": "RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME",
"spec": {
"rules": [
{
"enforce": ["ENFORCEMENT_STATE"],
"parameters": {
"LIST_PARAMETER": [
"LIST_VALUE_1",
"LIST_VALUE_2"
],
BOOLEAN_PARAMETER: BOOLEAN_VALUE
}
}
]
}
"dryRunSpec": {
"rules": [
{
"enforce": ["ENFORCEMENT_STATE"],
"parameters": {
"LIST_PARAMETER": [
"LIST_VALUE_1",
"LIST_VALUE_2"
],
BOOLEAN_PARAMETER: BOOLEAN_VALUE
}
}
]
}
}
מחליפים את מה שכתוב בשדות הבאים:
RESOURCE_TYPEעםorganizations,foldersאוprojects.
RESOURCE_IDעם מזהה הארגון, מזהה התיקייה, מזהה הפרויקט או מספר הפרויקט, בהתאם לסוג המשאב שצוין ב-RESOURCE_TYPE.
CONSTRAINT_NAMEבשם האילוץ שרוצים להגדיר.
ENFORCEMENT_STATEעםtrueכדי לאכוף את מדיניות הארגון הזו כשהיא מוגדרת, אוfalseכדי להשבית אותה כשהיא מוגדרת.
LIST_PARAMETERבשם של פרמטר הרשימה שרוצים להגדיר. ברשימת הפרמטרים הזמינים מפורט תיאור של האילוץ.
LIST_VALUE_1,LIST_VALUE_2וערכים אחרים ברשימה עם רשימה של ערכים לאישור או לדחייה, בהתאם להגדרה של הפרמטר הזה. פרטים על הערכים הקבילים מופיעים בתיאור של האילוץ.
BOOLEAN_PARAMETERבשם של הפרמטר הבוליאני שרוצים להגדיר. ברשימת הפרמטרים הזמינים מפורט תיאור של האילוץ.
BOOLEAN_VALUEעםTrueאוFalse.
אופציונלי: כדי להגדיר את מדיניות הארגון כתלויה בתג, מוסיפים בלוק condition ל-rules. אם מוסיפים כלל מותנה למדיניות הארגון, צריך להוסיף לפחות כלל אחד לא מותנה, אחרת אי אפשר לשמור את המדיניות. פרטים נוספים זמינים במאמר הגדרת היקף של מדיניות ארגונית באמצעות תגים.
מידע נוסף על מדיניות ארגון בהרצה יבשה זמין במאמר בנושא בדיקת מדיניות ארגון.
יכול להיות שיחלפו עד 15 דקות עד שהשינויים במדיניות הארגון יחולו באופן מלא.