Проверка подлинности Azure SQL через участника службы AD - PullRequest
1 голос
/ 16 мая 2019

У меня клиентское приложение для Windows, подключающееся напрямую к серверу SQL. Сейчас я использую аутентификацию на сервере SQL, но я хочу заменить ее для повышения безопасности. (Я не хочу развертывать учетные данные вместе с приложением)

Я хочу использовать Azure AD для предоставления доступа к приложению (и перенаправления токена доступа в БД)

Моя желаемая настройка будет выглядеть так: У меня есть регистрация приложения Azure AD (принципал службы). - Я назначаю разрешение на индивидуальное использование приложения -> Корпоративное приложение -> Требуется назначение пользователя -> Да - Я даю разрешение приложению (субъекту службы) на базу данных SQL. - Теперь я могу получить доступ к БД как зарегистрированный пользователь (разрешение API Azure SQL Server -> user_impersonation), но это означает, что я должен предоставить доступ всем отдельным пользователям непосредственно в БД. Я хотел бы получить доступ к БД в качестве приложения.

Возможно ли это, и если да, то как?

Теперь я могу использовать ADAL для подключения в качестве субъекта службы к БД, но затем мне нужно создать секретный ключ клиента для субъекта службы и развернуть его вместе с приложением -> небезопасно. Или я могу использовать MSAL с user_delegation и обращаться к БД в качестве вошедшего в систему пользователя, но это означает, что я должен предоставить ему прямой доступ к БД, и он может получить к нему доступ другим способом, как в приложении (например, в MSSMS).

1 Ответ

1 голос
/ 16 мая 2019

Похоже, вы хотите использовать управляемую идентификацию.

Здесь есть учебник: https://docs.microsoft.com/en-gb/azure/app-service/app-service-web-tutorial-connect-msi

Я должен предупредить вас, что эта функция управляемого удостоверения является новой, и вам нужно быть осторожным, какую версию .Net framework использует ваше приложение. Некоторые службы приложений Azure и другие ресурсы еще не обновлены до платформы .Net, которая поддерживает управляемые удостоверения (последнее, что я знаю).

...