Упражнение. Настройка проверки подлинности

Завершено

В этом упражнении вы создадите имена входа, пользователей и администраторов, а также предоставьте пользователям Microsoft Entra доступ к базе данных, как и для обычных пользователей в SQL Server.

  1. Откройте SQL Server Management Studio (SSMS) и подключитесь к логическому серверу База данных SQL Azure, если вы еще не подключены.

  2. После настройки и подключения к базам данных нужно будет добавить пользователей и предоставить им доступ. Как и в SQL Server, можно добавлять новые имена входа и пользователей.

    В SSMS щелкните правой кнопкой мыши сервер базы данных, выберите новый запрос и создайте новый запрос с помощью следующей команды. Нажмите кнопку "Выполнить" , чтобы выполнить запрос:

    -- Create a new SQL login and give them a password
    CREATE LOGIN ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    

    Совет

    Для большинства запросов в базе данных SQL Azure необходимо щелкнуть правой кнопкой мыши базу данных на логическом сервере базы данных SQL Azure. В SQL Server и Управляемый экземпляр SQL Azure можно запрашивать на уровне сервера и использовать USE <DatabaseName>их, но в База данных SQL Azure необходимо напрямую запрашивать базу данных. Это связано с тем, что инструкция USE не поддерживается. Существует несколько исключений для запроса базы данных в База данных SQL Azure, а одна — для входа. Чтобы создать и изменить имена входа, необходимо подключиться к виртуальной master базе данных.

    Теперь у вас есть имя входа на уровне сервера. Следующим шагом является создание пользователей AdventureWorks в базе данных и предоставление им доступа на чтение и запись при необходимости. Щелкните базу данных правой кнопкой мыши AdventureWorks и выберите команду "Создать запрос". Создайте новый запрос с помощью следующей команды, а затем нажмите кнопку "Выполнить".

    -- Create a new SQL user from that login
    CREATE USER ApplicationUser FOR LOGIN ApplicationUser;
    
    -- Until you run the following two lines, ApplicationUser has no access to read or write data
    ALTER ROLE db_datareader ADD MEMBER ApplicationUser;
    ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
    

    Пользователи смогут входить только в базу данных AdventureWorks, а не на весь сервер.

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

  3. Возможно, вам знакомо понятие автономного пользователя баз данных, которое используется в SQL Server. Оно означает, что пользователь имеет доступ только к определенным базам данных, но не может войти на сервер. В База данных SQL Azure можно создать пользователей автономной базы данных с проверкой подлинности SQL или проверкой подлинности Microsoft Entra. Вы должны находиться в контексте пользовательской базы данных, к которой требуется создать доступ пользователей (в отличие от того, в который входите master). В SSMS щелкните базу данных правой кнопкой мыши и выберите команду "Создать запрос". Создайте новый запрос со следующей командой, а затем нажмите кнопку "Выполнить".

    CREATE USER MyDatabaseUser WITH PASSWORD = 'C0mpl3xPa55word!'
    
  4. Выберите Подключение в левом верхнем углу обозреватель объектов, а затем выберите ядро СУБД. Настройте главную страницу, чтобы подключиться к База данных SQL Azure логическому серверу. В поле Имя входа введите MyDatabaseUser, а в поле Пароль — C0mpl3xPa55word!.

  5. Необходимо также задать имя базы данных. Для этого откройте меню Параметры>Дополнительные параметры подключения и введите Initial Catalog=AdventureWorks. Это делается вручную, поскольку MyDatabaseUser не имеет доступа для проверки сервера и выбора базы данных.

  6. Выберите Подключить и убедитесь, что доступ к базе данных есть.

  7. В качестве шага очистки щелкните правой кнопкой мыши подключение из MyDatabaseUser, а затем выберите "Отключить".

Предоставление доступа другим пользователям Microsoft Entra

Вы можете создавать имена входа из учетных записей Microsoft Entra в качестве пользователя автономной базы данных с помощью синтаксиса CREATE USER [anna@contoso.com] FROM EXTERNAL PROVIDER T-SQL. Пользователь автономной базы данных сопоставляется с удостоверением в каталоге Microsoft Entra, связанном с базой данных, и не имеет входа в master базу данных.

Введение имен входа сервера Microsoft Entra в База данных SQL Azure позволяет создавать имена входа из субъектов Microsoft Entra в виртуальной master базе данных База данных SQL. Вы можете создавать имена входа Microsoft Entra из пользователей, групп и субъектов-служб Microsoft Entra. Дополнительные сведения см. в статье о субъектах сервера Microsoft Entra

Кроме того, можно использовать портал Azure только для создания администраторов, а роли управления доступом на основе ролей Azure не распространяется на База данных SQL Azure логические серверы. Необходимо предоставить дополнительные разрешения на сервер и базу данных с помощью Transact-SQL (T-SQL).