Мне просто интересно, есть ли способ создать пользователя и либо создать, либо подключить этого пользователя к существующему входу в систему azure sql server с помощью azure cli?
Обновлено:
Я бы сделал это с чем-то вроде этого в sql, например:
-- For login login_name, create a user in the database
CREATE USER <username> FOR LOGIN <login> WITH DEFAULT_SCHEMA = [dbo]
GO
-- Add user to the database owner role
EXEC sp_addrolemember N'db_owner', N'<username>'
GO
Затем я выполнил команду для создания пользователя: az sql server ad-admin create --resource-group "Rg name" --server "servername" --display-name "user1" --object-id "a209933ef" Здесь объект — это идентификатор объекта пользователя в Azure Active Directory. Вывод: !image2
Затем в Portal: !image3
@RithwikBojja Мне придется проверить это, хотя мне придется уточнить этот последний вопрос, так как мне нужно дождаться очистки моего PR, чтобы проверить это. Было бы хорошо, если бы вы могли объединить все ответы в один пост с ответом, чтобы я мог пометить его как ответ, если все работает хорошо :) Большое спасибо за ответ! :D
Вы можете использовать приведенную ниже команду для запуска sql-запроса в Azure PowerShell, и я следовал SO-Thread:
$servername = "sqlservername.database.windows.net"
$databasename = "databasename"
$username = "rithwik"
$pass = "R!th"
$query = "CREATE USER User2 For login xxx WITH DEFAULT_SCHEMA = [dbo]"
$sqlCon = New-Object System.Data.SqlClient.SqlConnection
$sqlCon.ConnectionString = "Server=$servername;Database=$databasename;User ID=$username;Password=$pass;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
$sqlCon.Open()
$sqlCmd = New-Object System.Data.SqlClient.SqlCommand($query, $sqlCon)
$sqlCmd.ExecuteNonQuery()
$sqlCon.Close()
Здесь xxx — имя для входа.
Затем создается пользователь:
Затем вы используете $query = "EXEC sp_addrolemember N'db_or', N'<username>'" вместо указанного выше $query для добавления роли.
Очень интересно. Я отмечу это как ответ, если он будет работать с развертыванием позже. :) Еще раз спасибо @RithwikBojja :)
Итак, я проверил это, и это сработало! :) Хотя я не мог реализовать это на нашем текущем проекте, так как мы не разрешаем учетные записи службы с необходимыми правами. Но тестирование его в качестве POC прошло нормально. :)
Во-первых, я вошел в azure, используя az login !Image1 Затем я установил подписку, используя: az account set --subscription «Azure Sub name»