Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Skorzystaj z tych przykładów zabezpieczeń Microsoft SQL, aby porównać, jak Data API builder (DAB) uwierzytelnia się w SQL, weryfikuje użytkowników i egzekwuje dostęp na poziomie użytkownika. Każdy przykład jest samodzielny, ale seria przechodzi od podstawowych poświadczeń do delegowanego przez użytkownika dostępu do usługi Azure SQL.
Wybieranie przewodnika Szybki start
Zacznij od pytania zgodnego z twoim celem.
| Jeśli chcesz... | Skorzystaj z tego przewodnika Szybki start |
|---|---|
| Poznaj najprostszy wzorzec połączenia DAB-to-SQL | Username/password |
| Usuwanie haseł SQL z konfiguracji Azure | Tożsamość zarządzana |
| Dodaj weryfikację tokenu Microsoft Entra przed wymaganiem logowania | Microsoft Entra |
| Filtrowanie wierszy w języku DAB przy użyciu oświadczeń tokenu | Zasady DAB |
| Filtrowanie wierszy w języku SQL przy użyciu zabezpieczeń na poziomie wiersza wymuszanych przez bazę danych | Zabezpieczenia na poziomie wiersza SQL |
| Zezwalaj Azure SQL na bezpośrednie uwierzytelnianie zalogowanego użytkownika | W imieniu użytkownika do usługi Azure SQL |
Drzewo decyzyjne
- Czy potrzebujesz tylko podstawowego przykładu roboczego?
- Użyj nazwy użytkownika/hasła.
- Czy chcesz uzyskać dostęp do Azure SQL bez hasła z DAB?
- Użyj tożsamości zarządzanej.
- Czy potrzebujesz DAB do weryfikacji tokenów Microsoft Entra?
- Użyj Microsoft Entra.
- Czy zalogowani użytkownicy muszą widzieć tylko własne wiersze?
- Jeśli język DAB powinien wymuszać filtr, użyj zasad języka DAB.
- Jeśli program SQL powinien wymusić filtr, użyj zabezpieczeń na poziomie wiersza SQL.
- Czy dzienniki inspekcji lub zasady bazy danych wymagają rzeczywistego zalogowanego użytkownika jako tożsamości SQL?
Porównanie modelu zabezpieczeń
Kolumna dostawca uwierzytelniania DAB pokazuje wartość efektywną dla runtime.host.authentication.provider. Jeśli konfiguracja pomija to ustawienie, w języku DAB jest używany element Unauthenticated. Z wyjątkiem przykładów z nazwą użytkownika i hasłem oraz przykładów typu on-behalf-of, lokalne uruchomienia korzystają z poświadczeń SQL, a wdrożenia na platformie Azure używają tożsamości zarządzanej. Przykład on-behalf-of również ustawia data-source.user-delegated-auth.provider na EntraId.
| Szybki start | Od użytkownika do aplikacji internetowej | Aplikacja internetowa do DAB | Dostawca uwierzytelniania DAB | DAB to SQL |
|---|---|---|---|---|
| Username/password | Anonimowy | Anonimowy | Unauthenticated |
Poświadczenia SQL |
| Tożsamość zarządzana | Anonimowy | Anonimowy | Unauthenticated |
Tożsamość zarządzana w Azure |
| Microsoft Entra | Anonimowy | Anonimowy | EntraId |
Tożsamość zarządzana w Azure |
| Zasady DAB | Logowanie w usłudze Microsoft Entra | Token elementu nośnego | EntraId |
Tożsamość zarządzana w Azure |
| Zabezpieczenia na poziomie wiersza SQL | Logowanie w usłudze Microsoft Entra | Token elementu nośnego | EntraId |
Tożsamość zarządzana w Azure |
| W imieniu użytkownika do Azure SQL | Logowanie w usłudze Microsoft Entra | Token elementu nośnego | EntraId |
Token delegowany przez użytkownika do Azure SQL |