שתף דרך


מושגי אבטחה ב- Microsoft Dataverse

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

אבטחה מבוססת תפקידים

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

יחידות עסקיות

טיפ

סמל וידאו צפו בסרטון הבא: מודרניזציה של יחידות עסקיות.

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

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

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

מבנה הירארכי של גישה לנתונים

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

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

משתמש A שייך לחטיבה A ומוקצה לו תפקיד אבטחה Y מחטיבה A. הדבר מאפשר למשתמש A לגשת לרשומות איש קשר מספר 1 ואיש קשר מספר 2. משתמש B בחטיבה B אינו יכול לגשת לרשומות איש הקשר של חטיבה A, אבל יכול לגשת לרשומה של איש קשר מספר 3.

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

מבנה מטריצה לגישה לנתונים (יחידות עסקיות מודרניות)

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

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

משתמש A יכול להיות משויך לכל אחת מהיחידות העסקיות, כולל היחידה העסקית הבסיסית. תפקיד אבטחה Y מחטיבה A מוקצה למשתמש A, מה שמענית למשתמש גישה לרשומות של איש קשר מספר 1 ואיש קשר מספר 2. תפקיד אבטחה Y מחטיבה B מוקצה למשתמש A, מה שמענית למשתמש גישה לרשומה של איש קשר מספר 3.

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

הפוך מבנה מטריצה זה של גישה לנתונים לזמין

הערה

לפני שתפעיל תכונה זו, עליך לפרסם את כל ההתאמות האישיות שלך כדי להפעיל את כל הטבלאות החדשות שלא פורסמו עבור התכונה. אם גיליתם שיש לכם טבלאות שלא פורסמו שאינן פועלות עם תכונה זו לאחר שהפעלתם אותה, תוכלו להגדיר את ההגדרה RecomputeOwnershipAcrossBusinessUnits באמצעות הכלי OrgDBOrgSettings עבור Microsoft Dynamics CRM. אם RecomputeOwnershipAcrossBusinessUnits מוגדר true, אפשר להגדיר ולעדכן את השדה ‏‫ה‏‫יחידה העסקית המהווה בעלים‬ .

  1. התחבר ל Power Platform מרכז הניהול כמנהל מערכת (מנהל Dynamics 365 או Microsoft Power Platform מנהל מערכת).
  2. בחלונית הניווט, יש לבחור ניהול.
  3. בחלונית ניהול , בחר סביבות ולאחר מכן בחר את הסביבה שעבורה ברצונך להפעיל תכונה זו.
  4. בחר הגדרות>מוצר>תכונות.
  5. הפעל את המתג בעלות על רשומות ביחידות עסקיות.
  6. בחר שמור.

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

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

הערה

מתג תכונה זה מאוחסן בהגדרה EnableOwnershipAcrossBusinessUnits ואפשר להגדיר אותו באמצעות הכלי OrgDBOrgSettings עבור Microsoft Dynamics CRM.

שיוך יחידה עסקית לקבוצת אבטחה של Microsoft Entra

אתה יכול להשתמש בקבוצת אבטחה של Microsoft Entra כדי מפות את היחידה העסקית שלך לייעול ניהול המשתמשים והקצאת התפקידים שלך.

צור קבוצת אבטחה של Microsoft Entra לכל יחידה עסקית והקצה את תפקיד האבטחה המתאים של היחידה העסקית לכל צוות קבוצה.

צור קבוצת אבטחה של Microsoft Entra לכל יחידה עסקית.

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

הוסף משתמשים לקבוצת האבטחה המתאימה של Microsoft Entra כדי להעניק להם גישה ליחידה העסקית. המשתמשים יכולים להפעיל את האפליקציה באופן מיידי ולגשת למשאבים/לנתונים שלה.

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

ה‏‫יחידה העסקית המהווה בעלים

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

הערה

כאשר אתה משנה את היחידה העסקית שמהווה בעלים של רשומה, הקפד לבדוק את הפרטים הבאים עבור השפעות מדורגות: שימוש ב- SDK for .NET כדי להגדיר התנהגות מדורגת.

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

כדי לאפשר למשתמש שלך להגדיר עמודה זו, באפשרותך להפעיל עמודה זו במקטע הבא:

  1. טופס - גם הגוף וגם הכותרת.
  2. תצוגה.
  3. מיפויי עמודות. אם בחרת להשתמש ב- AutoMapEntity, באפשרותך לציין את העמודה במיפוי העמודות שלך.

הערה

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

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

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

בעלות על טבלה/רשומה

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

כדי לתת דוגמה נוספת, נניח שמשתמש A משויך למחלקה A, ואנחנו נותנים לו גישת קריאה ברמת יחידה עסקית לאיש קשר. הוא יוכל לראות את איש הקשר מס' 1 ומס' 2, אבל לא את איש הקשר מס' 3.

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

הרשאות תפקידי אבטחה.

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

מפתח של הרשאות תפקידי אבטחה.

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

בבעלות על רשומות ביחידות עסקיות מודרניות

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

אם בעלות על רשומות בכל היחידות העסקיות הופעל בסביבת הייצור שלך במהלך תקופת ה- Preview, עליך לבצע את הפעולות הבאות כדי לאפשר בעלות על רשומה זו בכל יחידה עסקית:

  1. התקנת הכלי עורך הגדרות הארגון
  2. הגדר את הגדרות הארגון RecomputeOwnershipAcrossBusinessUnits ל- true. כאשר ההגדרה היא true, המערכת נעולה וביצוע החישוב מחדש יכול לקחת עד 5 דקות כדי לאפשר למשתמשים להחזיק רשומות בין יחידות עסקיות ללא צורך בהקצאת תפקיד אבטחה נפרד בכל יחידה עסקית. זה מאפשר לבעלים של רשומה להקצות את הרשומה למישהו מחוץ ליחידה העסקית שבבעלות הרשומה.
  3. הגדרת את AlwaysMoveRecordToOwnerBusinessUnit ל- false. הגדרה זו גורמת לרשומה להישאר ביחידה העסקית המקורית המהווה בעלים של הרשומה כאשר הבעלות על הרשומה משתנה.

עבור כל הסביבות שאינן סביבות ייצור, צריך להגדיר את AlwaysMoveRecordToOwnerBusinessUnit ל- false כדי להשתמש ביכולת הזו.

הערה

אם תכבה את התכונה בעלות על רשומות ביחידות עסקיות שונות או תגדיר את RecomputeOwnershipAcrossBusinessUnits שיהיה false באמצעות הכלי OrgDBOrgSettings עבור Microsoft Dynamics CRM, לא תוכל להגדיר או לעדכן את השדה ‏‫ה‏‫יחידה העסקית המהווה בעלים‬, וכל הרשומות שבהן השדה ‏‫ה‏‫יחידה העסקית המהווה בעלים‬ שונה מהיחידה העסקית של הבעלים יעודכנו ליחידה העסקית של הבעלים.

צוותים (כולל צוותי הקבוצה)

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

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

שיתוף רשומות

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

אבטחה ברמת רשומה ב- Dataverse

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

הפעלת אבטחה ברמת העמודה ב- Dataverse

לעיתים שליטה בגישה ברמת הרשומה אינה מספיקה עבור תרחישים עסקיים מסוימים. Dataverse כולל תכונת אבטחה ברמת העמודה המאפשרת שליטה ‏‫ברמת פירוט גבוהה יותר על אבטחה ברמת העמודה. ניתן להפעיל אבטחה ברמת העמודה בכל העמודות המותאמים אישית וברוב עמודות המערכת. מרבית עמודות המערכת הכוללים מידע אישי המאפשר זיהוי אישי (PII) מסוגלים להיות מאובטחים באופן אינדיבידואלי. המטה-נתונים של כל עמודה מגדירים אם זו אפשרות זמינה עבור עמודת המערכת.

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

ניהול אבטחה בסביבות מרובות

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

הגדרת אבטחה בסביבת משתמשים

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

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

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

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

למידע נוסף

קביעת התצורה של אבטחת סביבה
תפקידי אבטחה והרשאות