Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sağlayıcı, Unauthenticated Veri API'sinin oluşturucusunun (DAB) herhangi bir JSON Web Belirtecini (JWT) incelememesi veya doğrulamaması gerektiğini söyler. Her bir istek anonymous rolü olarak çalışır. DAB içinde özel durum yoktur.
Uyarı
Bu bölümde açıklanan Veri API oluşturucusu 2.0 işlevselliği şu anda önizleme aşamasındadır ve genel kullanılabilirlik öncesinde değişebilir. Daha fazla bilgi için bkz. Sürüm 2.0'daki yenilikler.
DAB'nin önündeki başka bir hizmet kimlik doğrulaması gerçekleştirse veya erişim ilkesi uygulasa bile, DAB'nin her isteği olarak anonymouskabul etmelerini istediğinizde bu sağlayıcıyı kullanın.
Önemli
Sağlayıcı Unauthenticated hiçbir zaman yukarı akış kimliğini DAB kimliğine dönüştürmez. Belirteçleri doğrulamak, rolü etkinleştirmekauthenticated, özel roller kullanmak veya kullanıcı taleplerini aşağı akış ilkelerine geçirmek için DAB'ye ihtiyacınız varsa, , EntraIdveya Customgibi AppServicebir doğrulama sağlayıcısı kullanın.
Kimlik doğrulama akışı
Sağlayıcı ile DAB, belirteç doğrulamasını Unauthenticated tamamen atlar ve izinleri olarak anonymousdeğerlendirir:
| Phase | Ne olur? |
|---|---|
| İstemci isteği | İstemci doğrudan veya başka bir hizmet aracılığıyla DAB'ye bir istek gönderir |
| Yukarı akış denetimleri | Ön uç, ağ geçidi veya ara sunucu, isteği iletmeden önce çağıranın kimliğini doğrulayabilir veya kaba ayrıntılı erişim uygulayabilir |
| İstek iletme | İstek DAB'ye ulaşır |
| DAB işleme | DAB JWT'leri doğrulamaz ve isteği her zaman anonymous olarak ele alır. |
| Authorization | DAB, anonymous rolü için varlık izinlerini değerlendirir. |
Bu sağlayıcı ne zaman kullanılır?
Şu senaryolarda kullanın Unauthenticated :
| Scenario | Uygun mu? | Neden? |
|---|---|---|
| API Management veya ağ geçidi önce kullanıcıların kimliğini doğrular | Evet | Ön uç erişimi kontrol edebilirken, DAB yalnızca anonymous rolü için istekleri yetkilendirmeye devam eder. |
| Yalnızca dahili hizmet, özel ağ sınırının arkasında | Evet | Ağ erişimi DAB dışında kontrol edilir ve DAB yalnızca anonymous kalabilir. |
| JWT doğrulamasını yapılandırmadan hızlı yerel kurulum | Evet | Kullanmaya başlamanın en basit yolu |
| Doğrudan tarayıcılara veya genel istemcilere sunulan DAB | Hayır | DAB kimlik belirteçlerini doğrulamaz |
DAB içinde authenticated veya özel rol etkinleştirmeye ihtiyacınız var. |
Hayır | Yalnızca anonymous bu sağlayıcıda etkindir |
Hızlı referans
| Setting | Değer |
|---|---|
| Provider | Unauthenticated |
| Belirteç gerekli | Hayır |
| Etkin DAB rolü | anonymous |
| JWT doğrulamayı destekler | Hayır |
authenticated rolünü destekler |
Hayır |
| Özel rolleri destekler | Hayır |
1. Adım: Sağlayıcıyı yapılandırma
Kimlik doğrulama sağlayıcısını olarak Unauthenticatedayarlayın.
CLI
dab configure \
--runtime.host.authentication.provider Unauthenticated
Sonuçta elde edilen yapılandırma
{
"runtime": {
"host": {
"authentication": {
"provider": "Unauthenticated"
}
}
}
}
Uyarı
Sağlayıcı Unauthenticated , DAB 2.0'daki yeni yapılandırmalar için varsayılandır. Çalıştırma dab init , herhangi bir JWT ayarı olmadan çalışan bir yapılandırma oluşturur.
2. Adım: Varlık izinlerini yapılandırma anonymous
DAB tüm istekleri anonymous gibi kabul ettiğinden, varlıklarınız izin vermek istediğiniz herhangi bir işlem için anonymous rolüne erişim sağlamalıdır.
Örnek yapılandırma
{
"entities": {
"Book": {
"source": "dbo.Books",
"permissions": [
{
"role": "anonymous",
"actions": ["read"]
}
]
}
}
}
Bir varlık yalnızca authenticated veya özel bir role erişim verirse, bu roller yapılandırıldığında Unauthenticated hiçbir zaman etkinleştirilmediğinden istekler başarısız olur.
Önemli
Etkin olduğunda Unauthenticated, authenticated ve varlık izinlerinde tanımlanan özel roller hiçbir zaman etkinleştirilmez. Yapılandırmanız bu rolleri içeriyorsa, DAB başlangıçta bir uyarı gösterir.
3. Adım: İsteğe bağlı olarak DAB'nin önüne başka bir hizmet yerleştirme
Başka bir hizmet, istek DAB'ye ulaşmadan önce arayanların kimliğini yine de doğrulayabilir veya daha ayrıntılı erişim kuralları uygulayabilir. Bu da DAB'nin davranışını değiştirmez:
- Ön uçta, ağ geçidinde veya ara sunucudaki çağıranın kimliğini doğrular.
- Burada genel çapta erişim politikası uygulayın.
- Onaylanan istekleri DAB'ye iletin.
- Rolün
anonymousneler yapabileceğini denetlemek için DAB varlık izinlerini kullanın.
Bu düzen, çevresindeki bir platform DAB'ye kimlerin ulaşabileceğini denetlerken, DAB kasıtlı olarak anonymous-yalnızca- kaldığında iyi çalışır.
Bu sağlayıcının gerçekleştirmediği işlem
Sağlayıcı Unauthenticated aşağıdakileri yapmaz:
- taşıyıcı belirteçleri doğrulama
-
authenticatedrolü etkinleştirme - taleplerden özel rolleri etkinleştirme
- Taleplerin veritabanı politikalarıyla uyumlu hale getirilmesi
- DAB içinde kullanıcıya özgü yetkilendirme gerçekleştirme
Bu özelliklere ihtiyacınız varsa DAB'ye kimlik sağlayan bir sağlayıcı kullanın.
Yapılandırmayı tamamlama örneği
{
"$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"]
}
]
}
}
}