יצירת מדיניות ארגונית

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

מידע נוסף על אילוצים ועל הבעיות שהם פותרים זמין ברשימה של כל האילוצים של 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, מבצעים את השלבים הבאים:

  1. מריצים את הפקודה 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.
    
  2. מגדירים את המדיניות בארגון באמצעות הפקודה set-policy. המדיניות הזו מחליפה כל מדיניות שמצורפת למשאב.

    1. יוצרים קובץ זמני /tmp/policy.yaml לאחסון המדיניות:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - values:
            deniedValues:
            - VALUE_A
      
    2. מריצים את הפקודה set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. כדי לראות את המדיניות האפקטיבית הנוכחית, משתמשים בפקודה 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 וכל צאצאיו.

  1. כדי לקבל את המדיניות הנוכחית במשאב הארגון, מריצים את הפקודה 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.
    
  2. מגדירים את המדיניות בפרויקט באמצעות הפקודה set-policy. הקידומת under: מגדירה את האילוץ כך שידחה את המשאב שצוין ואת כל משאבי הצאצא שלו.

    1. יוצרים קובץ זמני /tmp/policy.yaml לאחסון המדיניות:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - values:
            deniedValues:
            - under:folders/VALUE_A
      
    2. מריצים את הפקודה set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      

    כאשר:

    • under: הוא קידומת שמציינת שהמחרוזת הבאה היא מחרוזת של עץ משנה.

    • folders/VALUE_A הוא מזהה התיקייה של משאב הבסיס שרוצים לחסום. הגישה למשאב הזה ולכל משאבי הצאצא שלו בהיררכיית המשאבים תיחסם.

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

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

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

מיזוג מדיניות הארגון בפרויקט

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

  1. מקבלים את המדיניות הנוכחית של המשאב באמצעות הפקודה 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.
    
  2. מציגים את המדיניות האפקטיבית הנוכחית באמצעות הפקודה 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
    
  3. מגדירים את המדיניות בפרויקט באמצעות הפקודה set-policy.

    1. יוצרים קובץ זמני /tmp/policy.yaml לאחסון המדיניות:

      name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
      spec:
        inheritFromParent: true
        rules:
        - values:
            deniedValues:
            - VALUE_B
            - VALUE_C
      
    2. מריצים את הפקודה set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. משתמשים שוב בפקודה 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 כדי לאפס את המדיניות כך שתשתמש בהתנהגות ברירת המחדל של האילוץ. רשימה של כל המגבלות הזמינות וערכי ברירת המחדל שלהן מופיעה במאמר בנושא מגבלות שקשורות למדיניות הארגון. בדוגמה הבאה מניחים שברירת המחדל של התנהגות ההגבלה היא לאפשר את כל הערכים.

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

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

    gcloud org-policies reset CONSTRAINT_NAME \
        --project=PROJECT_ID
    
  3. כדי לאמת את התנהגות ברירת המחדל, מקבלים את המדיניות בפועל:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    הפלט של הפקודה יאפשר את כל הערכים:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

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

מחיקת מדיניות הארגון

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

בשלבים הבאים מוסבר איך למחוק מדיניות ארגון בארגון.

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

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    מחליפים את ORGANIZATION_ID במזהה הייחודי של משאב הארגון. הפלט של הפקודה יהיה:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. כדי לוודא שהמדיניות לא נאכפת, מקבלים את המדיניות בפועל בארגון:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    הפלט של הפקודה יהיה:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

בשלבים הבאים מוסבר איך למחוק מדיניות ארגונית בפרויקט:

  1. כדי למחוק את המדיניות בפרויקט, משתמשים בפקודה delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    כאשר PROJECT_ID הוא המזהה הייחודי של הפרויקט. הפלט של הפקודה יהיה:

    Deleted policy
    [projects/PROJECT_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. כדי לוודא שהמדיניות לא נאכפת, מקבלים את המדיניות בפועל בפרויקט:

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

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

    1. יוצרים קובץ זמני /tmp/policy.yaml לאחסון המדיניות:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - enforce: true
      
    2. מריצים את הפקודה set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. כדי לראות את המדיניות האפקטיבית הנוכחית, משתמשים ב-describe --effective:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    הפלט של הפקודה יהיה:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: true
    

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

שינוי מדיניות הארגון בפרויקט

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

  1. מקבלים את המדיניות הנוכחית של המשאב כדי לראות שהיא ריקה.

    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.
    
  2. מאחזרים את המדיניות שנמצאת בתוקף בפרויקט, כדי לוודא שההגבלה נאכפת בפרויקט הזה.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    הפלט של הפקודה יהיה:

    name: projects/PROJECT_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: true
    
  3. מגדירים את המדיניות בפרויקט באמצעות הפקודה set-policy.

    1. יוצרים קובץ זמני /tmp/policy.yaml לאחסון המדיניות:

      name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - enforce: false
      
    2. מריצים את הפקודה set-policy:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. כדי להראות שהמדיניות כבר לא נאכפת בפרויקט, מקבלים את המדיניות האפקטיבית.

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    הפלט של הפקודה יהיה:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: false
    

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

מחיקת מדיניות הארגון

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

בשלבים הבאים מוסבר איך למחוק מדיניות ארגונית בארגון ובפרויקט.

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

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    מחליפים את ORGANIZATION_ID במזהה ייחודי של משאב הארגון. הפלט של הפקודה יהיה:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. כדי לוודא שהמדיניות לא נאכפת, מקבלים את המדיניות בפועל בארגון:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    אם לא מוגדרת מדיניות, הפונקציה תחזיר שגיאה מסוג NOT_FOUND:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  3. מוחקים את מדיניות הארגון מהפרויקט באמצעות הפקודה delete:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    הפלט של הפקודה יהיה:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  4. כדי לוודא שהמדיניות לא נאכפת, מקבלים את המדיניות בפועל בפרויקט:

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

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

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

צפייה באילוצים מנוהלים וזיהוי שלהם

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

המסוף

  1. במסוף Cloud de Confiance , נכנסים לדף מדיניות הארגון.

    מעבר למדיניות הארגון

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

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

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.

כדי ליצור או לעדכן מדיניות ארגונית על סמך אילוץ מנוהל, מבצעים את הפעולות הבאות:

המסוף

  1. במסוף Cloud de Confiance , נכנסים לדף מדיניות הארגון.

מעבר למדיניות הארגון

  1. בכלי לבחירת פרויקטים, בוחרים את הפרויקט, התיקייה או הארגון שרוצים לערוך את מדיניות הארגון שלהם. בדף Organization policies שמופיע מוצגת רשימה שניתנת לסינון של אילוצים של מדיניות הארגון שזמינים למשאב הזה.

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

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

  4. בדף עריכת מדיניות, בוחרים באפשרות במקום המדיניות של המשאב הראשי.

  5. בוחרים באפשרות הוספת כלל.

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

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

  8. אם האילוץ הזה תומך בפרמטרים, הם יופיעו בקטע Parameters (פרמטרים) עם הערכים שהוגדרו. אם הפרמטרים לא הוגדרו, במקומם יופיעו ערכי ברירת המחדל שמנוהלים על ידי Google.

    כדי לשנות פרמטר, בוחרים באפשרות עריכה.

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

    בוחרים באפשרות מוגדר על ידי המשתמש כדי להגדיר את הפרמטר.

    1. לפרמטרים שמקבלים רשימה של ערכים, מזינים ערך בשדה כדי לאפשר או לדחות. בוחרים באפשרות הוספת ערך כדי להוסיף עוד שדות.

    הביטוי בשפת Common Expression Language ‏ (CEL) שמשמש לאימות ערכי הפרמטרים מתואר בקטע ביטוי ערכים תקינים. כל הערכים שמוגדרים על ידי המשתמש צריכים לעמוד בדרישות של הביטוי הזה.

    1. לפרמטרים בוליאניים, בוחרים באפשרות True או False כדי לקבוע אם להחיל את הפרמטר או לא.

    2. לוחצים על Save.

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

  10. כדי לאכוף את המדיניות של הארגון במצב הרצת בדיקה, לוחצים על הגדרת מדיניות להרצת בדיקה. מידע נוסף זמין במאמר בנושא בדיקת מדיניות הארגון.

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

gcloud

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

  2. מריצים את הפקודה org-policies set-policy עם הדגל dryRunSpec כדי להגדיר את מדיניות הארגון במצב הרצה יבשה:

     gcloud org-policies set-policy POLICY_PATH \
       --update-mask=dryRunSpec
    

    מחליפים את POLICY_PATH בנתיב המלא לקובץ ה-YAML של מדיניות הארגון.

    מידע נוסף על מדיניות ארגון בהרצה יבשה זמין במאמר בנושא בדיקת מדיניות ארגון.

  3. אפשר להשתמש בפקודה policy-intelligence simulate orgpolicy כדי לראות תצוגה מקדימה של ההשפעה של שינוי במדיניות הארגון לפני שהוא נאכף:

    gcloud policy-intelligence simulate orgpolicy \
      --organization=ORGANIZATION_ID \
      --policies=POLICY_PATH
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ORGANIZATION_ID במזהה הארגון, למשל 1234567890123. אין תמיכה בהדמיית שינויים בכמה ארגונים.

    • POLICY_PATH עם הנתיב המלא לקובץ ה-YAML של מדיניות הארגון.

    למידע נוסף על בדיקת שינויים במדיניות הארגון, ראו בדיקת שינויים במדיניות הארגון באמצעות סימולטור המדיניות.

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