Maailmanlaajuisesti monilla organisaatioilla on kriittistä liiketoimintatietoa hajallaan eri sisältövarastoissa, mikä vaikeuttaa näiden tietojen suoraviivaista ja yhtenäistä käyttöä. Yhtenäisen ja suojatun hakukokemuksen luominen on merkittävä haaste organisaatioille, koska jokainen arkisto sisältää laajan valikoiman dokumenttimuotoja ja pääsynhallintamekanismeja.
Amazon Kendra on älykäs yrityshakupalvelu, jonka avulla käyttäjät voivat tehdä hakuja eri sisältövarastoista. Asiakkaat ovat vastuussa käyttäjien todentamisesta ja valtuuttamisesta pääsemään hakusovellukseensa, ja Amazon Kendra mahdollistaa yrityssovellusten suojatun haun varmistaen, että käyttäjän hakukyselyn tulokset sisältävät vain asiakirjoja, joita käyttäjällä on oikeus lukea. Amazon Kendra voi helposti vahvistaa yksittäisten käyttäjien henkilöllisyyden sekä hakuja suorittavien käyttäjäryhmien henkilöllisyyden lisäämällä suojattuja hakutunnuksia. Kun lisäät käyttäjätunnuksia suojattua hakua varten, pääsyyn perustuvien suodatettujen hakujen suorittaminen Amazon Kendrassa on yksinkertaisempaa ja suojattua. Voit siirtää käyttäjien käyttöoikeustiedot turvallisesti kyselyn hyötykuormassa sen sijaan, että käyttäisit attribuuttisuodattimia tämän suorittamiseen. Tämän ominaisuuden avulla Amazon Kendra voi vahvistaa tunnustiedot ja käyttää niitä automaattisesti hakutuloksissa tarkan ja turvallisen pääsypohjaisen suodatuksen varmistamiseksi.
Amazon Kendra tukee token-pohjaista käyttäjien pääsynhallintaa käyttämällä seuraavia tunnustyyppejä:
- Avaa tunnus
- JWT yhteisellä salaisuudella
- JWT julkisella avaimella
- JSON
Aiemmin näimme mielenosoituksen token-pohjainen käyttäjän pääsynhallinta Amazon Kendrassa Open ID:llä. Tässä viestissä esittelemme token-pohjaisen käyttäjän pääsynhallinnan Amazon Kendrassa JWT:n kanssa jaetulla salaisuudella. JWT tai JSON Web Token on avoin standardi, jota käytetään tietoturvatietojen jakamiseen asiakkaan ja palvelimen välillä. Se sisältää koodattuja JSON-objekteja, mukaan lukien joukon vaatimuksia. JWT:t allekirjoitetaan salausalgoritmilla sen varmistamiseksi, että vaatimuksia ei voida muuttaa tunnuksen antamisen jälkeen. JWT:t ovat hyödyllisiä valtuutuksia ja tiedonvaihtoa koskevissa skenaarioissa.
JWT:t koostuvat kolmesta pisteillä (.) erotetusta osasta:
- Ylätunniste – Se sisältää osia, kuten tunnuksen tyypin, joka on JWT, käytettävän allekirjoitusalgoritmin, kuten HMAC SHA256 tai RSA, ja valinnaisen avaimen tunnisteen.
- hyötykuorma – Tämä sisältää useita avainarvopareja, ns vaatimukset, jotka identiteetin tarjoaja on myöntänyt. Useiden tunnuksen myöntämiseen ja vanhenemiseen liittyvien vaatimusten lisäksi token voi sisältää tietoja yksittäisestä päämiehestä ja vuokralaisesta.
- allekirjoitus – Luodaksesi allekirjoitusosan, otat koodatun otsikon, koodatun hyötykuorman, salaisuuden, otsikossa määritellyn algoritmin ja allekirjoitat sen.
Siksi JWT näyttää tältä:
Seuraava on esimerkkiotsikko:
Seuraava on esimerkki hyötykuormasta:
JWT luodaan salaisella avaimella, ja tämä salainen avain on sinulle yksityinen, mikä tarkoittaa, että et koskaan paljasta sitä yleisölle tai syötä sitä JWT:n sisään. Kun saat JWT:n asiakkaalta, voit tarkistaa JWT:n palvelimelle tallennetulla salaisella avaimella. Kaikki JWT:hen tehtävät muutokset johtavat todentamisen (JWT-validoinnin) epäonnistumiseen.
Tämä viesti esittelee JWT:n esimerkkikäytön jaetun pääsyavaimen avulla ja sen käytön Amazon Kendra -indeksien suojaamiseen pääsynhallinnan avulla. Tuotannossa käytät JWT:iden luomiseen valitsemaasi suojattua todennuspalveluntarjoajaa tarpeidesi perusteella.
Lisätietoja JWT:istä on osoitteessa Johdatus JSON Web Tokeneihin.
Ratkaisun yleiskatsaus
Samanlainen posti Open ID:n avulla tämä ratkaisu on suunniteltu joukolle käyttäjiä ja ryhmiä tekemään hakukyselyitä asiakirjavarastoon, ja tulokset palautetaan vain niistä asiakirjoista, joilla on käyttöoikeus kyseisessä ryhmässä. Seuraavassa taulukossa esitetään, mitä asiakirjoja kullakin käyttäjällä on käyttötapauksessamme. Tässä esimerkissä käytetyt asiakirjat ovat osa AWS:n julkisia asiakirjoja.
käyttäjä | Ryhmä | Asiakirjan tyyppi on sallittu |
vieras | . | blogit |
Patricia | Asiakas | Blogit, käyttöoppaat |
Jaakob | Myynti | Blogit, käyttöoppaat, tapaustutkimukset |
Johannes | Marketing | Blogit, käyttöoppaat, tapaustutkimukset, analyytikkoraportit |
Maria | Solutions-arkkitehti | Blogit, käyttöoppaat, tapaustutkimukset, analyytikkoraportit, julkaisut |
Seuraava kaavio havainnollistaa JWT:n luomista jaetulla pääsyavaimella, jolla ohjataan käyttäjien pääsyä tiettyihin Amazon Kendra -hakemiston asiakirjoihin.
Kun Amazon Kendra -indeksi vastaanottaa kyselyn API-kutsun, jossa on käyttäjätunnus, se vahvistaa tunnuksen käyttämällä jaettua salaista avainta (tallennettu turvallisesti AWS -salaisuuksien hallinta) ja saa parametrit, kuten käyttäjänimen ja ryhmät hyötykuormassa. Amazon Kendra -indeksi suodattaa hakutulokset tallennetun Access Control List (ACL) -luettelon ja käyttäjän JWT:hen vastaanotettujen tietojen perusteella. Nämä suodatetut tulokset palautetaan vastauksena sovelluksen kyselyyn API-kutsu.
Edellytykset
Jotta voit seurata tämän viestin vaiheita, varmista, että sinulla on seuraavat asiat:
Luo JWT jaetulla salaisella avaimella
Seuraava esimerkki Java-koodista näyttää, kuinka luodaan JWT jaetulla salaisella avaimella avoimen lähdekoodin avulla jsonwebtoken paketti. Tuotannossa käytät JWT:iden luomiseen valitsemaasi suojattua todennuspalveluntarjoajaa tarpeidesi perusteella.
Välitämme käyttäjänimen ja ryhmien tiedot vaatimuksina hyötykuormassa, allekirjoitamme JWT:n jaetulla salaisuudella ja luomme kyseiselle käyttäjälle ominaisen JWT:n. Anna salaisuutena 256-bittinen merkkijono ja säilytä base64 URL-koodatun jaetun salaisuuden arvo käytettäväksi myöhemmässä vaiheessa.
Luo Amazon Kendra -indeksi JWT:n jaetulla salaisuudella
Katso ohjeet Amazon Kendra -indeksin luomiseen Hakemiston luominen. Merkitse muistiin AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) rooli, jonka loit prosessin aikana. Anna roolin käyttöoikeus S3-säilölle ja Secrets Managerille seuraavien vähiten etuoikeusperiaatetta. Katso esimerkiksi käytännöt Esimerkki IAM-identiteettiin perustuvista käytännöistä. Kun olet luonut indeksin, Amazon Kendra -konsolisi pitäisi näyttää seuraavalta kuvakaappaukselta.
Lisää salaisuutesi suorittamalla seuraavat vaiheet:
- Siirry Amazon Kendra -konsolissa kohtaan Käyttäjän käytön valvonta -välilehti hakemiston tietosivulla.
- Valita Muokkaa asetuksia.
- Koska käytämme tunnuspohjaista pääsynhallintaa, valitse Kyllä varten Kulunvalvontaasetukset.
- Alle Tokenin määritys, valitse JWT jaetulla salaisuudella varten Tunnustyyppi.
- varten Salaisuuden tyyppi, valitse Uusi.
- varten Salainen nimi, tulla sisään
AmazonKendra-jwt-shared-secret
tai mikä tahansa valitsemasi nimi. - varten Avaimen tunnus, anna avaintunnus, joka vastaa JWT:täsi, jonka loit Java-mallikoodissa.
- varten algoritmi, valitse HS256-algoritmi.
- varten Jaettu salaisuus, anna säilytetty base64-URL-koodattu salaisuus, joka on luotu aiemmin Java-koodista.
- Valita Tallenna salaisuus.
Salaisuus tallennetaan nyt Secrets Manageriin JSON-verkkoavainsarjana (JWKS). Löydät sen Secrets Manager -konsolista. Katso lisätietoja osoitteesta JSON-verkkotunnuksen (JWT) käyttäminen jaetun salaisuuden kanssa.
- Laajenna Lisäasetukset osiossa.
Tässä vaiheessa määritämme käyttäjänimen ja ryhmät, jotka poimitaan JWT-vaatimuksista ja yhdistetään ACL-luetteloon, kun allekirjoitus on kelvollinen.
- varten Käyttäjätunnussyötä käyttäjätunnus.
- varten Ryhmät, syötä ryhmiä.
- Jätä valinnaiset kentät oletusarvoiksi.
- Valita seuraava, valitse sitten Päivitykset.
Valmistele S3-ämpärisi tietolähteeksi
Valmistele S3-säilö tietolähteeksi luomalla S3-säilö. Terminaalissa AWS-komentoriviliitäntä (AWS CLI) tai AWS CloudShell, suorita seuraavat komennot ladataksesi asiakirjat ja metatiedot tietolähteen ryhmään:
Kyselyt asiakirjat tallennetaan S3-ämpäriin. Jokaisella asiakirjatyypillä on oma kansio: blogit, tapaustutkimukset, analyytikkoraportit, käyttöoppaat ja tiedotteet. Tämä kansiorakenne sisältyy kansioon nimeltä Data. Metatietotiedostot, mukaan lukien ACL-luettelot, ovat Meta-nimisessä kansiossa.
Käytämme Amazon Kendra S3 -liitintä tämän S3-ämpäri määrittämiseen tietolähteeksi. Kun tietolähde synkronoidaan Amazon Kendra -indeksin kanssa, se indeksoi ja indeksoi kaikki asiakirjat sekä kerää ACL-luettelot ja asiakirjan attribuutit metatietotiedostoista. Lisätietoja metatietotiedostoja käyttävistä ACL-luetteloista on kohdassa Amazon S3 -asiakirjan metatiedot. Tässä esimerkissä käytämme mukautettua attribuuttia DocumentType
ilmaisemaan asiakirjan tyypin. Latauksen jälkeen S3-säilösi rakenteen pitäisi näyttää seuraavalta kuvakaappaukselta.
Mukautetun määritteen asettaminen DocumentType
, suorita seuraavat vaiheet:
- Valitse Kendra-indeksisi ja valitse Fasetin määritelmä navigointipaneelissa.
- Valita Lisää kenttä.
- varten Kenttä nimi, tulla sisään
DocumentType
. - varten Tietotyyppi, valitse jono.
- Valita Lisää.
Nyt voit syöttää asiakirjoja luomastasi lokerosta Amazon Kendra -hakemistoon S3-liittimen avulla. Katso täydelliset ohjeet kohdasta Asiakirjojen käsittely Amazon Kendra S3 -liittimen kautta.
- In Määritä synkronointiasetukset osa, varten Kirjoita tietolähteen sijainti, syötä S3-ämpärisi (
s3://kendra-demo-bucket/
). - varten Metatiedot-tiedostojen etuliite-kansion sijainti, tulla sisään
Meta/
. - Laajentaa Lisäkokoonpano.
- On Sisällytä kuviot välilehti Etuliite, tulla sisään
Data/
.
Lisätietoja tuetuista liittimistä on kohdassa Liittimet.
- Valita seuraava, sitten seuraava taas, sitten Päivitykset.
- Odota, että tietolähde on luotu, valitse sitten tietolähde ja valitse Synkronoi nyt.
Tietolähteen synkronointi voi kestää 10–15 minuuttia. Kun synkronointi on valmis, Viimeisimmän synkronoinnin tila pitäisi näyttää muodossa Onnistunut.
Tee kysely Amazon Kendra -indeksistä
Jos haluat suorittaa testikyselyn hakemistossasi, suorita seuraavat vaiheet:
- Valitse Amazon Kendra -konsolista Hae indeksoitua sisältöä navigointipaneelissa.
- Laajentaa Testaa kysely käyttöoikeustunnuksella.
- Valita Käytä tunnus.
- Voimme luoda JWT:n käyttäjälle ja ryhmälle. Tässä esimerkissä luomme JWT:lle
AWS-SA
ryhmä. Korvaamme käyttäjätunnuksen nimellä Mary ja ryhmät nimelläAWS-SA
JWT:n sukupolvivaiheessa. - Syötä luotu tunnus ja valitse käyttää.
ACL:n perusteella meidän pitäisi olla tuloksia kaikista kansioista: blogeista, käyttöoppaista, tapaustutkimuksista, analyytikkoraporteista ja julkaisuista.
Vastaavasti, kun kirjaudut sisään nimellä James osoitteesta AWS-Sales
ryhmässä ja läpäisemällä vastaavan JWT:n, meillä on pääsy vain blogeihin, käyttöoppaisiin ja tapaustutkimuksiin.
Voimme myös tehdä hakuja hakemistosta vieraana välittämättä tokenia. Vieras pääsee käsiksi vain blogikansion sisältöön.
Kokeile muita kyselyitä, joita voit ajatella ollessasi kirjautuneena eri käyttäjinä ja ryhminä, ja tarkkaile tuloksia.
Puhdistaa
Vältä tulevia kustannuksia puhdistamalla resurssit, jotka olet luonut osana tätä ratkaisua. Jos haluat poistaa ratkaisun testauksen aikana luodun Amazon Kendra -indeksin ja S3-ämpäri, katso Uudelleenjärjestäminen. Jos haluat poistaa Secrets Managerin salaisuuden, katso Poista AWS Secrets Managerin salaisuus.
Yhteenveto
Tässä viestissä näimme, kuinka Amazon Kendra voi suorittaa suojattuja hakuja, jotka palauttavat vain hakutuloksia käyttäjän pääsyn perusteella. Jaetun salaisen avaimen sisältävän JWT:n lisäämisen avulla voimme helposti vahvistaa yksittäisten käyttäjien ja hakuja suorittavien käyttäjäryhmien henkilöllisyyden. Tämä samanlainen lähestymistapa voidaan laajentaa a JWT julkisella avaimella. Lisätietoja saat osoitteesta JSON-verkkotunnuksen (JWT) käyttäminen jaetun salaisuuden kanssa.
Tietoja Tekijät
Nitin Eusebius on AWS:n vanhempi yritysratkaisuarkkitehti, jolla on yli 18 vuoden kokemus ohjelmistosuunnittelusta ja yritysarkkitehtuurista. Hän työskentelee asiakkaiden kanssa auttaakseen heitä rakentamaan hyvin suunniteltuja sovelluksia AWS-alustalle. Hän on intohimoinen ratkaisemaan teknologian haasteita ja auttamaan asiakkaita heidän pilvimatkallaan.
Kruthi Jayasimha Rao on kumppaniratkaisujen arkkitehti, joka keskittyy tekoälyyn ja ML:ään. Hän tarjoaa teknisiä ohjeita AWS-kumppaneille parhaiden käytäntöjen noudattamisessa turvallisten, joustavien ja erittäin saatavilla olevien ratkaisujen rakentamiseksi AWS-pilveen.
Ishan Berry on ohjelmistosuunnittelija Amazon Web Servicesissä ja työskentelee Amazon Kendrassa, yrityshakukoneessa. Hän on intohimoinen turvallisuudesta ja on työskennellyt Kendran kulunvalvontaominaisuuksien avainkomponenttien parissa viimeisen kahden vuoden aikana.
Akash Bhatia on AWS:n pääratkaisuarkkitehti. Hän keskittyy tällä hetkellä auttamaan yritysasiakkaita saavuttamaan liiketoimintansa tuloksia suunnittelemalla ja toteuttamalla innovatiivisia ja kestäviä ratkaisuja mittakaavassa. Hän on työskennellyt teknologian parissa yli 15 vuotta yrityksissä Fortune 100 -listalta uusiin yrityksiin valmistus-, ilmailu- ja vähittäiskaupan toimialoilla.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- Platoblockchain. Web3 Metaverse Intelligence. Tietoa laajennettu. Pääsy tästä.
- Tulevaisuuden lyöminen Adryenn Ashley. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/secure-your-amazon-kendra-indexes-with-the-acl-using-a-jwt-shared-secret-key/
- :On
- $ YLÖS
- 10
- 100
- 11
- 15 vuotta
- 420
- 7
- 8
- 9
- a
- pystyy
- Meistä
- pääsy
- suorittaa
- tarkka
- Saavuttaa
- poikki
- Lisäksi
- Aerospace
- Jälkeen
- AI
- algoritmi
- Kaikki
- mahdollistaa
- Amazon
- Amazon Kendra
- Amazon Web Services
- keskuudessa
- analyytikko
- ja
- api
- Hakemus
- sovellukset
- käyttää
- lähestymistapa
- arkkitehtuuri
- OVAT
- AS
- At
- attribuutteja
- Authentication
- lupa
- automaattisesti
- saatavissa
- AWS
- perustua
- BE
- koska
- ovat
- PARAS
- parhaat käytännöt
- välillä
- Bitti
- blogit
- rakentaa
- liiketoiminta
- by
- soittaa
- nimeltään
- CAN
- tapaus
- Asiakastapaukset
- haaste
- haasteet
- valinta
- Valita
- vaatimukset
- luokka
- asiakas
- pilvi
- koodi
- Yritykset
- täydellinen
- osat
- Konfigurointi
- Console
- sisältää
- sisältää
- pitoisuus
- sisältö
- ohjaus
- valvonta
- vastaava
- kustannukset
- luoda
- luotu
- Luominen
- luominen
- kriittinen
- Crypto
- salauksen
- Nykyinen
- asiakassuhde
- Asiakkaat
- tiedot
- Päivämäärä
- oletusarvo
- osoittaa
- osoittaa
- suunniteltu
- yksityiskohta
- yksityiskohdat
- eri
- vaikea
- dispergoituneena
- asiakirja
- asiakirjat
- alas
- aikana
- kukin
- helposti
- mahdollistaa
- Moottori
- insinööri
- Tekniikka
- varmistaa
- enter
- yritys
- esimerkki
- Vaihdetaan
- experience
- Epäonnistuminen
- Ominaisuus
- Ominaisuudet
- Fields
- Asiakirjat
- suodatus
- suodattimet
- Keskittää
- seurata
- jälkeen
- varten
- rikkaus
- alkaen
- koko
- tulevaisuutta
- Saada
- tuottaa
- syntyy
- sukupolvi
- Ryhmä
- Ryhmän
- vieras
- ohjaus
- Oppaat
- Olla
- otsikot
- auttaa
- erittäin
- Miten
- Miten
- HTML
- http
- HTTPS
- ID
- tunniste
- Identiteetti
- täytäntöönpanosta
- tuoda
- in
- sisältää
- Mukaan lukien
- indeksi
- indeksit
- henkilökohtainen
- tiedot
- innovatiivinen
- välitön
- sen sijaan
- ohjeet
- Älykäs
- ISS
- liikkeeseen
- Annettu
- IT
- SEN
- Jaava
- Johannes
- matka
- json
- Jwt
- avain
- avaimet
- Lapsi
- OPPIA
- pitää
- linja
- Lista
- katso
- näyttää joltakin
- ulkonäkö
- tehty
- tehdä
- Tekeminen
- johtaja
- tapa
- valmistus
- monet
- ottelu
- Hyväksytty
- välineet
- Meta
- Metadata
- minuuttia
- ML
- lisää
- nimi
- nimetty
- Navigoida
- suunnistus
- Uusi
- esineet
- tarkkailla
- of
- on
- avata
- avoimen lähdekoodin
- tilata
- organisaatioiden
- Muut
- ääriviivat
- paketti
- sivulla
- paria
- lasi
- parametrit
- osa
- kumppani
- kumppani
- osat
- kulkea
- Ohimenevä
- intohimoinen
- Ohi
- Suorittaa
- esittävä
- foorumi
- Platon
- Platonin tietotieto
- PlatonData
- politiikkaa
- Kirje
- käytännöt
- Valmistella
- aiemmin
- Pääasiallinen
- yksityinen
- prosessi
- tuotanto
- toimittaa
- toimittaja
- tarjoaa
- julkinen
- kyselyt
- alue
- alainen
- Lue
- vastaanottaa
- sai
- vastaanottaa
- suhteen
- korvata
- Raportit
- säilytyspaikka
- vaatimukset
- kimmoisa
- Esittelymateriaalit
- vastaus
- vastuullinen
- johtua
- tulokset
- vähittäiskauppa
- säilyttää
- palata
- paljastaa
- Rooli
- rsa
- ajaa
- Asteikko
- skenaariot
- Haku
- hakukone
- salaisuus
- Osa
- turvallinen
- turvattu
- turvallisesti
- turvallisuus
- erillinen
- palvelu
- Palveluntarjoaja
- Palvelut
- setti
- useat
- SHA256
- Jaa:
- yhteinen
- shouldnt
- näyttää
- Näytä
- merkki
- allekirjoitettu
- merkittävä
- allekirjoittaminen
- samankaltainen
- yksinkertaistettu
- Tuotteemme
- Software Engineer
- ohjelmistotuotanto
- ratkaisu
- Ratkaisumme
- Solving
- lähde
- erityinen
- määritelty
- standardi
- aloituksia
- Vaihe
- Askeleet
- tallennettu
- virtaviivainen
- jono
- rakenne
- opinnot
- niin
- Tuetut
- Tukee
- järjestelmä
- taulukko
- ottaa
- Tekninen
- Elektroniikka
- vuokralainen
- terminaali
- testi
- Testaus
- että
- -
- tiedot
- heidän
- Niitä
- Nämä
- kolmella
- Kautta
- aika
- että
- symbolinen
- tokens
- tyypit
- yhdistynyt
- URL
- Käyttö
- käyttää
- käyttölaukku
- käyttäjä
- Käyttäjät
- VAHVISTA
- validointi
- arvo
- eri
- Vahvistus
- todentaa
- pystysuunnassa
- verkko
- verkkopalvelut
- HYVIN
- joka
- vaikka
- Valkoiset paperit
- KUKA
- leveä
- Laaja valikoima
- tulee
- with
- sisällä
- ilman
- työskenteli
- työskentely
- toimii
- Työpajat
- vuotta
- Voit
- Sinun
- zephyrnet
- Postinumero