Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poskytovatel Unauthenticated říká Tvůrci rozhraní DATA API (DAB), aby neprověřil ani neověřil žádný webový token JSON (JWT). Každý požadavek běží jako role anonymous. V jazyce DAB nejsou žádné výjimky.
Poznámka:
Funkce Tvůrce rozhraní Data API popsaná v této části je k dispozici ve verzi 2.0 a novější. Další informace najdete v tématu Co je nového ve verzi 2.0.
Tento zprostředkovatel použijte, pokud chcete, aby DAB zpracovával všechny požadavky jako anonymous, i když jiná služba před DAB provádí ověřování nebo používá zásady přístupu.
Důležité
Unauthenticated Zprostředkovatel nikdy nezměňuje vstupní identitu na identitu DAB. Pokud potřebujete DAB k ověření tokenů, aktivovat roli authenticated, použít vlastní role nebo předat uživatelská oprávnění do podřízených zásad, použijte ověřovacího zprostředkovatele, jako je EntraId, Custom nebo AppService.
Průběh ověřování
Unauthenticated U zprostředkovatele DAB přeskočí ověření tokenu úplně a vyhodnotí oprávnění taktoanonymous:
| Fáze | Co se stane |
|---|---|
| Požadavek klienta | Klient odešle žádost daB přímo nebo prostřednictvím jiné služby. |
| Vstupní ovládací prvky | Front-end, brána nebo proxy server můžou volajícího ověřit nebo před přesměrováním požadavku vynutit hrubě odstupňovaný přístup. |
| Přeposlání požadavku | Požadavek dorazí k DAB. |
| Zpracování DAB | DAB neověřuje JWT a vždy považuje požadavek za anonymous |
| Authorization | DAB vyhodnotí oprávnění entit pro anonymous roli. |
Kdy použít tohoto poskytovatele
Používá se Unauthenticated v těchto scénářích:
| Scénář | Dobrý fit? | Proč |
|---|---|---|
| Služba API Management nebo brána nejprve ověřuje uživatele. | Ano | Front-end může řídit přístup, zatímco DAB stále autorizuje požadavky pouze pro anonymous roli. |
| Služba pouze interní za hranicí soukromé sítě | Ano | Přístup k síti se řídí mimo DAB a DAB může zůstat anonymouspouze |
| Rychlé místní nastavení bez konfigurace ověřování JWT | Ano | Nejjednodušší způsob, jak začít |
| DAB vystavený přímo prohlížečům nebo veřejným klientům | Ne | DAB neověřuje tokeny identit |
Potřebujete authenticated nebo vlastní aktivaci role v jazyce DAB |
Ne | Pouze anonymous je aktivní s tímto poskytovatelem. |
Stručná referenční dokumentace
| Setting | Hodnota |
|---|---|
| Poskytovatel | Unauthenticated |
| Požadovaný token | Ne |
| Aktivní role DAB | anonymous |
| Podporuje ověřování JWT. | Ne |
Podporuje authenticated roli |
Ne |
| Podporuje vlastní role. | Ne |
Krok 1: Konfigurace zprostředkovatele
Nastavte zprostředkovatele ověřování na Unauthenticated.
CLI
dab configure \
--runtime.host.authentication.provider Unauthenticated
Výsledná konfigurace
{
"runtime": {
"host": {
"authentication": {
"provider": "Unauthenticated"
}
}
}
}
Poznámka:
Unauthenticated Zprostředkovatel je výchozí pro nové konfigurace v DAB 2.0. Spuštění dab init vytvoří funkční konfiguraci bez nastavení JWT.
Krok 2: Konfigurace oprávnění entity pro anonymous
Vzhledem k tomu, že DAB zpracovává všechny požadavky jako anonymous, musí vaše entity udělit přístup roli anonymous pro jakoukoliv operaci, kterou chcete povolit.
Příklad konfigurace
{
"entities": {
"Book": {
"source": "dbo.Books",
"permissions": [
{
"role": "anonymous",
"actions": ["read"]
}
]
}
}
}
Pokud entita udělí přístup pouze k authenticated nebo vlastní roli, požadavky selžou, protože tyto role nejsou nikdy aktivovány při konfiguraci Unauthenticated.
Důležité
Pokud je Unauthenticated aktivní, authenticated a vlastní role definované v oprávněních entity se nikdy neaktivují. Pokud vaše konfigurace obsahuje tyto role, DAB při spuštění vygeneruje upozornění.
Krok 3: Volitelně umístěte jinou službu před DAB
Jiná služba může stále ověřovat volající nebo používat hrubě odstupňovaná pravidla přístupu, než požadavek dosáhne DAB. To nemění chování DAB:
- Ověřte volajícího na front-endu, bráně nebo proxy serveru.
- Tady použijte hrubě odstupňované zásady přístupu.
- Přeposlání schválených žádostí do DAB
- Pomocí oprávnění entity DAB můžete řídit, co
anonymousmůže role dělat.
Tento model funguje dobře, když okolní platforma řídí, kdo může dosáhnout DAB, zatímco DAB zůstává záměrně anonymous-only.
Co tento poskytovatel nedělá
Poskytovatel Unauthenticated ne:
- ověření nosných tokenů
- aktivovat roli
authenticated - aktivace vlastních rolí z nároků
- zpřístupnit nároky pro zásady databáze
- provádění autorizace specifické pro uživatele uvnitř DAB
Pokud tyto funkce potřebujete, použijte zprostředkovatele, který poskytuje identitu pro DAB.
Příklad dokončení konfigurace
{
"$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"]
}
]
}
}
}