חזרה ללוח הבקרה

תיעוד

למדו כיצד להשתמש ב-Asyntai

Access Tags

הגבילו פריטי ידע למבקרים מורשים — נאכף בשרתים שלנו, לא על ידי הבינה המלאכותית

אל Access Tags
Enterprise

סקירה כללית

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

איך זה עובד

  1. אתם מתייגים פריטי ידע - בעמוד Access Tags או ישירות דרך ה-API; פריטים ללא תגיות ממשיכים לפעול לכולם
  2. השרת שלכם חותם על התגיות של כל מבקר - כשחבר מחובר טוען את הדף שלכם, הצד השרתי קובע את זכויותיו וחותם עליהן במפתח סודי שרק לכם יש
  3. הווידג'ט שולח את האישור החתום - הוא נוסע עם כל הודעת צ'אט; הדפדפן רק מעביר אותו ואינו יכול לשנותו בלי לשבור את החתימה
  4. אנחנו מאמתים ומסננים - חתימה תקפה פותחת פריטים עם תגיות תואמות; אישור חסר, מזויף או שפג תוקפו משמעו שהמבקר מקבל תוכן ציבורי בלבד

איך מגדירים

הפעילו את התכונה בעמוד Access Tags בלוח הבקרה — מפתח חתימה נוצר אוטומטית. שמרו אותו רק בשרת שלכם; כל מי שמחזיק בו יכול ליצור אישורים תקפים.

תייגו את התוכן באותו עמוד, או בעת שליחת פריטים דרך ה-API:

POST /api/v1/knowledge/text/
{
  "title": "Members-only price list",
  "content": "...",
  "website_id": "123",
  "access_tags": ["premium"]
}

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

<?php
$tags    = "members,premium";          // this visitor's entitlements
$expires = time() + 3600;              // unix seconds, optional but recommended
$sig     = hash_hmac("sha256", $tags . "|" . $expires, $SECRET);
?>
<script>
window.Asyntai = window.Asyntai || {};
window.Asyntai.accessTags = "<?php echo $tags; ?>";
window.Asyntai.accessTagsExpires = "<?php echo $expires; ?>";
window.Asyntai.accessTagsSignature = "<?php echo $sig; ?>";
</script>

אותה חתימה ב-Node.js וב-Python:

// Node.js
const crypto = require("crypto");
const sig = crypto.createHmac("sha256", SECRET)
                  .update(tags + "|" + expires).digest("hex");

# Python
import hmac, hashlib
sig = hmac.new(SECRET.encode(), f"{tags}|{expires}".encode(),
               hashlib.sha256).hexdigest()

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

מה מובטח

  • אכיפה בצד השרת - המסנן רץ בתוך שאילתת מסד הנתונים שלנו בזמן האחזור; עבור מבקרים לא מורשים הפריטים המתויגים כלל אינם בהקשר של הבינה המלאכותית, כך שאין מה שידלוף
  • Fail-closed בכל מקום - אין חתימה, חתימה שגויה, אישור שפג, תכונה כבויה, תוכנית שהונמכה: בכל אחד מהמקרים האלה המבקר מקבל תוכן ציבורי בלבד, לעולם לא יותר
  • הדפדפן לא יכול לזייף גישה - עריכת התגיות בכלי המפתחים שוברת את החתימה; המפתח נמצא רק בשרת שלכם
  • לוגיקת הזכויות שלכם נשארת שלכם - לעולם איננו יודעים איך אתם מחליטים מי מקבל איזו תגית; אנחנו רק מאמתים שהשרת שלכם אישר זאת

טוב לדעת

  • Access Tags הוא הרשאה, User Context הוא התאמה אישית - השתמשו ב-User Context כדי לספר לבינה המלאכותית על החבר; השתמשו ב-Access Tags כדי לשלוט מאיזה ידע היא רשאית לשאוב
  • תוכן שנסרק מהאתר תמיד ציבורי - הוא מגיע מהאתר הציבורי שלכם, כך שאין מה להגביל; תגיות חלות על פריטי טקסט, קבצים ו-API
  • למבקר מספיקה תגית תואמת אחת - פריט עם שתי תגיות זמין למבקר הנושא כל אחת מהן
  • יצירת מפתח מחדש מבטלת את כל האישורים הישנים - עשו זאת אם המפתח אולי דלף, ואז עדכנו את הדפים לחתום בחדש
  • שמות התגיות בידיכם - עד 20 לפריט, 50 תווים כל אחת, בלי פסיקים או קווים אנכיים; הן לעולם לא מופיעות בצ'אט שהמבקרים רואים

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

הקשר משתמש העבר נתוני משתמש מחובר לצ'אטבוט ה-AI שלך לשיחות מותאמות אישית

הערה: Access Tags הוא חלק מהסכם Enterprise. כתבו אל [email protected] ונסביר הכול.