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


GRANT, предоставление разрешений на сертификаты (Transact-SQL)

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

Значок ссылки на разделСоглашения о синтаксисе в Transact-SQL

Синтаксис

GRANT permission  [ ,...n ]  
    ON CERTIFICATE :: certificate_name 
    TO principal [ ,...n ] [ WITH GRANT OPTION ] 
    [ AS granting_principal ] 

Аргументы

  • permission
    Указывает разрешение, которое может быть предоставлено на сертификат. Разрешения перечислены ниже.
  • ON CERTIFICATE **::**certificate_name
    Указывает сертификат, на который предоставляется разрешение. Требуется классификатор области «::».
  • database_principal
    Указывает участника, которому предоставляется разрешение. Это может быть:

    • пользователь базы данных
    • роль базы данных
    • роль приложения
    • пользователь базы данных, сопоставленный имени входа Windows
    • пользователь базы данных, сопоставленный группе Windows
    • пользователь базы данных, сопоставленный сертификату
    • пользователь базы данных, сопоставленный асимметричному ключу
    • пользователь базы данных, не сопоставленный серверу-участнику.
  • GRANT OPTION
    Показывает, что участнику будет дана возможность предоставлять указанное разрешение другим участникам.
  • AS granting_principal
    Указывает участника, от которого участник, выполняющий данный запрос, наследует право на предоставление разрешения. Это может быть:

    • пользователь базы данных
    • роль базы данных
    • роль приложения
    • пользователь базы данных, сопоставленный имени входа Windows
    • пользователь базы данных, сопоставленный группе Windows
    • пользователь базы данных, сопоставленный сертификату
    • пользователь базы данных, сопоставленный асимметричному ключу
    • пользователь базы данных, не сопоставленный сервер-участнику.

Замечания

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

Разрешение сертификата Содержится в разрешении сертификата Содержится в разрешении базы данных

CONTROL

CONTROL

CONTROL

TAKE OWNERSHIP

CONTROL

CONTROL

ALTER

CONTROL

ALTER ANY CERTIFICATE

REFERENCES

CONTROL

REFERENCES

VIEW DEFINITION

CONTROL

VIEW DEFINITION

Разрешения

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

Если используется аргумент AS, налагаются следующие дополнительные требования.

AS granting_principal Необходимо дополнительное разрешение

Пользователь базы данных

Разрешение IMPERSONATE для пользователя, членство в фиксированной роли базы данных db_securityadmin, членство в фиксированной роли базы данных db_owner или членство в фиксированной серверной роли sysadmin.

Пользователь базы данных, сопоставленный имени входа Windows

Разрешение IMPERSONATE для пользователя, членство в фиксированной роли базы данных db_securityadmin, членство в фиксированной роли базы данных db_owner или членство в фиксированной серверной роли sysadmin.

Пользователь базы данных, сопоставленный группе Windows

Членство в группе Windows, членство в фиксированной роли базы данных db_securityadmin, членство в фиксированной роли базы данных db_owner или членство в фиксированной серверной роли sysadmin.

Пользователь базы данных, сопоставленный сертификату

Членство в фиксированной роли базы данных db_securityadmin, членство в фиксированной роли базы данных db_owner или членство в фиксированной серверной роли sysadmin.

Пользователь базы данных, сопоставленный асимметричному ключу

Членство в фиксированной роли базы данных db_securityadmin, членство в фиксированной роли базы данных db_owner или членство в фиксированной серверной роли sysadmin.

Пользователь базы данных, не сопоставленный ни одному серверу-участнику

Разрешение IMPERSONATE для пользователя, членство в фиксированной роли базы данных db_securityadmin, членство в фиксированной роли базы данных db_owner или членство в фиксированной серверной роли sysadmin.

Роль базы данных

Разрешение ALTER для роли, членство в фиксированной роли базы данных db_securityadmin, членство в фиксированной роли базы данных db_owner или членство в фиксированной серверной роли sysadmin.

Роль приложения

Разрешение ALTER для роли, членство в фиксированной роли базы данных db_securityadmin, членство в фиксированной роли базы данных db_owner или членство в фиксированной серверной роли sysadmin.

Владельцы объектов могут предоставлять разрешения на объекты, которыми они владеют. Участники, имеющие разрешение CONTROL на защищаемый объект, могут предоставлять разрешение на этот защищаемый объект.

Получатель разрешения CONTROL SERVER, такой как член фиксированной серверной роли sysadmin, может предоставлять любое разрешение на любой защищаемый объект сервера. Объекты, получившие разрешение CONTROL на базу данных, такие как члены фиксированной роли базы данных db_owner, могут предоставлять любое разрешение на любой защищаемый объект в базе данных. Обладатели разрешения CONTROL на схему могут предоставлять любые разрешения на любые объекты, содержащиеся в данной схеме.

См. также

Справочник

Инструкция GRANT (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
CREATE APPLICATION ROLE (Transact-SQL)

Другие ресурсы

Разрешения
Участники
Иерархия средств шифрования

Справка и поддержка

Получение помощи по SQL Server 2005