בדף הזה מוסבר איך לאכוף בקרת גישה למקורות נתונים (שנקראת גם 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" } ] } ] } }כשמבצעים את השלבים ליצירת מאגר נתונים במאמר יצירת מאגר נתונים מאינטראקציה ישירה, אפשר להפעיל בקרת גישה באמצעות הפעולות הבאות במסוף או באמצעות ה-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 for structured data with metadata (JSONL לנתונים מובְנים עם מטא-נתונים).
- אם משתמשים ב-API, מגדירים את
BigQuerySource.dataSchemaלערךdocument.