Partilhar via


Permissões de chave simétrica GRANT (Transact-SQL)

Concede permissões em uma chave simétrica.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

GRANT permission [ ,...n ]  
    ON SYMMETRIC KEY :: symmetric_key_name 
    TO <database_principal> [ ,...n ] [ WITH GRANT OPTION ]
        [ AS <database_principal> ] 

<database_principal> ::= 
        Database_user 
    | Database_role 
    | Application_role 
    | Database_user_mapped_to_Windows_User 
    | Database_user_mapped_to_Windows_Group 
    | Database_user_mapped_to_certificate 
    | Database_user_mapped_to_asymmetric_key 
    | Database_user_with_no_login 

Argumentos

  • permission
    Especifica uma permissão que pode ser concedida em uma chave simétrica. Para obter uma lista de permissões, consulte a seção Comentários mais adiante neste tópico.

  • ON SYMMETRIC KEY :: asymmetric_key_name
    Especifica a chave simétrica na qual a permissão está sendo concedida. O qualificador de escopo (::) é necessário.

  • TO <database_principal>
    Especifica a entidade à qual a permissão está sendo concedida.

  • WITH GRANT OPTION
    Indica que o principal também terá a capacidade de conceder a permissão especificada a outros principais.

  • AS <database_principal>
    Especifica um principal do qual o principal que executa esta consulta deriva seu direito de conceder a permissão.

  • Database_user
    Especifica um usuário do banco de dados.

  • Database_role
    Especifica uma função de banco de dados.

  • Application_role
    Especifica uma função de aplicativo.

  • Database_user_mapped_to_Windows_User
    Especifica um usuário do banco de dados mapeado para um usuário do Windows.

  • Database_user_mapped_to_Windows_Group
    Especifica um usuário do banco de dados mapeado para um grupo do Windows.

  • Database_user_mapped_to_certificate
    Especifica um usuário do banco de dados mapeado para um certificado.

  • Database_user_mapped_to_asymmetric_key
    Especifica um usuário do banco de dados mapeado para uma chave assimétrica.

  • Database_user_with_no_login
    Especifica um usuário do banco de dados sem nenhuma entidade correspondente no nível de servidor.

Comentários

As informações sobre chaves simétricas podem ser visualizadas na exibição do catálogo sys.symmetric_keys.

Uma chave simétrica é um protegível no nível de banco de dados contido no banco de dados pai na hierarquia de permissões. As permissões mais específicas e limitadas que podem ser concedidas em uma chave simétrica são listadas na tabela a seguir, junto com as permissões mais gerais que as incluem implicitamente.

Permissão de chave simétrica

Implícita na permissão de chave simétrica

Implícita na permissão de banco de dados

ALTER

CONTROL

ALTER ANY SYMMETRIC KEY

CONTROL

CONTROL

CONTROL

REFERENCES

CONTROL

REFERENCES

TAKE OWNERSHIP

CONTROL

CONTROL

VIEW DEFINITION

CONTROL

VIEW DEFINITION

Permissões

O concessor (ou a entidade especificada com a opção AS) deve ter a permissão propriamente dita com GRANT OPTION, ou uma permissão superior que implique a permissão que está sendo concedida.

Se você estiver usando a opção AS, os requisitos adicionais a seguir serão aplicáveis.

AS granting_principal

Permissão adicional necessária

Usuário de banco de dados

Permissão IMPERSONATE no usuário, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin.

Usuário de banco de dados mapeado para um logon do Windows

Permissão IMPERSONATE no usuário, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin.

Usuário de banco de dados mapeado para um grupo do Windows

Associação no grupo do Windows, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin.

Usuário de banco de dados mapeado para um certificado

Associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin.

Usuário de banco de dados mapeado para uma chave assimétrica

Associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin.

Usuário de banco de dados não mapeado para nenhum principal de servidor

Permissão IMPERSONATE no usuário, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin.

Função de banco de dados

Permissão ALTER na função, associação na função de banco de dados fixa db_securityadmin, associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin.

Função de aplicativo

Permissão ALTER na função, associação na função de banco de dados fixa db_securityadmin , associação na função de banco de dados fixa db_owner ou associação na função de servidor fixa sysadmin.

As entidades com a permissão CONTROL em um protegível podem conceder a permissão nesse protegível.

Os usuários autorizados da permissão CONTROL SERVER, como os membros da função de servidor fixa sysadmin, podem conceder qualquer permissão em qualquer protegível do servidor. Os usuários autorizados da permissão CONTROL em um banco de dados, como os membros da função de banco de dados fixa db_owner, podem conceder qualquer permissão em qualquer protegível do banco de dados.

Exemplos

O exemplo a seguir concede permissão ALTER na chave simétrica SamInventory42 ao usuário do banco de dados HamidS.

USE AdventureWorks2008R2;
GRANT ALTER ON SYMMETRIC KEY::SamInventory42 TO HamidS;
GO