בדף הזה מוסבר איך לאכוף בקרת גישה למקורות נתונים (שנקראת גם רשימות בקרת גישה, ACL) באפליקציות חיפוש שיוצרים באמצעות Cloud Storage או BigQuery.
סקירה כללית
ב-Gemini Enterprise, בקרת הגישה למקורות הנתונים מגבילה את הנתונים שהמשתמשים יכולים לראות בתוצאות של אפליקציית החיפוש. Google משתמשת בספק הזהויות כדי לזהות את משתמש הקצה שמבצע חיפוש ולקבוע אם יש לו גישה למסמכים שמוחזרים כתוצאות.
לדוגמה, נניח שעובדים בחברה שלכם מחפשים מסמכים ב-BigQuery באמצעות אפליקציית החיפוש שלכם. עם זאת, אתם צריכים לוודא שהם לא יכולים לראות תוכן דרך האפליקציה שאסור להם לגשת אליו. אם הגדרתם מאגר זהויות של כוח עבודה ב- Google Cloud עבור ספק הזהויות של הארגון, תוכלו גם לציין את מאגר הזהויות הזה ב-Gemini Enterprise. מעכשיו, אם עובד ישתמש באפליקציה שלכם, הוא יקבל תוצאות חיפוש רק עבור מסמכים שלחשבון שלו כבר יש גישה אליהם ב-BigQuery.
הפעלת בקרת הגישה היא תהליך חד-פעמי. כדי להחיל בקרת גישה על מקור נתונים ב-BigQuery או ב-Cloud Storage, צריך לבצע את השלבים הבאים בהתאם לסוג הנתונים, כמו נתונים מובְנים או לא מובְנים.
- נתונים לא מובְנים מ-Cloud Storage
- נתונים מובְנים מ-Cloud Storage
- נתונים לא מובנים מ-BigQuery
- נתונים מובנים מ-BigQuery
נתונים לא מובנים מ-Cloud Storage
כשמגדירים מאגר נתונים לנתונים לא מובנים מ-Cloud Storage, צריך גם להעלות מטא-נתונים של רשימת ACL ולהגדיר את מאגר הנתונים כמאגר עם בקרת גישה:
כשמכינים את הנתונים, צריך לכלול את פרטי ACL במטא-נתונים באמצעות השדה
acl_info. לדוגמה:{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" }, "acl_info": { "readers": [ { "principals": [ { "group_id": "group_1" }, { "user_id": "user_1" } ] } ] } }מידע נוסף על נתונים לא מובְנים עם מטא-נתונים זמין בקטע 'נתונים לא מובְנים' במאמר הכנת נתונים להוספה.
כשפועלים לפי השלבים ליצירת מאגר נתונים במאמר יצירת מאגר נתונים מאינטראקציה ישירה, אפשר להפעיל בקרת גישה באמצעות הפעולות הבאות בקונסולה או באמצעות ה-API:
- Console: כשיוצרים מאגר נתונים, בוחרים באפשרות This data store contains access control information במהלך יצירת מאגר הנתונים.
- API: כשיוצרים מאגר נתונים, צריך לכלול את השדה
"aclEnabled": "true"במטען הייעודי (payload) של JSON.
כשמבצעים את השלבים לייבוא נתונים במאמר יצירת מאגר נתונים מאינטראקציה ישירה, חשוב לוודא שמבצעים את הפעולות הבאות:
- מעלים את המטא-נתונים עם פרטי ACL מאותו באקט שבו נמצאים הנתונים הלא מובנים
- אם משתמשים ב-API, מגדירים את
GcsSource.dataSchemaלערךdocument
נתונים מובנים מ-Cloud Storage
כשמגדירים מאגר נתונים לנתונים מובנים מ-Cloud Storage, צריך גם להעלות מטא-נתונים של ACL ולהגדיר את מאגר הנתונים כמאגר עם בקרת גישה:
כשמכינים את הנתונים, צריך לכלול את פרטי ACL במטא-נתונים באמצעות השדה
acl_info. לדוגמה:{ "id": "<your-id>", "jsonData": "<JSON string>", "acl_info": { "readers": [ { "principals": [ { "group_id": "group_1" }, { "user_id": "user_1" } ] } ] } }כשפועלים לפי השלבים ליצירת מאגר נתונים במאמר יצירת מאגר נתונים מאינטראקציה ישירה (First-Party), אפשר להפעיל בקרת גישה באמצעות הפעולות הבאות בקונסולה או באמצעות ה-API:
- Console: כשיוצרים מאגר נתונים, בוחרים באפשרות This data store contains access control information במהלך יצירת מאגר הנתונים.
- API: כשיוצרים מאגר נתונים, צריך לכלול את השדה
"aclEnabled": "true"במטען הייעודי (payload) של JSON.
כשמבצעים את השלבים לייבוא נתונים במאמר יצירת מאגר נתונים מאינטראקציה ישירה (First-Party), חשוב לוודא שמבצעים את הפעולות הבאות:
- מעלים את המטא-נתונים עם פרטי ACL מאותו מאגר שבו נמצאים הנתונים המובנים
- אם משתמשים ב-API, מגדירים את
GcsSource.dataSchemaלערךdocument
נתונים לא מובנים מ-BigQuery
כשמגדירים מאגר נתונים לנתונים לא מובנים מ-BigQuery, צריך להגדיר את מאגר הנתונים כמאגר עם בקרת גישה ולספק מטא-נתונים של רשימת ACL באמצעות סכימה מוגדרת מראש ל-Gemini Enterprise:
כשמכינים את הנתונים, צריך לציין את הסכימה הבאה. אל תשתמשו בסכימה מותאמת אישית.
[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] }, { "name": "content", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "mimeType", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "acl_info", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "readers", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "principals", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "user_id", "type": "STRING", "mode": "NULLABLE" }, { "name": "group_id", "type": "STRING", "mode": "NULLABLE" } ] } ] } ] } ]כוללים את המטא-נתונים של רשימת בקרת הגישה כעמודה בטבלה ב-BigQuery.
כשפועלים לפי השלבים במאמר יצירת מאגר נתונים מאינטראקציה ישירה, מפעילים את בקרת הגישה במסוף או באמצעות ה-API:
- Console: כשיוצרים מאגר נתונים, בוחרים באפשרות This data store contains access control information במהלך יצירת מאגר הנתונים.
- API: כשיוצרים מאגר נתונים, צריך לכלול את השדה
"aclEnabled": "true"במטען הייעודי (payload) של JSON.
כשמבצעים את השלבים לייבוא נתונים במאמר יצירת מאגר נתונים מאינטראקציה ישירה (First-Party), אם משתמשים ב-API, מגדירים את
BigQuerySource.dataSchemaלערךdocument.
נתונים מובנים מ-BigQuery
כשמגדירים מאגר נתונים לנתונים מובְנים מ-BigQuery, צריך להגדיר את מאגר הנתונים כמאגר עם בקרת גישה ולספק מטא-נתונים של רשימת ACL באמצעות סכימה מוגדרת מראש ל-Gemini Enterprise:
כשמכינים את הנתונים, צריך לציין את הסכימה הבאה. אל תשתמשו בסכימה מותאמת אישית.
[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] }, { "name": "acl_info", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "readers", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "principals", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "user_id", "type": "STRING", "mode": "NULLABLE" }, { "name": "group_id", "type": "STRING", "mode": "NULLABLE" } ] } ] } ] } ]כוללים את המטא-נתונים של רשימת בקרת הגישה כעמודה בטבלה ב-BigQuery.
כשפועלים לפי השלבים במאמר יצירת מאגר נתונים מאינטראקציה ישירה, מפעילים את בקרת הגישה במסוף או באמצעות ה-API:
- Console: כשיוצרים מאגר נתונים, בוחרים באפשרות This data store contains access control information במהלך יצירת מאגר הנתונים.
- API: כשיוצרים מאגר נתונים, צריך לכלול את השדה
"aclEnabled": "true"במטען הייעודי (payload) של JSON.
כשמבצעים את השלבים לייבוא נתונים במאמר יצירת מאגר נתונים מאינטראקציה ישירה, חשוב לוודא שמבצעים את הפעולות הבאות:
- אם משתמשים במסוף, כשמציינים את סוג הנתונים שמעלים, בוחרים באפשרות JSONL לנתונים מובְנים עם מטא-נתונים.
- אם משתמשים ב-API, צריך להגדיר את
BigQuerySource.dataSchemaלערךdocument.