Globálisan sok szervezet rendelkezik kritikus üzleti adatokkal, amelyek különböző tartalomtárak között vannak szétszórva, ami megnehezíti ezekhez az információkhoz való egyszerű és összefüggő hozzáférést. Az egységes és biztonságos keresési élmény megteremtése komoly kihívást jelent a szervezetek számára, mivel minden tárhely a dokumentumformátumok és hozzáférés-szabályozási mechanizmusok széles skáláját tartalmazza.
Amazon Kendra egy intelligens vállalati keresőszolgáltatás, amely lehetővé teszi a felhasználók számára, hogy különböző tartalomtárolókban keressenek. Az ügyfelek felelősek a felhasználók hitelesítéséért és a keresőalkalmazásukhoz való hozzáférés engedélyezéséért, az Amazon Kendra pedig biztonságos keresést tesz lehetővé a vállalati alkalmazások számára, biztosítva, hogy a felhasználók keresési lekérdezésének eredményei csak olyan dokumentumokat tartalmazzanak, amelyeket a felhasználó jogosult elolvasni. Az Amazon Kendra biztonságos keresési tokenek hozzáadásával könnyedén ellenőrizheti az egyes felhasználók, valamint a keresést végző felhasználói csoportok személyazonosságát. A biztonságos kereséshez felhasználói tokenek hozzáadásával leegyszerűsödik és biztonságosabbá válik a hozzáférésen alapuló szűrt keresések végrehajtása az Amazon Kendrában. Az attribútumszűrők használata helyett biztonságosan átadhatja a felhasználói hozzáférési információkat a lekérdezés hasznos adattartalmában. Ezzel a funkcióval az Amazon Kendra érvényesíteni tudja a token információkat, és automatikusan alkalmazza azokat a keresési eredményekre a pontos és biztonságos hozzáférés-alapú szűrés érdekében.
Az Amazon Kendra támogatja a token alapú felhasználói hozzáférés-vezérlést a következő token típusok használatával:
- Nyílt azonosító
- JWT egy közös titokkal
- JWT nyilvános kulccsal
- JSON
Korábban láthattunk egy bemutatót token alapú felhasználói hozzáférés-vezérlés az Amazon Kendra Open ID-vel. Ebben a bejegyzésben bemutatjuk a token alapú felhasználói hozzáférés-szabályozást az Amazon Kendra JWT-vel egy megosztott titokkal. A JWT vagy a JSON Web Token egy nyílt szabvány, amelyet a biztonsági információk kliens és kiszolgáló közötti megosztására használnak. Kódolt JSON-objektumokat tartalmaz, beleértve a jogcímkészletet. A JWT-k kriptográfiai algoritmussal vannak aláírva annak biztosítására, hogy a jogkivonat kiadása után a követeléseket ne lehessen módosítani. A JWT-k hasznosak az engedélyezéssel és az információcserével kapcsolatos forgatókönyvekben.
A JWT-k három részből állnak, amelyeket pontok (.) választanak el egymástól:
- Fejléc – Olyan részeket tartalmaz, mint a token típusa, amely a JWT, a használt aláírási algoritmus, például a HMAC SHA256 vagy az RSA, és egy opcionális kulcsazonosító.
- Hasznos teher – Ez több kulcs-érték párt tartalmaz, ún követelések, amelyeket az identitásszolgáltató bocsát ki. A token kibocsátásával és lejáratával kapcsolatos számos igény mellett a token az egyes megbízóról és bérlőről is tartalmazhat információkat.
- aláírás – Az aláírási rész létrehozásához vegyük a kódolt fejlécet, a kódolt hasznos adatot, egy titkot, a fejlécben megadott algoritmust, és ezt aláírjuk.
Ezért a JWT a következőképpen néz ki:
A következő minta fejléc:
A következő minta hasznos terhelés:
A JWT titkos kulccsal jön létre, és ez a titkos kulcs az Ön számára privát, ami azt jelenti, hogy soha nem fogja nyilvánosságra hozni, vagy beadni a JWT-be. Amikor JWT-t kap az ügyféltől, ellenőrizheti a JWT-t a kiszolgálón tárolt titkos kulccsal. A JWT bármilyen módosítása az ellenőrzés (JWT érvényesítés) sikertelenségét eredményezi.
Ez a bejegyzés a JWT mintahasználatát mutatja be megosztott hozzáférési kulcs használatával, és annak használatát az Amazon Kendra indexek hozzáférés-vezérléssel történő biztonságossá tételére. A termelés során Ön egy választott biztonságos hitelesítési szolgáltatót használ a JWT-k létrehozásához az Ön igényei alapján.
Ha többet szeretne megtudni a JWT-kről, lásd: Bevezetés a JSON webes tokenekbe.
Megoldás áttekintése
Hasonló a Hozzászólás Az Open ID használatával ezt a megoldást a felhasználók és csoportok egy csoportja számára tervezték, hogy keresési lekérdezéseket hajtsanak végre egy dokumentumtárban, és az eredmények csak azokból a dokumentumokból jelennek meg, amelyek hozzáférésre jogosultak a csoporton belül. Az alábbi táblázat bemutatja, hogy az egyes felhasználók mely dokumentumokhoz férhetnek hozzá a használati esetünkben. A példában használt dokumentumok az AWS nyilvános dokumentumok egy részhalmazát képezik.
használó | Csoport | Dokumentumtípus hozzáférésre jogosult |
Vendég | . | blogok |
Patricia | Vevő | Blogok, használati útmutatók |
James | Értékesítés | Blogok, használati útmutatók, esettanulmányok |
János | Marketing | Blogok, használati útmutatók, esettanulmányok, elemzői jelentések |
Mary | Megoldások építész | Blogok, használati útmutatók, esettanulmányok, elemzői jelentések, tanulmányok |
A következő diagram egy JWT létrehozását szemlélteti megosztott hozzáférési kulccsal, amellyel szabályozható a felhasználók hozzáférése az Amazon Kendra-index adott dokumentumaihoz.
Amikor egy Amazon Kendra index lekérdezési API-hívást kap felhasználói hozzáférési jogkivonattal, akkor egy megosztott titkos kulcs segítségével érvényesíti a tokent (biztonságosan tárolva AWS Secrets Manager), és olyan paramétereket kap, mint a felhasználónév és a csoportok a rakományban. Az Amazon Kendra index a keresési eredményeket a tárolt hozzáférés-vezérlési lista (ACL) és a felhasználó JWT-jében kapott információk alapján szűri. Ezeket a szűrt eredményeket a rendszer az alkalmazás által indított API-hívás lekérdezésére válaszul adja vissza.
Előfeltételek
A bejegyzés lépéseinek követéséhez győződjön meg arról, hogy rendelkezik az alábbiakkal:
JWT létrehozása megosztott titkos kulccsal
A következő Java-kód minta bemutatja, hogyan hozhat létre JWT-t megosztott titkos kulccsal nyílt forráskóddal jsonwebtoken csomag. A gyártás során Ön egy választott biztonságos hitelesítési szolgáltatót fog használni, és az Ön igényei alapján a JWT-k létrehozásához szükséges.
A felhasználónevet és a csoportinformációkat követelésként adjuk át a rakományban, aláírjuk a JWT-t a megosztott titkokkal, és létrehozunk egy adott felhasználóhoz tartozó JWT-t. Adjon meg egy 256 bites karakterláncot titkosként, és tartsa meg a base64 URL-kódolású megosztott titok értékét, hogy későbbi lépésekben felhasználhassa.
Hozzon létre egy Amazon Kendra indexet egy JWT megosztott titkával
Az Amazon Kendra index létrehozására vonatkozó utasításokért lásd: Index létrehozása. Jegyezze fel a AWS Identity and Access Management (IAM) szerepkör, amelyet a folyamat során hozott létre. Biztosítsa a szerepkör-hozzáférést az S3 csoporthoz és a Titkokkezelőhöz a következőt követően legkevesebb kiváltság elve. Például irányelvek, lásd Példa IAM identitás alapú irányelvekre. Az index létrehozása után az Amazon Kendra konzolnak a következő képernyőképhez hasonlóan kell kinéznie.
A titok hozzáadásához hajtsa végre a következő lépéseket:
- Az Amazon Kendra konzolon navigáljon a Felhasználói hozzáférés-szabályozás lapon az index részletes oldalán.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Beállítások szerkesztése.
- Mivel token alapú hozzáférés-vezérlést valósítunk meg, válassza a lehetőséget Igen alatt Hozzáférés-vezérlési beállítások.
- Alatt Token konfiguráció, választ JWT megosztott titokkal mert Token típus.
- A A titok típusa, választ Új.
- A Titkos név, belép
AmazonKendra-jwt-shared-secret
vagy tetszőleges név. - A Kulcsazonosító, adja meg a kulcsazonosítót, hogy megfeleljen a Java-mintában létrehozott JWT-nek.
- A Algoritmus, válassza ki a HS256 algoritmust.
- A Közös titok, adja meg a korábban a Java kódból előállított, megőrzött base64 URL kódolt titkot.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Mentse el a titkot.
A titok mostantól JSON webkulcskészletként (JWKS) lesz tárolva a Secrets Managerben. Megtalálhatja a Secrets Manager konzolon. További részletekért lásd: JSON Web Token (JWT) használata megosztott titkokkal.
- Bontsa ki a Speciális konfiguráció szakasz.
Ebben a lépésben beállítjuk a felhasználónevet és a csoportokat, amelyeket a JWT jogcímekből kinyerünk, és az ACL-lel egyeztetünk, amikor az aláírás érvényes.
- A Felhasználónévadja meg a felhasználónevet.
- A Csoportok, adja meg a csoportokat.
- Hagyja meg az opcionális mezőket alapértelmezettként.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő, majd válassza ki Frissítések.
Készítse elő az S3 tárolót adatforrásként
Ha S3 tárolót szeretne előkészíteni adatforrásként, hozzon létre egy S3 tárolót. A terminálban a AWS parancssori interfész (AWS CLI) ill AWS CloudShell, futtassa a következő parancsokat a dokumentumok és a metaadatok feltöltéséhez az adatforrás tárolójába:
A lekérdezett dokumentumok egy S3 vödörben vannak tárolva. Minden dokumentumtípusnak külön mappája van: blogok, esettanulmányok, elemzői jelentések, felhasználói útmutatók és fehér könyvek. Ez a mappastruktúra egy Data nevű mappában található. A metaadatfájlok, beleértve az ACL-eket, a Meta nevű mappában találhatók.
Az Amazon Kendra S3 csatlakozót használjuk az S3 tároló adatforrásként való konfigurálásához. Amikor az adatforrás szinkronizálva van az Amazon Kendra indexszel, feltérképezi és indexeli az összes dokumentumot, valamint összegyűjti az ACL-eket és a dokumentumattribútumokat a metaadatfájlokból. Ha többet szeretne megtudni a metaadatfájlokat használó ACL-ekről, lásd: Amazon S3 dokumentum metaadatai. Ebben a példában az egyéni attribútumot használjuk DocumentType
a dokumentum típusának jelölésére. A feltöltés után az S3 vödör szerkezetének a következő képernyőképen kell kinéznie.
Az egyéni attribútum beállításához DocumentType
, hajtsa végre a következő lépéseket:
- Válassza ki Kendra indexét, és válassza ki Szempont meghatározása a navigációs ablaktáblában.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Mező hozzáadása.
- A Mező neve, belép
DocumentType
. - A Adattípus, választ Húr.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a hozzáad.
Mostantól az S3 csatlakozó segítségével feldolgozhatja a dokumentumokat a létrehozott tárolóból az Amazon Kendra indexbe. A teljes útmutatásért lásd: Dokumentumok bevitele az Amazon Kendra S3 csatlakozón keresztül.
- A Konfigurálja a szinkronizálási beállításokat szakasz, for Adja meg az adatforrás helyét, írja be az S3 tárolót (
s3://kendra-demo-bucket/
). - A A metaadatfájlok előtagja a mappa helye, belép
Meta/
. - Bontsa Kiegészítő konfiguráció.
- A Tartalmazzon mintákat fül, for prefix, belép
Data/
.
A támogatott csatlakozókkal kapcsolatos további információkért lásd: Csatlakozók.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Következő, Akkor Következő újra, akkor Frissítések.
- Várja meg, amíg létrejön az adatforrás, majd válassza ki az adatforrást, és válassza ki Most szinkronizálja.
Az adatforrás szinkronizálása 10–15 percig tarthat. Amikor a szinkronizálás befejeződött, Utolsó szinkronizálás állapota ként kell megjelennie Sikeres.
Kérjen le egy Amazon Kendra indexet
Ha tesztlekérdezést szeretne futtatni az indexen, tegye a következőket:
- Az Amazon Kendra konzolon válassza a lehetőséget Indexelt tartalom keresése a navigációs ablaktáblában.
- Bontsa Tesztlekérdezés hozzáférési tokennel.
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Token alkalmazása.
- Létrehozhatunk egy JWT-t a felhasználó és a csoport számára. Ebben a példában létrehozunk egy JWT-t a
AWS-SA
csoport. A felhasználónevet Mary néven, a csoportokat pedig mintként cseréljük leAWS-SA
a JWT generációs lépésben. - Írja be a generált tokent, és válassza ki alkalmaz.
Az ACL alapján minden mappából eredménynek kell lennünk: blogok, felhasználói útmutatók, esettanulmányok, elemzői jelentések és tanulmányok.
Hasonlóképpen, ha James néven jelentkezik be a AWS-Sales
csoportba és a megfelelő JWT átadásával csak blogokhoz, felhasználói útmutatókhoz és esettanulmányokhoz férhetünk hozzá.
Az indexben vendégként is kereshetünk, token átadása nélkül. A vendég csak a blogok mappa tartalmához férhet hozzá.
Kísérletezzen más lekérdezések használatával, amelyekre bejelentkezve különböző felhasználókként és csoportokként gondolhat, és figyelje meg az eredményeket.
Tisztítsuk meg
A jövőbeni költségek elkerülése érdekében tisztítsa meg a megoldás részeként létrehozott erőforrásokat. A megoldás tesztelése során létrehozott Amazon Kendra index és S3 gyűjtőtár törléséhez lásd: Razzia. A Secrets Manager titkos törléséhez lásd: Töröljön egy AWS Secrets Manager titkot.
Következtetés
Ebben a bejegyzésben láthattuk, hogyan tud az Amazon Kendra olyan biztonságos kereséseket végrehajtani, amelyek csak a felhasználói hozzáférés alapján adnak vissza keresési eredményeket. A megosztott titkos kulccsal rendelkező JWT hozzáadásával egyszerűen ellenőrizhetjük az egyes felhasználók, valamint a keresést végző felhasználói csoportok kilétét. Ez a hasonló megközelítés kiterjeszthető a JWT nyilvános kulccsal. További információért lásd: JSON Web Token (JWT) használata megosztott titkokkal.
A szerzőkről
Nitin Eusebius Sr. Enterprise Solutions Architect az AWS-nél, több mint 18 éves tapasztalattal a szoftverfejlesztés és a vállalati architektúra területén. Ügyfeleivel együttműködve segít nekik jól felépített alkalmazásokat készíteni az AWS platformon. Szenvedélyesen foglalkozik a technológiai kihívások megoldásával, és segíti az ügyfeleket a felhőalapú utazásukban.
Kruthi Jayasimha Rao Partner Solutions Architect, aki a mesterséges intelligenciára és az ML-re összpontosít. Technikai útmutatást ad az AWS-partnereknek a bevált gyakorlatok követéséhez, hogy biztonságos, rugalmas és magasan elérhető megoldásokat építsenek ki az AWS felhőben.
Ishan Berry az Amazon Web Services szoftvermérnöke, az Amazon Kendra vállalati keresőmotoron dolgozik. Szenvedélyesen rajong a biztonságért, és az elmúlt 2 évben a Kendra hozzáférés-vezérlési funkcióinak kulcsfontosságú összetevőin dolgozott.
Akash Bhatia az AWS fő megoldási építésze. Jelenleg arra törekszik, hogy segítse a vállalati ügyfeleket üzleti eredményeik elérésében innovatív és rugalmas megoldások széles körű megtervezésével és megvalósításával. Több mint 15 éve dolgozik technológiai területen a Fortune 100-tól a gyártási, repülési és kiskereskedelmi ágazatok induló vállalkozásaiig.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- A jövő pénzverése – Adryenn Ashley. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/secure-your-amazon-kendra-indexes-with-the-acl-using-a-jwt-shared-secret-key/
- :is
- $ UP
- 10
- 100
- 11
- 15 év
- 420
- 7
- 8
- 9
- a
- Képes
- Rólunk
- hozzáférés
- elérni
- pontos
- Elérése
- át
- mellett
- légtér
- Után
- AI
- algoritmus
- Minden termék
- lehetővé teszi, hogy
- amazon
- Amazon Kendra
- Az Amazon Web Services
- között
- elemző
- és a
- api
- Alkalmazás
- alkalmazások
- alkalmaz
- megközelítés
- építészet
- VANNAK
- AS
- At
- attribútumok
- Hitelesítés
- meghatalmazás
- automatikusan
- elérhető
- AWS
- alapján
- BE
- mert
- hogy
- BEST
- legjobb gyakorlatok
- között
- Bit
- blogok
- épít
- üzleti
- by
- hívás
- hívott
- TUD
- eset
- Esettanulmányok
- kihívás
- kihívások
- választás
- A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a
- követelések
- osztály
- vásárló
- felhő
- kód
- Companies
- teljes
- alkatrészek
- Configuration
- Konzol
- tartalmaz
- tartalmaz
- tartalom
- tartalom
- ellenőrzés
- ellenőrzések
- Megfelelő
- kiadások
- teremt
- készítette
- létrehozása
- teremtés
- kritikai
- crypto
- kriptográfiai
- Jelenlegi
- szokás
- Ügyfelek
- dátum
- találka
- alapértelmezett
- bizonyítani
- mutatja
- tervezett
- részlet
- részletek
- különböző
- nehéz
- szétszórt
- dokumentum
- dokumentumok
- le-
- alatt
- minden
- könnyen
- lehetővé teszi
- Motor
- mérnök
- Mérnöki
- biztosítására
- belép
- Vállalkozás
- példa
- csere
- tapasztalat
- Kudarc
- Funkció
- Jellemzők
- Fields
- Fájlok
- szűrő
- Szűrők
- Összpontosít
- következik
- következő
- A
- Szerencse
- ból ből
- Tele
- jövő
- Nyereség
- generál
- generált
- generáció
- Csoport
- Csoportok
- Vendég
- útmutatást
- Útmutatók
- Legyen
- fejlécek
- segít
- nagyon
- Hogyan
- How To
- HTML
- http
- HTTPS
- ID
- azonosító
- Identitás
- végrehajtási
- importál
- in
- tartalmaz
- Beleértve
- index
- indexek
- egyéni
- információ
- újító
- azonnali
- helyette
- utasítás
- Intelligens
- ISS
- kiadás
- Kiadott
- IT
- ITS
- Jáva
- János
- utazás
- json
- Jwt
- Kulcs
- kulcsok
- Kölyök
- TANUL
- mint
- vonal
- Lista
- néz
- hasonló
- MEGJELENÉS
- készült
- csinál
- Gyártás
- menedzser
- mód
- gyártási
- sok
- Mérkőzés
- párosított
- eszközök
- meta
- Metaadatok
- Perc
- ML
- több
- név
- Nevezett
- Keresse
- Navigáció
- Új
- objektumok
- megfigyelni
- of
- on
- nyitva
- nyílt forráskódú
- érdekében
- szervezetek
- Más
- körvonalak
- csomag
- oldal
- párok
- üvegtábla
- paraméterek
- rész
- partner
- partnerek
- alkatrészek
- elhalad
- Múló
- szenvedélyes
- múlt
- Teljesít
- előadó
- emelvény
- Plató
- Platón adatintelligencia
- PlatoData
- Politikák
- állás
- gyakorlat
- Készít
- korábban
- Fő
- magán
- folyamat
- Termelés
- ad
- ellátó
- biztosít
- nyilvános
- lekérdezések
- hatótávolság
- kezdve
- Olvass
- kap
- kapott
- kap
- tekintettel
- cserélni
- Jelentések
- raktár
- követelmények
- rugalmas
- Tudástár
- válasz
- felelős
- eredményez
- Eredmények
- kiskereskedelem
- megtartása
- visszatérés
- mutatják
- Szerep
- rsa
- futás
- Skála
- forgatókönyvek
- Keresés
- kereső
- Titkos
- Rész
- biztonság
- biztosított
- biztosan
- biztonság
- különálló
- szolgáltatás
- Szolgáltató
- Szolgáltatások
- készlet
- számos
- SHA256
- Megosztás
- megosztott
- kellene
- előadás
- Műsorok
- <p></p>
- aláírt
- jelentős
- aláírás
- hasonló
- egyszerűsített
- szoftver
- Software Engineer
- szoftverfejlesztés
- megoldások
- Megoldások
- Megoldása
- forrás
- különleges
- meghatározott
- standard
- induló
- Lépés
- Lépései
- memorizált
- áramvonalas
- Húr
- struktúra
- tanulmányok
- ilyen
- Támogatott
- Támogatja
- rendszer
- táblázat
- Vesz
- Műszaki
- Technológia
- bérlő
- terminál
- teszt
- Tesztelés
- hogy
- A
- az információ
- azok
- Őket
- Ezek
- három
- Keresztül
- idő
- nak nek
- jelképes
- tokenek
- típusok
- egységes
- URL
- Használat
- használ
- használati eset
- használó
- Felhasználók
- ÉRVÉNYESÍT
- érvényesítés
- érték
- különféle
- Igazolás
- ellenőrzése
- függőlegesek
- háló
- webes szolgáltatások
- JÓL
- ami
- míg
- Fehér papírok
- WHO
- széles
- Széleskörű
- lesz
- val vel
- belül
- nélkül
- dolgozott
- dolgozó
- művek
- Műhelyek
- év
- te
- A te
- zephyrnet
- Postai irányítószám