Невозможно добавить пользователя Active Directory в Azure SQL - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь добавить пользователя Active Directory в базу данных Azure Sql с помощью приведенного ниже запроса из приложения-функции Azure, столкнувшись с некоторыми проблемами.

Мне нужно добавить пользователя Active Directory в SQL Azure из приложения-функции Azureне локально.Сначала пробовал локально, работал нормально с сохранением полной строки соединения AD passowrd и выдавал запрос вроде CREATE USER [EMAIL@DOMAIN] FROM EXTERNAL PROVIDER Если у меня хост в службе приложений Azure / не работает функция Azure.

Код C #

var cn = GetADConnection(dbName);

var tokenProvider = new AzureServiceTokenProvider();

string accessToken = await tokenProvider.GetAccessTokenAsync("https://database.windows.net/");

string query = @"CREATE USER [B19634@uniper.energy] FROM EXTERNAL PROVIDER";

  var command = new SqlCommand(query, cn);

        try
        {

            cn.AccessToken = accessToken;
            cn.Open();
            command.ExecuteNonQuery();

        }
        catch (Exception ex)
        {
            log.Info(ex.HResult + "_" + ex.Message);
        }
        finally
        {
            cn.Dispose();
            command.Dispose();
        }

Попробовал двумя способами, упомянутыми ниже,

Один способ:

Для этого нам требуется мандат строки подключения проверки подлинности пароля SQL Active Directory, он отлично работает из локальных приложений .Net (Консоль)/ Интернет).Если мы разместим их в службе приложений Azure и попытаемся использовать тот же код, появится следующая ошибка:

Произошла одна или несколько ошибок

Второй способ:

Мы включили удостоверение управляемой службы в свое приложение-функцию Azure, попытались сгенерировать токен AD и использовали его для добавления пользователя AD.Получение следующей ошибки.

принципал '[EMAIL @ DOMAINNAME]' не может быть найден в это время.Пожалуйста, повторите попытку позже.

Я получил эту ссылку от Google, наткнулся на какую-то статью и попробовал, как показано ниже,

CREATE USER [name_emaildomain#EXT#@yourcompany.onmicrosoft.com] FROM EXTERNAL PROVIDER

Тем не менее проблема та же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...