У меня есть база данных Azure SQL и группа пользователей, которым необходим удаленный / мобильный доступ к данным в этой базе данных. Я хотел бы реализовать Row Level Security, чтобы возвращать отфильтрованное подмножество каждому пользователю.
Row Level Security, с которым я могу справиться, но я застрял, пытаясь выяснить, является ли ASP. Net Core 3.1 Web App может пересылать аутентификацию пользователя в Azure SQL БД или аутентифицировать веб-приложение только в Azure SQL БД.
Единственная информация, которую я нашел, - это использовать управляемую идентификацию для подключения который предоставляет приложению доступ к БД и эффективно обходит учетные данные пользователя.
На самом ли деле этого можно достичь? Как войти в базу данных через Web-приложение с использованием аутентификации AzureAD?
Через мой DbContext это работает для аутентификации приложения
var conn = (Microsoft.Data.SqlClient.SqlConnection)Database.GetDbConnection();
conn.AccessToken =
(new Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProvider())
.GetAccessTokenAsync("https://database.windows.net/")
.Result;
Но если я пытаюсь использовать аутентификацию AzureAD Я получаю сообщение об ошибке: SqlException: Login failed for user
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => config.Bind("AzureAd", options));