Поделиться через


Создайте роль приложения

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

В этой статье описывается создание роли приложения в SQL Server с помощью SQL Server Management Studio или Transact-SQL. Роли приложения ограничивают доступ пользователя к базе данных за исключением указанных приложений. Роли приложения не имеют пользователей, поэтому список участников ролей не отображается при выборе роли приложения .

Внимание

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

Предыстория

Начиная с SQL Server 2012 (11.x), SQL Server и Базы данных SQL Azure использовали хэш SHA-512 в сочетании с 32-разрядной случайной и уникальной солью. Этот метод сделал его статистически неуловимым для злоумышленников, чтобы вывести пароли.

SQL Server 2025 (17.x) представляет итерированный хэш-алгоритм RFC2898, также известный как функция извлечения ключа на основе пароля (PBKDF). Этот алгоритм по-прежнему использует SHA-512, но хэширует пароль несколько раз (100 000 итерации), значительно замедляя атаки подбора. Это изменение повышает защиту паролей в ответ на развитие угроз безопасности и помогает клиентам соответствовать рекомендациям NIST SP 800-63b. Это улучшение безопасности использует более строгий алгоритм хэширования, который может немного увеличить время входа для входа в систему проверки подлинности SQL. Влияние, как правило, ниже в средах с пулом подключений, но может быть более заметным в сценариях без пула или где задержка входа внимательно отслеживается.

Используйте SQL Server Management Studio

  1. В обозревателе объектов разверните базу данных, в которой необходимо создать роль приложения.

  2. Разверните папку Безопасность .

  3. Разверните папку Роли.

  4. Щелкните правой кнопкой мыши папку Роли приложения и выберите пункт Создать роль приложения....

  5. В диалоговом окне Application Role - New (Роль приложения — создание) на странице Общие введите новое имя для новой роли приложения в поле Имя роли.

  6. В поле Схема по умолчанию укажите схему, к которой будут принадлежать объекты, создаваемые этой ролью, введя имена объектов. Кроме того, выберите многоточие (...), чтобы открыть диалоговое окно "Найти схему ".

  7. В поле Пароль введите пароль для новой роли. Повторно введите пароль в поле Подтверждение пароля .

  8. В поле Схемы, принадлежащие данной роливыберите или просмотрите схемы, которые будут принадлежать этой роли. Схема может принадлежать только одной схеме или роли.

  9. Нажмите ОК.

Дополнительные параметры

В диалоговом окне Application Role - New (Новая роль приложения) также есть параметры на двух дополнительных страницах: Защищаемые объекты и Расширенные свойства.

  • На странице Защищаемые объекты перечислены все возможные защищаемые объекты и разрешения на эти объекты, которые могут быть предоставлены для входа.

  • Страница Расширенные свойства позволяет добавлять пользовательские свойства пользователям базы данных.

Использование transact-SQL

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. Этот код создает роль приложения с паролем и схемой по умолчанию weekly_receipts. Замените <password> строгим паролем.

    -- 
    
    CREATE APPLICATION ROLE weekly_receipts
        WITH PASSWORD = '<password>'
        , DEFAULT_SCHEMA = Sales;
    GO
    

Разрешения

Необходимо разрешение ALTER ANY APPLICATION ROLE на базу данных.