Atpakaļ uz informācijas paneli

Dokumentācija

Uzziniet, kā lietot Asyntai

Access Tags

Ierobežojiet zināšanu vienumus tikai pilnvarotiem apmeklētājiem — nodrošināts mūsu serveros, nevis ar MI

Doties uz Access Tags
Enterprise

Pārskats

Ne viss saturs ir visiem: dokumenti tikai biedriem, konkrēta reģiona materiāli, maksas līmeņu resursi. Ar Access Tags viens tērzēšanas robots droši apkalpo dažādas auditorijas. Jūs pievienojat birku zināšanu vienumam, un no šī brīža vienums ir neredzams ikvienam apmeklētājam — izņemot tos, kuru lapa uzrāda šo birku, ko parakstījis jūsu pašu serveris. Ierobežojums tiek nodrošināts mūsu meklēšanas vaicājumā, pirms MI modelis vispār iesaistās. Apmeklētājs bez birkas saturu ar viltīgiem jautājumiem neizvilks, jo viņam tas nekad netika izgūts.

Kā tas darbojas

  1. Jūs birkojat zināšanu vienumus - Access Tags lapā vai tieši caur API; vienumi bez birkām turpina darboties visiem
  2. Jūsu serveris paraksta katra apmeklētāja birkas - kad pieteicies biedrs ielādē jūsu lapu, jūsu aizmugursistēma nosaka viņa tiesības un paraksta tās ar slepenu atslēgu, kas ir tikai jums
  3. Logrīks nosūta parakstīto apliecinājumu - tas ceļo ar katru tērzēšanas ziņu; pārlūks to tikai pārnes un nevar mainīt, nesabojājot parakstu
  4. Mēs pārbaudām un filtrējam - derīgs paraksts atslēdz vienumus ar atbilstošām birkām; trūkstošs, viltots vai beidzies apliecinājums nozīmē, ka apmeklētājs saņem tikai publisku saturu

Iestatīšana

Ieslēdziet funkciju paneļa Access Tags lapā — parakstīšanas atslēga tiek ģenerēta automātiski. Glabājiet to tikai savā serverī; ikviens, kam tā ir, var veidot derīgus apliecinājumus.

Birkojiet saturu tajā pašā lapā vai sūtot vienumus caur API:

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

Pēc tam lieciet savam serverim izvadīt parakstīto apliecinājumu blakus logrīka fragmentam. Parakstāmā ziņa ir ar komatiem atdalīts birku saraksts, savienots ar vertikālu svītru ar derīguma beigu laiku, ja to izmantojat:

<?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>

Tas pats paraksts Node.js un 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()

Bez derīguma termiņa parakstiet tikai pašu birku virkni. Ar to apliecinājums pārstāj darboties termiņa beigu brīdī — noderīgi, kad tiesības var atsaukt, jo apmeklētājam jāpārlādē jūsu kontrolēta lapa, lai saņemtu svaigu apliecinājumu.

Birku loģika

Vienuma birkas tiek apvienotas ar UN: vienums ir izgūstams tikai tad, kad katra tā birka ir apmeklētāja apliecinājumā. Apmeklētāja apliecinājums var nest tik daudz tiesību, cik vēlaties, un salīdzināšana notiek ar visām reizē.

Vienuma birkas Apmeklētāja apliecinājums Rezultāts
(none)jebkasRedzams — vienumi bez birkām ir publiski
northnorth, premiumRedzams
north, premiumnorthPaslēpts — apliecinājumā trūkst premium
north, premiumnorth, premium, extraRedzams — papildu tiesības netraucē

UN ir apzināta izvēle. Ar «vismaz viena» salīdzināšanu otra birka vienumam paplašinātu to, kas to redz, tāpēc dokumenta sašaurināšana līdz divām grupām patiesībā publicētu to pilnībā abām. Ar «visas» salīdzināšanu katra pievienotā birka var tikai vēl vairāk ierobežot, tā ka kļūda krīt drošajā pusē.

Kā izteikt «jebkura no»

Izlaidiet šo dimensiju pie vienuma. Ja katra apmeklētāja apliecinājums nes viņa reģionu, dokuments bez reģiona birkas ir pieejams visiem reģioniem, kamēr pārējās tā birkas joprojām darbojas. Vienums, kas birkots tikai ar premium, tātad nozīmē «jebkurš reģions, tikai premium abonenti».

Īstai izvēlei starp dimensijām — teiksim, ziemeļi-ar-pamata vai dienvidi-ar-premium un nekas cits — pievienojiet vienumu divreiz, katrā pa vienai kombinācijai, vai dodiet abām auditorijām kopīgu birku, ko jūsu serveris iekļauj to apliecinājumos.

Ierobežojumi

  • Līdz 20 birkām katram zināšanu vienumam
  • Līdz 50 birkām viena apmeklētāja apliecinājumā
  • 50 rakstzīmes vienai birkai; komati un vertikālās svītras nav atļautas, jo apliecinājums ir ar komatiem atdalīta virkne

Birku maiņa vēlāk

Birkas var aizstāt esošam vienumam, to atkārtoti neaugšupielādējot. Izmaiņas stājas spēkā ar nākamo jautājumu — pats saturs netiek apstrādāts no jauna.

POST /api/v1/knowledge/<id>/tags/
{
  "access_tags": ["premium"]
}

Nosūtiet tukšu sarakstu, lai vienums atkal kļūtu publisks. Birkas varat rediģēt arī manuāli Access Tags lapā savā panelī.

Kas tiek garantēts

  • Nodrošināšana servera pusē - filtrs darbojas mūsu datubāzes vaicājumā izgūšanas laikā; nepilnvarotiem apmeklētājiem birkotie vienumi MI kontekstā vispār nenonāk, tāpēc nav kam noplūst
  • Visur fail-closed - nav paraksta, nepareizs paraksts, beidzies apliecinājums, izslēgta funkcija, pazemināts plāns: katrā no šiem gadījumiem apmeklētājs saņem tikai publisku saturu, nekad vairāk
  • Pārlūks nevar viltot piekļuvi - birku rediģēšana izstrādātāja rīkos sabojā parakstu; atslēga ir tikai jūsu serverim
  • Jūsu tiesību loģika paliek jūsu - mēs nekad neuzzinām, kā izlemjat, kurš saņem kuru birku; mēs tikai pārbaudām, ka jūsu serveris to apliecinājis

Der zināt

  • Access Tags ir autorizācija, User Context ir personalizācija - izmantojiet User Context, lai pastāstītu MI par biedru; izmantojiet Access Tags, lai kontrolētu, no kādām zināšanām MI drīkst smelties
  • Pārmeklētais vietnes saturs vienmēr ir publisks - tas nāk no jūsu publiskās vietnes, tāpēc nav ko ierobežot; birkas attiecas uz teksta, failu un API vienumiem
  • Vienuma birkas tiek apvienotas ar UN - skatiet Birku loģiku augstāk; katrai vienuma birkai jābūt apmeklētāja apliecinājumā
  • Atslēgas atkārtota ģenerēšana padara nederīgus visus vecos apliecinājumus - dariet to, ja atslēga varēja noplūst, un pēc tam atjauniniet lapas, lai tās parakstītu ar jauno
  • Birku nosaukumus izvēlaties jūs - līdz 20 vienumam, katrs 50 rakstzīmes, bez komatiem un vertikālām svītrām; apmeklētājiem redzamajā tērzēšanā tās nekad neparādās

Sader ar User Context: viena funkcija kontrolē, kādas zināšanas MI drīkst izmantot šim apmeklētājam, otra pasaka MI, kas apmeklētājs ir.

Lietotāja konteksts Nododiet pieteikušos lietotāju datus savam MI tērzēšanas robotam personalizētām sarunām

Piezīme: Access Tags ir Enterprise līguma daļa. Rakstiet uz [email protected], un mēs visu izskaidrosim.