Есть ли способ использовать Azure управляемые идентификаторы с Linux виртуальными машинами для доступа к Azure SQL БД? Все, что я смог найти, это этот документ https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-sql, который конкретно касается Windows виртуальных машин. Есть ли задокументированный пошаговый подход для машины Linux?
SQL с использованием Managed Identity из Linux webapp. Использовать Windows управляемую идентификацию ВМ, назначенную системой, для доступа Azure SQL Учебник в значительной степени применим к Linux, просто удалите образец кода и используйте что-то вроде этого:
var azureServiceTokenProvider = new AzureServiceTokenProvider(); var accessToken = await azureServiceTokenProvider.GetAccessTokenAsync("https://database.windows.net/"); using var sqlConnection = new SqlConnection(configuration.GetConnectionString("Default")) { AccessToken = accessToken }; using var sqlCommand = new SqlCommand("SELECT @@VERSION", sqlConnection); await sqlConnection.OpenAsync(); var version = (string) await sqlCommand.ExecuteScalarAsync();
Полный код доступен здесь , просто замените строку подключения на свою.
Похоже, что управляемое удостоверение не поддерживает Linux виртуальные машины для доступа к Azure SQL DB.
Аналогичная проблема здесь . И есть обходной путь, который использует кроссплатформенные. NET основные библиотеки, вы можете обратиться к it .