Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения: 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
В обозревателе объектов разверните базу данных, в которой необходимо создать роль приложения.
Разверните папку Безопасность .
Разверните папку Роли.
Щелкните правой кнопкой мыши папку Роли приложения и выберите пункт Создать роль приложения....
В диалоговом окне Application Role - New (Роль приложения — создание) на странице Общие введите новое имя для новой роли приложения в поле Имя роли.
В поле Схема по умолчанию укажите схему, к которой будут принадлежать объекты, создаваемые этой ролью, введя имена объектов. Кроме того, выберите многоточие (...), чтобы открыть диалоговое окно "Найти схему ".
В поле Пароль введите пароль для новой роли. Повторно введите пароль в поле Подтверждение пароля .
В поле Схемы, принадлежащие данной роливыберите или просмотрите схемы, которые будут принадлежать этой роли. Схема может принадлежать только одной схеме или роли.
Нажмите ОК.
Дополнительные параметры
В диалоговом окне Application Role - New (Новая роль приложения) также есть параметры на двух дополнительных страницах: Защищаемые объекты и Расширенные свойства.
На странице Защищаемые объекты перечислены все возможные защищаемые объекты и разрешения на эти объекты, которые могут быть предоставлены для входа.
Страница Расширенные свойства позволяет добавлять пользовательские свойства пользователям базы данных.
Использование transact-SQL
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. Этот код создает роль приложения с паролем и схемой по умолчанию
weekly_receipts. Замените<password>строгим паролем.-- CREATE APPLICATION ROLE weekly_receipts WITH PASSWORD = '<password>' , DEFAULT_SCHEMA = Sales; GO
Разрешения
Необходимо разрешение ALTER ANY APPLICATION ROLE на базу данных.