Google Cloud מדיניות הארגון מאפשרת לכם שליטה מרוכזת ופרוגרמטית על המשאבים של הארגון. אדמינים של מדיניות הארגון יכולים להגדיר מדיניות ארגונית, שהיא קבוצה של הגבלות שנקראות אילוצים, שחלות על משאבים ב-Google Cloud היררכיית המשאבים ב- Google Cloud ועל משאבים שנגזרים מהם. אפשר לאכוף את מדיניות הארגון ברמת הארגון, התיקייה או הפרויקט.
השירות Organization Policy מספק מגבלות מוגדרות מראש לשירותים שונים שלGoogle Cloud . עם זאת, אם אתם רוצים שליטה מפורטת יותר בשדות הספציפיים שמוגבלים בכללי המדיניות של הארגון, אתם יכולים גם ליצור אילוצים מותאמים אישית. כדי להטמיע אילוץ מותאם אישית ב-CCAI Platform, צריך להגדיר את המופעים לגישה פרטית. ההגדרה הזו מגבילה את הגישה לאינטרנט הציבורי למופעים האלה, ולכן צריך להגדיר Private Service Connect כדי שהסוכנים, המנהלים והאדמינים של פלטפורמת CCAI יוכלו לגשת אליהם. מידע נוסף זמין במאמר בנושא הגדרת Private Service Connect.
יתרונות
מדיניות ארגונית ל-CCAI Platform מאפשרת לאדמינים לאכוף מגבלות ברמת הארגון על נתיבי רשת שלא מכוסים על ידי VPC Service Controls. Google Cloudבנוסף, כללי המדיניות הארגוניים האלה מאפשרים שליטה פרטנית בנתיבי הכניסה והיציאה על ידי חלוקת תנועת הרשת לרכיבים. מידע נוסף מופיע במאמר רכיבים.
העברה בירושה של מדיניות
כברירת מחדל, מדיניות הארגון עוברת בירושה לצאצאים של המשאבים שבהם אתם אוכפים את המדיניות. לדוגמה, אם אוכפים מדיניות בתיקייה, Google Cloud המדיניות נאכפת בכל הפרויקטים בתיקייה. מידע נוסף על ההתנהגות הזו ועל שינוי שלה זמין במאמר בנושא כללי הערכה היררכיים.
תמחור
שירות מדיניות הארגון, כולל מדיניות ארגון מוגדרת מראש ומותאמת אישית, מוצע ללא תשלום.
מגבלות
פלטפורמת CCAI לא משולבת עם Cloud Asset Inventory, ולכן התכונה Policy Simulator של Policy Intelligence לא זמינה למדיניות הארגון של פלטפורמת CCAI.
לפני שמתחילים
לפני שמתחילים, צריך לבצע את הפעולות הבאות:
- פועלים לפי השלבים במאמר הגדרת פרויקט Google Cloud ב-CCAI Platform.
- כדי להתקין ולהפעיל את Google Cloud ה-CLI, מבצעים את הפעולות הבאות:
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init
-
- חשוב לוודא שאתם יודעים מהו מספר הארגון שלכם.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול מדיניות הארגון, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- אדמין של מדיניות הארגון (
roles/orgpolicy.policyAdmin) במשאב הארגון -
כדי לקבל גישה מלאה למשאבים של CCAI Platform:
אדמין של Contact Center AI Platform (
roles/contactcenteraiplatform.admin) במשאב הפרויקט -
כדי להפעיל, להשבית ולבדוק את מצבי השירות, לבדוק פעולות ולצרוך מכסה וחיובים בפרויקט צרכן:
Service Usage Admin (
roles/serviceusage.serviceUsageAdmin) on the project resource
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה כוללים את ההרשאות שנדרשות לניהול מדיניות הארגון. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לנהל את מדיניות הארגון, נדרשות ההרשאות הבאות:
-
orgpolicy.customConstraints.get -
orgpolicy.customConstraints.list -
orgpolicy.customConstraints.create -
orgpolicy.customConstraints.update -
orgpolicy.customConstraints.delete
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
רכיבים
משתמשים ברכיבים כשיוצרים אילוצים בהתאמה אישית במופעים של CCAI Platform. רכיבים הם הפשטות של נתיבי רשת שמשויכים לפונקציות ספציפיות של CCAI Platform. לדוגמה, הרכיב agent מייצג את קבוצת כל נתיבי הרשת של התנועה הנכנסת שקשורים למשימות שמבצעים סוכן, מנהל או אדמין של CCAI Platform.
בטבלה הבאה מפורטים הרכיבים שמשמשים באילוצים בהתאמה אישית ב-CCAI Platform:
| רכיב | תיאור | כיוון התנועה | ערך לדוגמה |
|---|---|---|---|
AGENT |
קבוצת כל נתיבי הרשת של התנועה הנכנסת שקשורים למשימות שמבצעים סוכן, מנהל או אדמין של פלטפורמת CCAI. | תעבורת נתונים נכנסת (Ingress) | AGENT |
CRM |
תנועה יוצאת לאפליקציה לניהול קשרי לקוחות (CRM). | תעבורת נתונים יוצאת (egress) | CRM |
MEDIA |
תנועת מדיה יוצאת (egress). | תעבורת נתונים יוצאת (egress) | MEDIA |
DIRECT_ACCESS_POINT |
תנועת יציאה לנקודת קצה (endpoint) של גישה ישירה (DAP). | תעבורת נתונים יוצאת (egress) | DIRECT_ACCESS_POINT |
EMAIL |
תנועה יוצאת (egress) של אימיילים. | תעבורת נתונים יוצאת (egress) | EMAIL |
COBROWSE |
תנועת יציאה של שיתוף מסך. | תעבורת נתונים יוצאת (egress) | COBROWSE |
יצירת אילוץ בהתאמה אישית
אילוץ בהתאמה אישית מוגדר בקובץ YAML לפי המשאבים, השיטות, התנאים והפעולות שנתמכים על ידי השירות שבו אתם אוכפים את מדיניות הארגון. התנאים לאילוצים המותאמים אישית מוגדרים באמצעות Common Expression Language (CEL). מידע נוסף על יצירת תנאים באילוצים מותאמים אישית באמצעות CEL זמין בקטע על CEL במאמר יצירה וניהול של אילוצים מותאמים אישית.
כדי להגדיר אילוץ בהתאמה אישית בקובץ YAML ל-CCAI Platform, מבצעים את השלבים הבאים:
יוצרים קובץ טקסט שמכיל את השורות הבאות:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: - contactcenteraiplatform.googleapis.com/ContactCenter methodTypes: - CREATE - UPDATE condition: "CONDITION" actionType: ACTION_TYPE displayName: "DISPLAY_NAME" description: "DESCRIPTION"מחליפים את מה שכתוב בשדות הבאים:
ORGANIZATION_ID: מזהה הארגון.
CONSTRAINT_NAME: השם של האילוץ המותאם אישית. אילוץ מותאם אישית צריך להתחיל בקידומתcustom., ויכול לכלול רק אותיות גדולות, אותיות קטנות או מספרים – לדוגמה,custom.requirePrivateAccess. האורך המקסימלי של השדה הוא 70 תווים, לא כולל הקידומת.
CONDITION: תנאי CEL שנכתב על סמך ייצוג של משאב שירות נתמך – לדוגמה,resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT'). האורך המקסימלי של השדה הוא 1,000 תווים. מידע נוסף על המשאבים שאפשר לכתוב תנאים לגביהם זמין במאמר משאבים ופעולות נתמכים ב-CCAI Platform. מידע נוסף על רכיבים זמין במאמר רכיבים.
ACTION_TYPE: הפעולה שיש לבצע אם התנאיconditionמתקיים. מציינים אתALLOW.
DISPLAY_NAME: שם קריא לאנשים של האילוץ. האורך המקסימלי של השדה הוא 200 תווים.
DESCRIPTION: תיאור ידידותי למשתמש של האילוץ, שיוצג כהודעת שגיאה אם המדיניות תופר. האורך המקסימלי של השדה הוא 2,000 תווים.
שומרים את האילוץ בהתאמה אישית כקובץ YAML, למשל
customconstraint.yaml. משתמשים בנתיב לקובץ הזה כערך של המשתנהCONSTRAINT_PATHבמאמר הגדרת אילוץ בהתאמה אישית.
מידע נוסף על מדיניות ארגונית בהתאמה אישית ועל תחביר של אילוצים זמין במאמר דוגמאות למדיניות ארגונית בהתאמה אישית לתרחישי שימוש נפוצים.
הגדרת אילוץ בהתאמה אישית
המסוף
כדי ליצור אילוץ בהתאמה אישית:
- נכנסים לדף Organization policies במסוף Google Cloud .
- בבורר הפרויקטים, בוחרים את הפרויקט שרוצים להגדיר לו את מדיניות הארגון.
- לוחצים על Custom constraint (הגבלה מותאמת אישית).
- בתיבה שם לתצוגה, מזינים שם שאנשים יכולים לקרוא למגבלה. השם הזה משמש בהודעות שגיאה, ואפשר להשתמש בו לצורך זיהוי וניפוי באגים. אל תשתמשו בפרטים אישיים מזהים (PII) או בנתונים רגישים בשמות לתצוגה, כי השם הזה עלול להיחשף בהודעות שגיאה. השדה הזה יכול להכיל עד 200 תווים.
-
בתיבה Constraint ID (מזהה ההגבלה), מזינים את המזהה שרוצים להגדיר להגבלה החדשה בהתאמה אישית. אילוץ מותאם אישית יכול להכיל רק אותיות (כולל אותיות גדולות וקטנות) או מספרים, למשל
custom.requirePrivateAccess. השדה הזה יכול להכיל עד 70 תווים, לא כולל הקידומת (custom.), לדוגמה,organizations/123456789/customConstraints/custom. אל תכללו פרטים אישיים מזהים (PII) או נתונים רגישים במזהה האילוץ, כי הם עלולים להיחשף בהודעות שגיאה. - בתיבה Description, מזינים תיאור של האילוץ שקל לאנשים לקרוא. התיאור הזה משמש כהודעת שגיאה כשמתרחשת הפרה של המדיניות. לכלול פרטים על הסיבה להפרת המדיניות ואיך לפתור אותה. אל תכללו בתיאור פרטים אישיים מזהים (PII) או מידע רגיש, כי הם עלולים להיחשף בהודעות שגיאה. השדה הזה יכול להכיל עד 2,000 תווים.
-
בתיבה Resource type, בוחרים את השם של Google Cloud משאב REST
שמכיל את האובייקט והשדה שרוצים להגביל – לדוגמה,
container.googleapis.com/NodePool. רוב סוגי המשאבים תומכים בעד 20 אילוצים מותאמים אישית. אם תנסו ליצור עוד אילוצים בהתאמה אישית, הפעולה תיכשל. -
אפשר לאכוף את ההגבלה הזו רק בשיטת REST
CREATE. - כדי להגדיר תנאי, לוחצים על Edit condition.
-
בחלונית Add condition, יוצרים תנאי CEL שמתייחס למשאב שירות נתמך, לדוגמה,
resource.management.autoUpgrade == false. השדה הזה יכול להכיל עד 1,000 תווים. פרטים על השימוש ב-CEL זמינים במאמר בנושא Common Expression Language. מידע נוסף על משאבי השירות שאפשר להשתמש בהם באילוצים בהתאמה אישית זמין במאמר שירותים שתומכים באילוצים בהתאמה אישית. - לוחצים על Save.
- בקטע פעולה, בוחרים אם לאשר או לדחות את השיטה שנבדקה אם התנאי מתקיים.
- לוחצים על יצירת אילוץ.
כדי לראות את השיטות הנתמכות לכל שירות, מחפשים את השירות בקטע שירותים שתומכים באילוצים בהתאמה אישית.
הפעולה deny (דחייה) פירושה שהפעולה ליצירה או לעדכון של המשאב נחסמת אם התנאי מוערך כ-True.
הפעולה allow (אישור) אומרת שהפעולה ליצירה או לעדכון של המשאב מותרת רק אם התנאי מחזיר את הערך true. כל מקרה אחר, מלבד אלה שמפורטים במפורש בתנאי, נחסם.
אחרי שמזינים ערך בכל שדה, מופיעה משמאל הגדרת ה-YAML המקבילה לאילוץ המותאם אישית הזה.
gcloud
- כדי ליצור אילוץ בהתאמה אישית, יוצרים קובץ YAML בפורמט הבא:
-
ORGANIZATION_ID: מזהה הארגון, למשל123456789. -
CONSTRAINT_NAME: השם שרוצים לתת לאילוץ המותאם אישית החדש. אילוץ מותאם אישית יכול להכיל רק אותיות (כולל אותיות רישיות וקטנות) או מספרים, למשל,custom.requirePrivateAccess. השדה הזה יכול להכיל עד 70 תווים, לא כולל הקידומת (custom.) – לדוגמה,organizations/123456789/customConstraints/custom. אל תכללו פרטים אישיים מזהים (PII) או נתונים רגישים במזהה האילוץ, כי הם עלולים להיחשף בהודעות שגיאה. -
RESOURCE_NAME: השם המלא של המשאב Google Cloudשמכיל את האובייקט והשדה שרוצים להגביל. לדוגמה:contactcenteraiplatform.googleapis.com/ContactCenter. רוב סוגי המשאבים תומכים בעד 20 אילוצים מותאמים אישית. אם תנסו ליצור עוד אילוצים בהתאמה אישית, הפעולה תיכשל. -
methodTypes: שיטות ה-REST שבהן האילוץ נאכף. הערך יכול להיות רקCREATE. -
CONDITION: תנאי CEL שנכתב על סמך ייצוג של משאב שירות נתמך. השדה הזה יכול להכיל עד 1,000 תווים. לדוגמה:.resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT') -
ACTION: הפעולה שתתבצע אם התנאיconditionיתקיים. הערך יכול להיות רקALLOW. -
DISPLAY_NAME: שם קריא לאנשים של האילוץ. השם הזה מופיע בהודעות שגיאה ויכול לשמש לזיהוי ולניפוי באגים. אל תשתמשו בפרטים אישיים מזהים (PII) או בנתונים רגישים בשמות המוצגים, כי השם הזה עלול להיחשף בהודעות שגיאה. השדה הזה יכול להכיל עד 200 תווים. -
DESCRIPTION: תיאור ידידותי למשתמש של האילוץ שיוצג כהודעת שגיאה אם המדיניות תופר. השדה הזה יכול להכיל עד 2,000 תווים. -
אחרי שיוצרים קובץ YAML לאילוץ חדש בהתאמה אישית, צריך להגדיר אותו כדי שיהיה זמין למדיניות הארגון בארגון שלכם. כדי להגדיר אילוץ בהתאמה אישית, משתמשים בפקודה
gcloud org-policies set-custom-constraint: -
כדי לוודא שהאילוץ המותאם אישית קיים, משתמשים בפקודה
gcloud org-policies list-custom-constraints:
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: RESOURCE_NAME methodTypes: - CREATE condition: "CONDITION" actionType: ACTION displayName: DISPLAY_NAME description: DESCRIPTION
מחליפים את מה שכתוב בשדות הבאים:
כדי לראות את השיטות הנתמכות לכל שירות, מחפשים את השירות ב שירותים שתומכים באילוצים בהתאמה אישית.
מידע נוסף על המשאבים שאפשר לכתוב תנאים לגביהם זמין במאמר משאבים נתמכים.
הפעולה allow (אישור) אומרת שאם התנאי מקבל את הערך True, הפעולה ליצירה או לעדכון של המשאב מותרת. המשמעות היא שכל מקרה אחר, חוץ מהמקרה שמופיע במפורש בתנאי, ייחסם.
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
מחליפים את CONSTRAINT_PATH בנתיב המלא לקובץ האילוצים המותאמים אישית. לדוגמה, /home/user/customconstraint.yaml.
אחרי שהפעולה הזו תושלם, האילוצים המותאמים אישית יהיו זמינים כמדיניות ארגונית ברשימת Google Cloud מדיניות הארגון.
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
מחליפים את ORGANIZATION_ID במזהה של משאב הארגון.
מידע נוסף זמין במאמר בנושא צפייה במדיניות הארגון.
החלת אילוץ מותאם אישית
כדי לאכוף אילוץ בוליאני, יוצרים מדיניות ארגון שמפנה אליו ומחילים את מדיניות הארגון הזו על משאב Google Cloud .
כדי לאכוף אילוץ בהתאמה אישית:
כדי ליצור מדיניות ארגונית שמחילה אילוץ בוליאני, יוצרים קובץ YAML של מדיניות שמפנה לאילוץ הבא:
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: trueמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שבו רוצים לאכוף את ההגבלה. -
CONSTRAINT_NAME: השם שהגדרתם לאילוץ המותאם אישית, לדוגמהcustom.requirePrivateAccess.
-
כדי לאכוף את מדיניות הארגון שמכילה את האילוץ, מריצים את הפקודה הבאה:
gcloud org-policies set-policy POLICY_PATHמחליפים את
POLICY_PATHבנתיב המלא לקובץ ה-YAML של מדיניות הארגון. יחלפו עד 15 דקות עד שהמדיניות תיכנס לתוקף.
בדיקת האילוץ המותאם אישית
אילוצים מותאמים אישית, כמו שמוגדר ביצירת אילוץ מותאם אישית (עם רכיב מסוג AGENT, כמו בדוגמה בתיאור של CONDITION), אוכפים את ההתנהגויות הבאות:
יצירה או עדכון של מופע עם רכיב מהסוג
AGENTמצליחים. מידע נוסף זמין במאמר בנושא יצירה ועדכון של מופע של CCAI Platform עם רכיב מסוגAGENT.יצירה או עדכון של מופע ללא רכיב מסוג
AGENTייכשלו. מידע נוסף זמין במאמרים יצירת מופע של CCAI Platform ללא רכיב מסוגAGENTועדכון מופע של CCAI Platform ללא רכיב מסוגAGENT.
יצירה ועדכון של מופע של CCAI Platform עם רכיב מסוג AGENT
כדי לבדוק יצירה ועדכון של מופע CCAI Platform עם רכיב מסוג AGENT, פועלים לפי השלבים הבאים:
ליצור, להגדיר ולאכוף אילוץ מותאם אישית לפי ההוראות במסמך הזה.
יוצרים מכונה לפי ההוראות במאמר יצירת מכונת CCAI Platform שמוגדרת לגישה פרטית. יצירת המופע מסתיימת בהצלחה.
כדי לעדכן את המופע:
בתפריט הניווט במסוף Google Cloud , לוחצים על CCAI Platform.
מופעים של Contact Center AI Platform
מוצג הדף CCAI Platform instances.
לוחצים על השם של המכונה שיצרתם קודם בתהליך הזה.
לוחצים על עריכה ואז על הגדרת פריסות.
משנים את לוח הזמנים לפריסה ולוחצים על שמירה. העדכון בוצע בהצלחה.
מכיוון שיצרתם מופע פרטי של CCAI Platform, אתם צריכים להגדיר חיבור Private Service Connect כדי לגשת אליו.
יצירת מופע של CCAI Platform ללא רכיב מסוג AGENT
כדי לבדוק יצירה ועדכון של מופע של CCAI Platform ללא רכיב מסוג AGENT, מבצעים את השלבים הבאים:
ליצור, להגדיר ולאכוף אילוץ מותאם אישית לפי ההוראות במסמך הזה.
מנסים ליצור מכונה כמו שמתואר במאמר יצירת מכונה של CCAI Platform, בלי להגדיר גישה פרטית. יצירת המופע נכשלת.
עדכון מופע של CCAI Platform ללא רכיב מסוג AGENT
כפי שמוסבר במאמר יצירת מופע של CCAI Platform ללא רכיב מסוג AGENT, אי אפשר ליצור מופע ללא רכיב מסוג AGENT אחרי שמפעילים את האילוץ המותאם אישית. אם כבר הייתה לכם דוגמה כזו לפני שאכפתם את האילוץ המותאם אישית, אחרי אכיפת האילוץ, העדכונים של הדוגמה ייכשלו (אלא אם העדכונים כוללים הוספה של רכיב מהסוג AGENT – ראו את ההערה הבאה).
משאבים ופעולות נתמכים ב-CCAI Platform
בטבלה הבאה מפורטים המשאבים והפעולות הנתמכים במגבלות בהתאמה אישית של מדיניות הארגון.
| משאב | פעולה | מאפיין | אופרטור | תנאי לדוגמה |
|---|---|---|---|---|
| ContactCenter | יוצרים או מעדכנים מכונה. מידע נוסף זמין במאמר בנושא יצירת מכונת CCAI Platform. | name | מכיל | resource.name.contains("us-central1/contactCenters/myContactCenter") |
| תואם את | resource.name.matches("projects/my-project/locations/us-central1/contactCenters/myContactCenter") |
|||
| startsWith | resource.name.startsWith("projects/my-project") |
|||
| endsWith | resource.name.endsWith("myContactCenter") |
|||
| privateAccess | קיים |
resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT')
בודקים שהרכיב |
דוגמאות למדיניות מותאמת אישית של הארגון לתרחישים נפוצים
בטבלה הבאה מפורט התחביר של כמה כללי מדיניות ארגוניים בהתאמה אישית שיכולים להיות שימושיים:
| תיאור | תחביר של מגבלות |
|---|---|
כל הרכיבים שצוינו הם פרטיים – במילים אחרות, AGENT). |
name: organizations/ORGANIZATION_ID/customConstraints/custom.requirePrivateAccess resourceTypes: - contactcenteraiplatform.googleapis.com/ContactCenter methodTypes: - CREATE - UPDATE condition: "resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT')" actionType: ALLOW displayName: Agents cannot connect over the internet. description: Internet access is disallowed for agents. |
כל המקרים, חוץ מהמקרה הספציפי שצוין, צריכים להשתמש ב-AGENT הפרטי שצוין. |
name: organizations/ORGANIZATION_ID/customConstraints/custom.requirePrivateAccess resourceTypes: - contactcenteraiplatform.googleapis.com/ContactCenter methodTypes: - CREATE - UPDATE condition: "resource.privateAccess.ingressSettings.exists(private_component, private_component.name == 'AGENT' || resource.name.contains('myContactCenterId')" actionType: ALLOW displayName: Restrict Internet access to AGENT for all instances except a single instance. description: Internet access for agents is restricted except for myContactcenterId CCAI Platform instances. |
המאמרים הבאים
- מבוא לשירות של מדיניות הארגון
- שימוש באילוצים
- יצירה וניהול של מדיניות ארגונית בהתאמה אישית
- מגבלות שקשורות למדיניות הארגון