Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Unauthenticated szolgáltató arra utasítja a Data API Buildert (DAB), hogy ne vizsgálja meg vagy ellenőrizze a JSON-webjogkivonatokat (JWT). Minden kérés anonymous szerepkörként fut. A DAB-n belül nincsenek kivételek.
Megjegyzés:
Az ebben a szakaszban ismertetett Data API builder funkció a 2.0-s és újabb verziókban érhető el. További információ: A 2.0-s verzió újdonságai.
Ezt a szolgáltatót akkor használja, ha azt szeretné, hogy a DAB minden kérést anonymous-ként kezeljen, még akkor is, ha a DAB előtt egy másik szolgáltatás hitelesítést végez, vagy hozzáférési szabályzatot alkalmaz.
Fontos
A Unauthenticated szolgáltató soha nem alakítja át a forrás identitását DAB-identitássá. Ha a jogkivonatok érvényesítéséhez DAB-ra van szüksége, aktiválja a authenticated szerepkört, egyéni szerepköröket használ, vagy felhasználói jogcímeket ad át az alsóbb rétegbeli szabályzatoknak, használjon érvényesítő szolgáltatót, például EntraId, Customvagy AppService.
Hitelesítési folyamat
A Unauthenticated szolgáltatónál a DAB teljesen kihagyja a token érvényesítését, és a következő módon értékeli az anonymous engedélyeket.
| Phase | Mi történik? |
|---|---|
| Ügyfélkérés | Az ügyfél közvetlenül vagy egy másik szolgáltatáson keresztül küld kérelmet a DAB-nak |
| Felsőbb rétegbeli vezérlők | Az előoldali, átjáró vagy proxy hitelesítheti a hívót, vagy durva szemcsés hozzáférést érvényesíthet, mielőtt továbbítja a kérést. |
| Kérelem továbbítása | A kérés eléri a DAB-t |
| DAB-feldolgozás | A DAB nem ellenőrzi a JWT-ket, és mindig úgy kezeli a kérést, mint anonymous |
| Authorization | A DAB kiértékeli a szerepkör entitásengedélyeit anonymous |
Mikor érdemes használni ezt a szolgáltatót?
Használja Unauthenticated az alábbi esetekben:
| Scenario | Jó illeszkedés? | Miért |
|---|---|---|
| Az API Management vagy az átjáró először hitelesíti a felhasználókat | Igen | Az előtér korlátozhatja a hozzáférést, miközben a DAB továbbra is csak a anonymous szerepkör kéréseit engedélyezi. |
| Csak belső szolgáltatás magánhálózati határ mögött | Igen | A hálózati hozzáférés szabályozása a DAB-n kívül történik, így a DAB anonymous módú maradhat. |
| Gyors helyi beállítás JWT-ellenőrzés konfigurálása nélkül | Igen | Az első lépések legegyszerűbb módja |
| Közvetlenül böngészőknek vagy nyilvános ügyfeleknek kitett DAB | No | A DAB nem érvényesíti az identitásjogkivonatokat |
Szükség van authenticated vagy egyéni szerepkör-aktiválásra a DAB-on |
No | Csak anonymous ezzel a szolgáltatóval aktív |
Rövid összefoglalás
| Setting | Érték |
|---|---|
| Szolgáltató | Unauthenticated |
| Hozzáférési token szükséges | No |
| Aktív DAB-szerepkör | anonymous |
| Támogatja a JWT érvényesítését | No |
Támogatja a authenticated szerepkört |
No |
| Egyéni szerepkörök támogatása | No |
1. lépés: A szolgáltató konfigurálása
Állítsa be a hitelesítési szolgáltatót a következőre Unauthenticated: .
parancssori felület
dab configure \
--runtime.host.authentication.provider Unauthenticated
Az eredményként kapott konfiguráció
{
"runtime": {
"host": {
"authentication": {
"provider": "Unauthenticated"
}
}
}
}
Megjegyzés:
A Unauthenticated szolgáltató az alapértelmezett az új konfigurációkhoz a DAB 2.0-ban. A futtatás dab init JWT-beállítások nélkül hoz létre működő konfigurációt.
2. lépés: Entitásengedélyek konfigurálása anonymous
Mivel a DAB az összes kérést a anonymouskövetkezőképpen kezeli, az entitásoknak hozzáférést kell adniuk a anonymous szerepkörhöz minden engedélyezni kívánt művelethez.
Konfigurációs példa
{
"entities": {
"Book": {
"source": "dbo.Books",
"permissions": [
{
"role": "anonymous",
"actions": ["read"]
}
]
}
}
}
Ha egy entitás csak a authenticated vagy egy egyéni szerepkör számára ad hozzáférést, a kérések meghiúsulnak, mert ezek a szerepkörök nem aktiválódnak, amikor a Unauthenticated van konfigurálva.
Fontos
Ha Unauthenticated aktív, authenticated és az entitásengedélyekben definiált egyéni szerepkörök soha nem aktiválódnak. Ha a konfiguráció tartalmazza ezeket a szerepköröket, a DAB figyelmeztetést ad ki indításkor.
3. lépés: Másik szolgáltatás elhelyezése a DAB elé
Egy másik szolgáltatás továbbra is hitelesítheti a hívókat, vagy durva hozzáférési szabályokat alkalmazhat, mielőtt a kérés eléri a DAB-t. Ez nem változtatja meg a DAB viselkedését:
- Hitelesítse a hívót az előtérben, az átjáróban vagy a proxyban.
- Durva szemcsés hozzáférési szabályzatot alkalmazhat ott.
- A jóváhagyott kérések továbbítása a DAB-nak.
- DAB-entitásengedélyek használatával szabályozhatja, hogy a
anonymousszerepkör mire képes.
Ez a minta akkor működik jól, ha egy környező platform szabályozza, hogy ki érheti el a DAB-t, miközben a DAB szándékosan csak anonymous marad.
Mit nem tesz ez a szolgáltató?
A Unauthenticated szolgáltató nem:
- bearer tokenok érvényesítése
- aktiválja a
authenticatedszerepkört - egyéni szerepkörök aktiválása jogcímekből
- igények elérhetővé tétele adatbázis-politikák számára
- felhasználóspecifikus hitelesítés végrehajtása a DAB-ben
Ha szüksége van ezekre a képességekre, használjon egy olyan szolgáltatót, amely identitást biztosít a DAB-nak.
Teljes konfigurációs példa
{
"$schema": "https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json",
"data-source": {
"database-type": "mssql",
"connection-string": "@env('SQL_CONNECTION_STRING')"
},
"runtime": {
"host": {
"authentication": {
"provider": "Unauthenticated"
}
}
},
"entities": {
"Book": {
"source": "dbo.Books",
"permissions": [
{
"role": "anonymous",
"actions": ["read"]
}
]
}
}
}