Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эти примеры безопасности Microsoft SQL, чтобы сравнить, как Data API builder (DAB) проходит аутентификацию в SQL, проверяет пользователей и обеспечивает разграничение доступа на уровне отдельных пользователей. Каждый пример самодостаточен, но серия переходит от базовых учетных данных к доступу к Azure SQL с делегированием прав пользователя.
Выберите краткое руководство
Начните с вопроса, который соответствует вашей цели.
| Если вы хотите... | Используйте это краткое руководство |
|---|---|
| Узнайте простейший шаблон подключения DAB-to-SQL | Username/password |
| Удаление паролей SQL из конфигурации Azure | Управляемая идентичность |
| Добавьте проверку токена Microsoft Entra перед тем, как сделать вход обязательным | Microsoft Entra |
| Фильтрация строк в DAB с помощью утверждений токена | Политики DAB |
| Фильтрация строк в SQL с помощью безопасности на уровне строк базы данных | Безопасность на уровне строк SQL |
| Разрешите Azure SQL напрямую проверять подлинность вошедшего в систему пользователя | От имени в Azure SQL |
Дерево принятия решений
- Вам нужен только базовый рабочий пример?
- Используйте имя пользователя и пароль.
- Требуется ли доступ без пароля DAB к Azure SQL?
- Используйте управляемый идентификатор.
- Требуется ли DAB для проверки маркеров Microsoft Entra?
- Используйте Microsoft Entra.
- Должны ли пользователи, вошедвшие в систему, просматривать только свои строки?
- Если DAB должен применить фильтр, используйте политики DAB.
- Если SQL должен применить фильтр, используйте безопасность на уровне строк SQL.
- Требуют ли журналы аудита или политики базы данных фактически вошедшего в систему пользователя в качестве идентификатора SQL?
- Используйте On-behalf-of для Azure SQL.
Сравнение модели безопасности
Столбец поставщика проверки подлинности DAB показывает эффективное значение для runtime.host.authentication.provider. Если конфигурация не использует этот параметр, DAB использует Unauthenticated. За исключением примеров с именем пользователя и паролем, а также примеров с передачей полномочий, при локальном запуске используются учетные данные SQL, а при развертывании в Azure — управляемая идентичность. Пример от имени также задает значение data-source.user-delegated-auth.providerEntraId.
| Quickstart | От пользователя к веб-приложению | Веб-приложение для DAB | Поставщик проверки подлинности DAB | DAB в SQL |
|---|---|---|---|---|
| Username/password | Анонимный. | Анонимный. | Unauthenticated |
Учетные данные SQL |
| Управляемая идентичность | Анонимный. | Анонимный. | Unauthenticated |
Управляемое удостоверение в Azure |
| Microsoft Entra | Анонимный. | Анонимный. | EntraId |
Управляемое удостоверение в Azure |
| Политики DAB | Вход Microsoft Entra | Токен носителя | EntraId |
Управляемое удостоверение в Azure |
| Безопасность на уровне строк SQL | Вход Microsoft Entra | Токен носителя | EntraId |
Управляемое удостоверение в Azure |
| От имени для Azure SQL | Вход Microsoft Entra | Токен носителя | EntraId |
Делегированный пользователем токен для Azure SQL |