סקירה כללית בנושא הקצאת הרשאות

התכונה 'הקצאת הרשאות' לקטלוג זמן הריצה של Lakehouse מאפשרת להקצות גישה לאחסון ולהחיל הרשאות פרטניות על קובצי הנתונים. היכולת הזו היא חלק מborderless Lakehouse, והיא מאפשרת לכם לנהל את כללי המדיניות של ניהול זהויות והרשאות גישה (IAM) ברמת הטבלה, עבור טבלאות שמאוחסנות ב-Cloud Storage.

אתם יכולים להשתמש ב-gcloud CLI כדי לקבל ולהגדיר את כללי המדיניות האלה, וכך לשלוט בגישה למשאבים שלכם.

איך פועל תהליך הקצאת הרשאות

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

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

רצף הפעולות שמוצג בתרשים שלמעלה הוא כזה:

  1. בקשה: משתמש שולח הצהרת SQL, כמו שאילתה, DML או פעולת DDL, למנוע נתמך. לדוגמה, Apache Spark או BigQuery.
  2. חיפוש מטא-נתונים: המנוע שולח בקשה לקטלוג של זמן הריצה של Lakehouse כדי לפתור את הבעיה בטבלה.
  3. אימות ומדיניות: הקטלוג מאמת את המשתמש ובודק את הרשאות ה-IAM שלו במשאבי Lakehouse של Google Cloud.
  4. תגובה: מכיוון שהפעלתם את האפשרות למכירת פרטי כניסה, הקטלוג מחזיר את המטא-נתונים ואת אסימון האחסון לזמן קצר (פרטי כניסה לאחסון עם היקף מצומצם) למנוע. האסימון מוגבל לנתיבים שמשויכים לטבלה, וההרשאות שלו מצומצמות להרשאות המינימליות הנדרשות (לדוגמה, גישה לקריאה בלבד לשאילתות שלא צריכות לכתוב קבצים).
  5. גישה: המנוע משתמש בטוקן הזה כדי לקרוא או לכתוב את הקבצים הספציפיים המורשים ישירות מ-Cloud Storage.
  6. חישוב: המנוע מעבד את הנתונים או מבצע את הפעולה ומחזיר את התוצאות.

מנועי חיפוש נתמכים

כדי להשתמש בהקצאת הרשאות עם מנועי שאילתות, צריך להגדיר את קטלוג REST של Iceberg ב-Lakehouse כך שיתמוך בהקצאת הרשאות.

  • מנועי קוד פתוח: מנועים נתמכים כמו Apache Spark ו-Trino משתמשים באסימוני אחסון לטווח קצר שמונפקים על ידי הקטלוג. אפליקציית הלקוח צריכה לציין תמיכה בהקצאת אישורים בכותרת X-Iceberg-Access-Delegation.
  • BigQuery: ב-BigQuery נעשה שימוש בהרשאות שנמכרו לגישה ל-Cloud Storage במקום בהרשאות של משתמשי קצה.

הרשאות נדרשות בחשבון שירות

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

  • חשבון שירות של קטלוג זמן ריצה של Lakehouse שמוקצה אוטומטית: צריך להעניק לחשבון הזה את התפקיד 'משתמש באובייקט אחסון' (roles/storage.objectUser) בכל הקטגוריות המשויכות של Cloud Storage. בלי הגישה הזו, אי אפשר לקרוא או לכתוב נתונים באחסון באמצעות פרטי הכניסה שסופקו. אם אתם משתמשים במסוףGoogle Cloud , לחיצה על הגדרת הרשאות לקטגוריה מאמתת את התפקיד הזה. ב-CLI של gcloud, ב-Terraform או ב-API, צריך להעניק את התפקיד הזה באופן ידני.
  • חשבונות שירות של מנוע שאילתות: חשבונות שירות שמריצים משימות של מנוע שאילתות (כמו Managed Service for Apache Spark,‏ Managed Service for Apache Spark או Dataflow) צריכים את תפקיד העריכה ב-BigLake ‏ (roles/biglake.editor) כדי לקבל פרטי כניסה שנמכרים עם הרשאת כתיבה.

המאמרים הבאים