Compartilhar via


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

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics

Concede permissões em uma chave simétrica.

Convenções de sintaxe de Transact-SQL

Observação

Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

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 de segurança para o 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 uma entidade de segurança por meio da qual a entidade de segurança que executa essa consulta obtém 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 de segurança 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ícito 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 de segurança especificada com a opção AS) deve ter a própria permissão com GRANT OPTION ou uma permissão superior que tenha a permissão que está sendo concedida implícita.

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 nenhuma entidade de segurança 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.

Principais com a permissão CONTROL em um item protegível podem conceder permissão nesse item.

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 para qualquer item de segurança 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 AdventureWorks2022;  
GRANT ALTER ON SYMMETRIC KEY::SamInventory42 TO HamidS;  
GO  

Consulte Também

sys.symmetric_keys (Transact-SQL)
Permissões de chave simétrica DENY (Transact-SQL)
Permissões de chave simétrica REVOKE (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Permissões (Mecanismo de Banco de Dados)
Entidades (Mecanismo de Banco de Dados)
Hierarquia de criptografia