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


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

Предоставляет разрешения на асимметричный ключ.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

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

Синтаксис

GRANT { permission  [ ,...n ] } 
    ON ASYMMETRIC KEY :: asymmetric_key_name 
       TO database_principal [ ,...n ]
    [ WITH GRANT OPTION ]
    [ AS granting_principal ]

Аргументы

  • permission
    Указывает разрешение, которое может быть предоставлено для асимметричного ключа. Возможные разрешения перечислены ниже.

  • ON ASYMMETRIC KEY **::**asymmetric_key_name
    Указывает асимметричный ключ, для которого предоставляется разрешение. Необходим квалификатор области «::».

  • database_principal
    Указывает участника, которому предоставляется разрешение. Это может быть:

    • пользователь базы данных;

    • роль базы данных;

    • роль приложения;

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

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

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

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

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

  • GRANT OPTION
    Показывает, что участнику будет дана возможность предоставлять указанное разрешение другим участникам.

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

    • пользователь базы данных;

    • роль базы данных;

    • роль приложения;

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

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

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

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

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

Замечания

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

Разрешение асимметричного ключа

Содержится в разрешении асимметричного ключа

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

CONTROL

CONTROL

CONTROL

TAKE OWNERSHIP

CONTROL

CONTROL

ALTER

CONTROL

ALTER ANY ASYMMETRIC KEY

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)

Основные понятия

Разрешения (компонент Database Engine)

Участники (компонент Database Engine)