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


Предоставление разрешения для участника

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure базе данных SQL Azure Synapse Analytics Analytics Platform System (PDW) в Microsoft Fabric

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

Безопасность

Лицо, предоставляющее разрешение (или участник, указанный с аргументом AS), должны иметь либо само разрешение с аргументом GRANT OPTION, либо разрешение более высокого уровня, которое включает в себя предоставленное разрешение.

Использование SQL Server Management Studio

Предоставление разрешения для участника

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

    Примечание.

    Как правило, эти действия используются для предоставления разрешений хранимым процедурам, но их можно использовать и для добавления разрешений таблицам, представлениям, функциям, сборкам и другим защищаемым объектам. Дополнительные сведения см. в разделе GRANT (Transact-SQL)

  2. Разверните папку Программирование .

  3. Разверните папку Хранимые процедуры .

  4. Щелкните правой кнопкой мыши хранимую процедуру и выберите Свойства.

  5. В диалоговом окне "Свойства хранимой процедуры" выберите страницу "Разрешения". Данная страница используется для добавления пользователей или ролей к хранимым процедурам и для назначения разрешений этим пользователям и ролям.

  6. По завершении выберите ОК.

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

Предоставление разрешения для участника

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

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

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В следующем примере предоставляется разрешение EXECUTE для хранимой процедуры HumanResources.uspUpdateEmployeeHireInfo роли Recruiting11приложения.

    -- Grants EXECUTE permission on stored procedure HumanResources.uspUpdateEmployeeHireInfo to an application role called Recruiting11.   
    USE AdventureWorks2022;  
    GO  
    GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
        TO Recruiting11;  
    GO  
    

Дополнительные сведения см. в разделе GRANT (Transact-SQL) и разрешения объектов GRANT (Transact-SQL).

Ограничения

Рассмотрим следующие рекомендации, которые упростят управление разрешениями.

  • Предоставляйте разрешения ролям, а не отдельным именам входа или пользователям. Когда один пользователь заменяет другого, удалите уходящего пользователя из роли и добавьте в нее нового. Все разрешения, связанные с ролью, автоматически становятся доступными для нового пользователя. Если нескольким лицам в организации нужны одинаковые разрешения, то добавление их в одну роль предоставит им одинаковые разрешения.

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

  • В базе данных SQL в Microsoft Fabric идентификатор Microsoft Entra для пользователей базы данных является единственным поддерживаемым методом проверки подлинности. Роли и разрешения уровня сервера недоступны только на уровне базы данных. Дополнительные сведения см. в разделе "Авторизация в базе данных SQL" в Microsoft Fabric.