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


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

Применимо к:SQL ServerAzure SQL база данныхУправляемый экземпляр Azure SQLAzure Synapse AnalyticsБаза данных SQL в предварительной версии Microsoft Fabric

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

Соглашения о синтаксисе Transact-SQL

Note

Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Syntax

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

Arguments

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

ON ASYMMETRIC KEY ::asymmetric_key_name
Указывает асимметричный ключ, для которого предоставляется разрешение. Квалификатор области "::" является обязательным.

database_principal
Участник, которому предоставляется разрешение. Один из следующих:

  • database user
  • database role
  • application role
  • пользователь базы данных, сопоставленный с именем входа Windows;
  • пользователь базы данных, сопоставленный с группой Windows;
  • пользователь базы данных, сопоставленный с сертификатом;
  • пользователь базы данных, сопоставленный с асимметричным ключом;
  • пользователь базы данных, не сопоставленный с участником на уровне сервера.

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

AS granting_principal
Указывает участника, от которого участник, выполняющий данный запрос, наследует право на предоставление разрешения. Один из следующих:

  • database user
  • database role
  • application role
  • пользователь базы данных, сопоставленный с именем входа Windows;
  • пользователь базы данных, сопоставленный с группой Windows;
  • пользователь базы данных, сопоставленный с сертификатом;
  • пользователь базы данных, сопоставленный с асимметричным ключом;
  • пользователь базы данных, не сопоставленный с участником на уровне сервера.

Remarks

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

Разрешение асимметричного ключа Содержится в разрешении асимметричного ключа Содержится в разрешении базы данных
CONTROL CONTROL CONTROL
TAKE OWNERSHIP CONTROL CONTROL
ALTER CONTROL Изменить любой асимметричный ключ
REFERENCES CONTROL REFERENCES
VIEW DEFINITION CONTROL VIEW DEFINITION

Permissions

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

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

AS granting_principal Необходимо дополнительное разрешение
Database user Разрешение 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.
Database role Разрешение ALTER на роль, членство в предопределенной роли базы данных db_securityadmin, предопределенной роли базы данных db_owner или предопределенной роли сервера sysadmin.
Application role Разрешение ALTER на роль, членство в предопределенной роли базы данных db_securityadmin, предопределенной роли базы данных db_owner или предопределенной роли сервера sysadmin.

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

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

See Also

GRANT (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)
СОЗДАТЬ СЕРТИФИКАТ (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
СОЗДАТЬ РОЛЬ ПРИЛОЖЕНИЯ (Transact-SQL)