אוטומציה של הרשאות קטלוג Unity ב-Azure Databricks ברמת הסכימה

כַּדֵּי לְהָשִׁיג אֶת הַמַּטָּרָה שֶׁלָּנוכָּל הַדֵּעוֹת וְהַחֲזוֹנוֹת שֶׁיּוּצְגוּ בַּבלוג שֶׁלְּנובְּאַופַן בַּלְעָדִישֶׁל הַמְּחַבֵּר וְלֹא בְּהַכרח לַמְּעַסֵד שֶׁל הַמְּחַבֵּר או לְכָל קְבוּצָה או לְאָדָם אַחֵר. מַאֲמַר זֶה אינו קידום לפלטפורמה לניהול עננים/נתונים כלשהי. כל הַתמונוֹת וּרכיבי הקוד זמינים לציבור באתר של Azure/Databricksכְּללזה כתבה אֲשֶׁר תִּסְפֹּק אֶת הַתַּסְבֵּי עַל כֵּיצַד לַהֲפֵעַיל אֶת נְיהוּל הִרְשָׁאוֹת בְּרמת סְכֶמַת Unity Catalog.

בַּמַּאֲמָר הַזֶּה, אָנִי אֶעֱמוֹד עַל הַתַּסְבֵּיר לַאֲפֵשָׁר נְיהוּל הַהִרְשָׁאוֹת בְּרמַת סְכֶמַת Unity Catalog

הַהַרְשָׁאוֹת בְּרמַת סְכֶמַת Unity Catalog מְאַפְשֵׁרוֹת לַמְּשִׁתַּמְשׁ לַחֲלוֹק הַהַרְשָׁאוֹת בַּכְּלָל בַּהִירַרְכִּיָה, וְהָאוֹבְיֵקט(ִים) הַיְלָדִים יִירְשׁוּ אֶת אותו הַהַרְשָׁאוֹת בְּאוֹפֶן אוֹטוֹמָטִי. לְכֵן, אִם הַהִרְשָׁאוֹת נִכְנְסוֹת בְּרמת הַסְכֶמַת הַסְכֶמָה, הֵן יִתְּנוּ בְּאוֹפֶן אוֹטוֹמָטִי לְכָל הַטַּבְלּוֹת, הַנּוֹתָרוֹת, הַנְּפָחִים וְהַפּוּנְקציוֹת בְּתוֹך הַסְכֶמָה זוֹ

Unity Catalog privilege model

בְּUnity Catalog (Databricks), הַהִרְשָׁאוֹת בְּרמַת הַסְכֶמָה נִכְנְסוֹת כְּאָשֶׁר אַתָּה רוֹצֶה לִשְׁלֹט בַּגִּישָׁה לְסֶט שֶׁל טַבְלוֹת וְנוֹתָרוֹת בְּתוֹך סְכֶמַת סְכֶמָה מְסוֹצֶנֶת. הַהִרְשָׁאוֹת בְּרמת הַסְכֶמָה נִכְנְסוֹת בְּדִרך כְּלָלִית בַּתְּרֵיהֶן הַבְּדִרְכִים הַבָּאוֹת:

לַמְעַנֵת גִּישָׁה לַקּוּמוֹת שֶל עֲצָמוֹת: אִם אַתָּה רוֹצֶה לִנְהוֹל הִרְשָׁאוֹת לְטַבְלוֹת רַבּוֹת וְנוֹתָרוֹת בַּצוּרָה מְאָפֶקֶת, זֶה יְעִיל לַיַישֵׁם הִרְשָׁאוֹת בְּרמת סְכֶמַת הַסְכֶמָה בְּמָקוֹם לְכָל טָבֶלֶת או נוֹתֶרֶת בְּנִפְרָד. זֶה מַאפשִׁר לְך לִשְׁלֹט בְּגִּישָׁה לְכָל הָעֲצָמוֹת שֶׁבְּתוֹך הַסְכֶמָה זוֹ בְּאופן חֲדֵ עִים

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

סקריפט אוטומציה

הקדמה

  • קטלוג Unity כבר הוגדר.
  • העקרונות קשורים לסביבת עבודה Databricks.
  • המשתמש שמפעיל את סקריפט ההרשאות מחזיק הרשאות מתאימות על הסכימה והקטלוג.

שלב 1: יצירת פתק והגדרת המשתנים

יצירת פתק בסביבת עבודה של Databricks. כדי ליצור פתק בסביבת העבודה שלך, לחץ על "+" חדש בסרגל הצד, ולאחר מכן בחר פתק.

העתק והדבק את קטע הקוד לתוך תא הפתק והרץ את התא.

Python

 

שלב 2: הגדר את הקטלוג ואת הסכמה

העתק, הדבק והרץ את בלוק הקוד למטה בתא חדש או קיים והרץ את התא.

Python

 

שלב 3: עבור דרך העקרונות וההרשאות והחל מתן הרשאה בקטלוג ובסכמה

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

Python

 

אימות

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

Permissions applied in the default schema inside the main catalog available out of the box

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

SQL

 

מסקנה

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

Source:
https://dzone.com/articles/automate-databricks-unity-catalog-permissions-at-schema-level