Partilhar via


Permissões (Motor de Base de Dados)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

Cada elemento securizável do SQL Server tem permissões associadas que podem ser concedidas a uma entidade. As permissões no Mecanismo de Banco de Dados são gerenciadas no nível de servidor atribuído a logons e funções de servidor e no nível de banco de dados atribuído a usuários de banco de dados e funções de banco de dados. O modelo do Banco de Dados SQL do Azure tem o mesmo sistema para as permissões de banco de dados, mas as permissões no nível do servidor não estão disponíveis. Este artigo contém a lista completa de permissões. Para obter uma implementação típica das permissões, consulte Introdução às permissões do Mecanismo de Banco de Dados.

O número total de permissões para o SQL Server 2022 (16.x) é 292. O Banco de Dados SQL do Azure expõe 292 permissões. A maioria das permissões se aplica a todas as plataformas, mas algumas não. Por exemplo, a maioria das permissões de nível de servidor não pode ser concedida no Banco de Dados SQL do Azure e algumas permissões só fazem sentido no Banco de Dados SQL do Azure. Novas permissões estão sendo introduzidas gradualmente com novas versões. O SQL Server 2019 (15.x) expõe 248 permissões. O SQL Server 2017 (14.x) expôs 238 permissões. O SQL Server 2016 (13.x) expôs 230 permissões. O SQL Server 2014 (12.x) expôs 219 permissões. O SQL Server 2012 (11.x) expôs 214 permissões. O SQL Server 2008 R2 (10.50.x) expôs 195 permissões. O artigo sys.fn_builtin_permissions especifica quais permissões são novas em versões recentes.

Na base de dados SQL no Microsoft Fabric, apenas os utilizadores ao nível da base de dados e os papéis são suportados. Logins ao nível de servidor, funções e a conta sa não estão disponíveis. Na base de dados SQL no Microsoft Fabric, o Microsoft Entra ID para utilizadores de base de dados é o único método de autenticação suportado. Para obter mais informações, consulte Autorização no banco de dados SQL no Microsoft Fabric.

Depois de entender as permissões necessárias, você pode aplicar permissões de nível de servidor para logons ou funções de servidor e permissões de nível de banco de dados para usuários ou funções de banco de dados, usando as instruções GRANT,REVOKE e DENI . Por exemplo:

GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;

Para obter dicas sobre como planejar um sistema de permissões, consulte Introdução às permissões do Mecanismo de Banco de Dados.

Convenções de nomenclatura de permissões

A seguir são descritas as convenções gerais que são seguidas para nomear permissões:

  • CONTROL

    Confere capacidades de propriedade ao beneficiário. O beneficiário efetivamente tem todas as permissões definidas no securable. Um principal que recebeu CONTROL também pode conceder permissões sobre o securável. Como o modelo de segurança do SQL Server é hierárquico, CONTROL em um escopo específico inclui implicitamente CONTROL em todos os protegíveis sob esse escopo. Por exemplo, CONTROL em um banco de dados implica todas as permissões no banco de dados, todas as permissões em todos os assemblies no banco de dados, todas as permissões em todos os esquemas no banco de dados e todas as permissões em objetos dentro de todos os esquemas dentro do banco de dados.

  • ALTER

    Confere a capacidade de alterar as propriedades, exceto a titularidade, de um determinado objeto seguro. Quando concedido em um escopo, o ALTER também concede a capacidade de alterar, criar ou descartar qualquer protegível que esteja contido nesse escopo. Por exemplo, a permissão ALTER em um esquema inclui a capacidade de criar, alterar e soltar objetos do esquema.

  • ALTER ANY <Server Securable>, onde Server Securable pode ser qualquer servidor securable.

    Confere a capacidade de criar, alterar ou descartar instâncias individuais do Server Securable. Por exemplo, ALTER ANY LOGIN confere a capacidade de criar, alterar ou descartar qualquer login na instância.

  • ALTER ANY <Database Securable>, onde Database Securable pode ser qualquer securable no nível do banco de dados.

    Confere a capacidade de CRIAR, ALTERAR ou SOLTAR instâncias individuais do Database Securable. Por exemplo, ALTER ANY SCHEMA confere a capacidade de criar, alterar ou descartar qualquer esquema no banco de dados.

  • ASSUMIR A RESPONSABILIDADE

    Permite que o beneficiário se aproprie do valor mobiliário sobre o qual é concedido.

  • Personificar <Login>

    Permite que o beneficiário represente o login.

  • PERSONIFICAR <UTILIZADOR>

    Permite que o beneficiário se faça passar pelo usuário.

  • CRIAR <Servidor Protegível>

    Confere ao beneficiário a capacidade de criar o Server Securable.

  • CREATE <Banco de Dados Protegível>

    Confere ao beneficiário a capacidade de criar o Banco de Dados Protegível.

  • CREATE <Schema-contido Securable>

    Confere a capacidade de criar objetos de segurança contidos no esquema. No entanto, a permissão ALTER no esquema é necessária para criar o protegível em um esquema específico.

  • VER DEFINIÇÃO

    Permite que o beneficiário acesse metadados.

  • REFERENCES

    A permissão REFERENCES em uma tabela é necessária para criar uma restrição FOREIGN KEY que faz referência a essa tabela.

    A permissão REFERENCES é necessária num objeto para criar uma FUNCTION ou VIEW com a cláusula WITH SCHEMABINDING que faz referência a esse objeto.

Gráfico de permissões do SQL Server

A imagem a seguir mostra as permissões e suas relações entre si. Algumas das permissões de nível superior (como CONTROL SERVER) são listadas muitas vezes. Neste artigo, o cartaz é demasiado pequeno para ser lido. Você pode baixar o poster de Permissões do Mecanismo de Banco de Dados em tamanho real em formato PDF.

Captura de tela do PDF de permissões do Mecanismo de Banco de Dados.

Permissões aplicáveis a valores mobiliários específicos

A tabela a seguir lista as principais classes de permissões e os tipos de objetos de segurança aos quais elas podem ser aplicadas.

Permission Aplica-se a
ALTER Todas as classes de objetos, exceto TYPE.
CONTROL Todas as classes de objetos:

AGGREGATE,
FUNÇÃO DE APLICAÇÃO
ASSEMBLY,
CHAVE ASSIMÉTRICA
GRUPO DE DISPONIBILIDADE,
CERTIFICATE,
CONTRACT,
CREDENTIALS,
DATABASE,
CREDENCIAL ESPECÍFICA PARA BANCO DE DADOS
DEFAULT,
ENDPOINT,
CATÁLOGO DE TEXTO COMPLETO,
LISTA DE STOPS DO TEXTO COMPLETO,
FUNCTION,
LOGIN,
TIPO DE MENSAGEM,
PROCEDURE,
QUEUE,
LIGAÇÃO DE SERVIÇO REMOTO
ROLE,
ROUTE,
RULE,
SCHEMA,
LISTA DE PROPRIEDADES PARA PESQUISA
SERVER,
FUNÇÃO DE SERVIDOR,
SERVICE,
CHAVE SIMÉTRICA,
SYNONYM,
TABLE,
TYPE,
USER,
VIEW, e
COLEÇÃO DE ESQUEMA XML
DELETE Todas as classes de objetos, exceto DATABASE SCOPED CONFIGURATION, SERVER e TYPE.
EXECUTE Tipos de CLR, scripts externos, procedimentos (Transact-SQL e CLR), funções escalares e agregadas (Transact-SQL e CLR) e sinónimos
IMPERSONATE Inícios de sessão e utilizadores
INSERT Sinónimos, tabelas e colunas, vistas e colunas. A permissão pode ser concedida no nível do banco de dados, esquema ou objeto.
RECEIVE Filas do Service Broker
REFERENCES AGGREGATE,
ASSEMBLY,
CHAVE ASSIMÉTRICA
CERTIFICATE,
CONTRACT,
CREDENTIAL (aplica-se ao SQL Server 2022 (16.x) e posterior),
DATABASE,
CREDENCIAL ESPECÍFICA PARA BANCO DE DADOS
CATÁLOGO DE TEXTO COMPLETO,
LISTA DE STOPS DO TEXTO COMPLETO,
FUNCTION,
TIPO DE MENSAGEM,
PROCEDURE,
QUEUE,
RULE,
SCHEMA,
LISTA DE PROPRIEDADES PARA PESQUISA
OBJETO DE SEQUÊNCIA,
CHAVE SIMÉTRICA,
TABLE,
TYPE,
VIEW, e
COLEÇÃO DE ESQUEMA XML
SELECT Sinónimos, tabelas e colunas, vistas e colunas. A permissão pode ser concedida no nível do banco de dados, esquema ou objeto.
ASSUMIR A RESPONSABILIDADE Todas as classes de objetos, exceto DATABASE SCOPED CONFIGURATION, LOGIN, SERVER e USER.
UPDATE Sinónimos, tabelas e colunas, vistas e colunas. A permissão pode ser concedida no nível do banco de dados, esquema ou objeto.
VER CONTROLO DE ALTERAÇÕES Esquemas e tabelas
VER DEFINIÇÃO Todas as classes de objetos, exceto DATABASE SCOPED CONFIGURATION e SERVER.

Caution

As permissões padrão concedidas a objetos do sistema no momento da instalação são cuidadosamente avaliadas contra possíveis ameaças e não precisam ser alteradas como parte da proteção da instalação do SQL Server. Quaisquer alterações nas permissões nos objetos do sistema podem limitar ou interromper a funcionalidade e podem potencialmente deixar sua instalação do SQL Server em um estado sem suporte.

Permissões do SQL Server

A tabela a seguir fornece uma lista completa de permissões do SQL Server. As permissões da Base de Dados SQL do Azure só estão disponíveis para objetos básicos com suporte. As permissões de nível de servidor não podem ser concedidas no Banco de Dados SQL do Azure, no entanto, em alguns casos, as permissões de banco de dados estão disponíveis.

Base securável Permissões granulares na base protegível Código de tipo de permissão Estrutura securável que contém a base securável Permissão em contêiner protegível que implica permissão granular em base protegível
FUNÇÃO DA APLICAÇÃO ALTER AL DATABASE ALTERAR QUALQUER FUNÇÃO DE APLICATIVO
FUNÇÃO DA APLICAÇÃO CONTROL CL DATABASE CONTROL
FUNÇÃO DA APLICAÇÃO VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
ASSEMBLY ALTER AL DATABASE ALTERAR QUALQUER MONTAGEM
ASSEMBLY CONTROL CL DATABASE CONTROL
ASSEMBLY REFERENCES RF DATABASE REFERENCES
ASSEMBLY ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
ASSEMBLY VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
CHAVE ASSIMÉTRICA ALTER AL DATABASE ALTERAR QUALQUER CHAVE ASSIMÉTRICA
CHAVE ASSIMÉTRICA CONTROL CL DATABASE CONTROL
CHAVE ASSIMÉTRICA REFERENCES RF DATABASE REFERENCES
CHAVE ASSIMÉTRICA ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
CHAVE ASSIMÉTRICA VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
GRUPO DE DISPONIBILIDADE ALTER AL SERVER ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE
GRUPO DE DISPONIBILIDADE CONTROL CL SERVER SERVIDOR DE CONTROLO
GRUPO DE DISPONIBILIDADE ASSUMIR A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLO
GRUPO DE DISPONIBILIDADE VER DEFINIÇÃO VW SERVER VER QUALQUER DEFINIÇÃO
CERTIFICATE ALTER AL DATABASE ALTERAR QUALQUER CERTIFICADO
CERTIFICATE CONTROL CL DATABASE CONTROL
CERTIFICATE REFERENCES RF DATABASE REFERENCES
CERTIFICATE ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
CERTIFICATE VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
CONTRACT ALTER AL DATABASE ALTERAR QUALQUER CONTRATO
CONTRACT CONTROL CL DATABASE CONTROL
CONTRACT REFERENCES RF DATABASE REFERENCES
CONTRACT ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
CONTRACT VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
CREDENTIAL CONTROL CL SERVER SERVIDOR DE CONTROLO
CREDENTIAL REFERENCES RF SERVER ALTERAR QUALQUER CREDENCIAL
DATABASE ADMINISTRAR OPERAÇÕES EM MASSA NA BASE DE DADOS DABO SERVER SERVIDOR DE CONTROLO
DATABASE ALTER AL SERVER ALTERAR QUALQUER BASE DE DADOS
DATABASE ALTERAR QUALQUER FUNÇÃO DE APLICATIVO ALAR SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER MONTAGEM ALAS SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER CHAVE ASSIMÉTRICA ALAK SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER CERTIFICADO ALCF SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER CHAVE DE ENCRIPTAÇÃO DE COLUNA ALCK

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER CHAVE MESTRA DE COLUNA ALCM

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER CONTRATO ALSC SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER AUDITORIA DE BASE DE DADOS ALDA SERVER ALTERAR QUALQUER AUDITORIA DE SERVIDOR
DATABASE ALTERAR QUALQUER GATILHO DDL DE BANCO DE DADOS ALTG SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO DO BANCO DE DADOS ALED SERVER ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS AADS SERVER ALTERAR QUALQUER SESSÃO DE EVENTO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS ADICIONAR EVENTO LDAE SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR EVENTO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTOS DE BASE DE DADOS ADICIONANDO DESTINO LDAT SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR DESTINO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS DESABILITAR DDES SERVER ALTERAR QUALQUER SESSÃO DE EVENTOS E DESATIVÁ-LA
DATABASE ALTERAR QUALQUER EVENTO DE BANCO DE DADOS EVENTO DE QUEDA DE SESSÃO LDDE SERVER ALTERAR QUALQUER SESSÃO DE EVENTOS EXCLUIR EVENTO
DATABASE ALTERAR QUALQUER DESTINO DE DESCARTE DE SESSÃO DE EVENTO DE BANCO DE DADOS LDDT SERVER ALTERAR QUALQUER DESTINO DE DESCARTE DE SESSÃO DE EVENTO
DATABASE ALTERAR QUALQUER SESSÃO DE EVENTO DE BASE DE DADOS PARA ATIVAR EDES SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ATIVAR
DATABASE ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO DE BANCO DE DADOS LDSO SERVER ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO
DATABASE ALTERAR QUALQUER CONFIGURAÇÃO DE ÁREA DE BANCO DE DADOS ALDC

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER ESPAÇO DE DADOS ALDS SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER FONTE DE DADOS EXTERNA AEDS SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER FORMATO DE ARQUIVO EXTERNO AEFF SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER TRABALHO EXTERNO AESJ SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER IDIOMA EXTERNO ALLA SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER BIBLIOTECA EXTERNA ALEL SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER FLUXO EXTERNO AEST SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO ALFT SERVER SERVIDOR DE CONTROLO
DATABASE ALTERE QUALQUER MÁSCARA AAMK

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER TIPO DE MENSAGEM ALMT SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER LIGAÇÃO DE SERVIÇO REMOTO ALSB SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER FUNÇÃO ALRL SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER ROTA ALRT SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER ESQUEMA ALSM SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER POLÍTICA DE SEGURANÇA ALSP

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER CLASSIFICAÇÃO DE SENSIBILIDADE AASC
Aplica-se ao SQL Server (SQL Server 2019 (15.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER SERVIÇO ALSV SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER CHAVE SIMÉTRICA ALSK SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR TODOS OS UTILIZADORES ALUS SERVER SERVIDOR DE CONTROLO
DATABASE ALTER LEDGER ALR SERVER CONTROL
DATABASE ALTERAR CONFIGURAÇÃO DO LIVRO-RAZÃO ALC SERVER SERVIDOR DE CONTROLO
DATABASE AUTHENTICATE AUTH SERVER AUTENTICAR SERVIDOR
DATABASE BANCO DE DADOS DE BACKUP BADB SERVER SERVIDOR DE CONTROLO
DATABASE REGISTO DE CÓPIA DE SEGURANÇA BALO SERVER SERVIDOR DE CONTROLO
DATABASE CHECKPOINT CP SERVER SERVIDOR DE CONTROLO
DATABASE CONNECT CO SERVER SERVIDOR DE CONTROLO
DATABASE REPLICAÇÃO CONNECT CORP SERVER SERVIDOR DE CONTROLO
DATABASE CONTROL CL SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR AGREGAÇÃO CRAG SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS CRDS SERVER CRIE QUALQUER SESSÃO DE EVENTO
DATABASE CRIAR ASSEMBLY CRAS SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR CHAVE ASSIMÉTRICA CRAK SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR CERTIFICADO CRCF SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR CONTRATO CRSC SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR BASE DE DADOS CRDB SERVER CRIAR QUALQUER BASE DE DADOS
DATABASE CRIAR NOTIFICAÇÃO DE EVENTO DDL DO BANCO DE DADOS CRED SERVER CRIAR NOTIFICAÇÃO DE EVENTO DDL
DATABASE CRIAR PADRÃO CRDF SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR IDIOMA EXTERNO CRLA SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR BIBLIOTECA EXTERNA CREL SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR CATÁLOGO DE TEXTO COMPLETO CRFT SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR FUNÇÃO CRFN SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR TIPO DE MENSAGEM CRMT SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR PROCEDIMENTO CRPR SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR FILA CRQU SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR VINCULAÇÃO DE SERVIÇO REMOTO CRSB SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR PAPEL CRRL SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR ROTA CRRT SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR REGRA CRRU SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR ESQUEMA CRSM SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR SERVIÇO CRSV SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR CHAVE SIMÉTRICA CRSK SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR SINÓNIMO CRSN SERVER SERVIDOR DE CONTROLO
DATABASE CREATE TABLE CRTB SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR TIPO CRTY SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR UTILIZADOR CUSR SERVER SERVIDOR DE CONTROLO
DATABASE CRIAÇÃO DE VISÃO CRVW SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR COLEÇÃO DE ESQUEMA XML CRXS SERVER SERVIDOR DE CONTROLO
DATABASE DELETE DL SERVER SERVIDOR DE CONTROLO
DATABASE DESCARTAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS DRDS SERVER DESCARTAR QUALQUER SESSÃO DE EVENTO
DATABASE ATIVAR LEDGER EL SERVER CONTROL
DATABASE EXECUTE EX SERVER SERVIDOR DE CONTROLO
DATABASE EXECUTE QUALQUER PONTO DE EXTREMIDADE EXTERNO EAEE SERVER SERVIDOR DE CONTROLO
DATABASE EXECUTE QUALQUER SCRIPT EXTERNO EAES

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até o atual).
SERVER SERVIDOR DE CONTROLO
DATABASE INSERT IN SERVER SERVIDOR DE CONTROLO
DATABASE TERMINAR CONEXÃO DE BASE DE DADOS KIDC

Aplica-se apenas à Base de Dados SQL do Azure. Utilize ALTER ANY CONNECTION no SQL Server.
SERVER ALTERAR QUALQUER LIGAÇÃO
DATABASE REFERENCES RF SERVER SERVIDOR DE CONTROLO
DATABASE SELECT SL SERVER SERVIDOR DE CONTROLO
DATABASE SHOWPLAN SPLN SERVER ALTER TRACE
DATABASE SUBSCREVER NOTIFICAÇÕES DE CONSULTA SUQN SERVER SERVIDOR DE CONTROLO
DATABASE ASSUMIR A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLO
DATABASE UNMASK UMSK

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE UPDATE UP SERVER SERVIDOR DE CONTROLO
DATABASE EXIBIR DEFINIÇÃO DE QUALQUER CHAVE DE ENCRIPTAÇÃO DE COLUNA VWCK

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER VER ESTADO DO SERVIDOR
DATABASE Visualizar a Definição de Chave Mestra de Quaisquer Colunas VWCM

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER VER ESTADO DO SERVIDOR
DATABASE VER QUALQUER CLASSIFICAÇÃO DE SENSIBILIDADE VASC SERVER SERVIDOR DE CONTROLO
DATABASE VER DEFINIÇÃO CRIPTOGRAFICAMENTE PROTEGIDA VCD SERVER VER QUALQUER DEFINIÇÃO CRIPTOGRAFICAMENTE PROTEGIDA
DATABASE EXIBIR ESTADO DE DESEMPENHO DO BANCO DE DADOS VDP SERVER EXIBIR ESTADO DE DESEMPENHO DO SERVIDOR
DATABASE EXIBIR AUDITORIA DE SEGURANÇA DO BANCO DE DADOS VDSA SERVER SERVIDOR DE CONTROLO
DATABASE EXIBIR ESTADO DE SEGURANÇA DO BANCO DE DADOS VDS SERVER EXIBIR ESTADO DE SEGURANÇA DO SERVIDOR
DATABASE VER ESTADO DE BASE DE DADOS VWDS SERVER VER ESTADO DO SERVIDOR
DATABASE VER DEFINIÇÃO VW SERVER VER QUALQUER DEFINIÇÃO
DATABASE VER CONTEÚDO DO LIVRO RAZÃO VLC SERVER CONTROL
DATABASE VER DEFINIÇÃO DE SEGURANÇA VWS SERVER VER QUALQUER DEFINIÇÃO DE SEGURANÇA
DATABASE VER DEFINIÇÃO DE DESEMPENHO VWP SERVER VER QUALQUER DEFINIÇÃO DE DESEMPENHO
CREDENCIAIS LIMITADAS AO ÂMBITO DA BASE DE DADOS ALTER AL DATABASE CONTROL
CREDENCIAIS LIMITADAS AO ÂMBITO DA BASE DE DADOS CONTROL CL DATABASE CONTROL
CREDENCIAIS LIMITADAS AO ÂMBITO DA BASE DE DADOS REFERENCES RF DATABASE REFERENCES
CREDENCIAIS LIMITADAS AO ÂMBITO DA BASE DE DADOS ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
CREDENCIAIS LIMITADAS AO ÂMBITO DA BASE DE DADOS VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
ENDPOINT ALTER AL SERVER ALTERAR QUALQUER PONTO FINAL
ENDPOINT CONNECT CO SERVER SERVIDOR DE CONTROLO
ENDPOINT CONTROL CL SERVER SERVIDOR DE CONTROLO
ENDPOINT ASSUMIR A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLO
ENDPOINT VER DEFINIÇÃO VW SERVER VER QUALQUER DEFINIÇÃO
CATÁLOGO DE TEXTO COMPLETO ALTER AL DATABASE ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO
CATÁLOGO DE TEXTO COMPLETO CONTROL CL DATABASE CONTROL
CATÁLOGO DE TEXTO COMPLETO REFERENCES RF DATABASE REFERENCES
CATÁLOGO DE TEXTO COMPLETO ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
CATÁLOGO DE TEXTO COMPLETO VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
LISTA DE EXCLUSÃO DE TEXTO COMPLETO ALTER AL DATABASE ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO
LISTA DE EXCLUSÃO DE TEXTO COMPLETO CONTROL CL DATABASE CONTROL
LISTA DE EXCLUSÃO DE TEXTO COMPLETO REFERENCES RF DATABASE REFERENCES
LISTA DE EXCLUSÃO DE TEXTO COMPLETO ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
LISTA DE EXCLUSÃO DE TEXTO COMPLETO VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
LOGIN ALTER AL SERVER ALTERAR QUALQUER LOGIN
LOGIN CONTROL CL SERVER SERVIDOR DE CONTROLO
LOGIN IMPERSONATE IM SERVER SERVIDOR DE CONTROLO
LOGIN VER DEFINIÇÃO VW SERVER VER QUALQUER DEFINIÇÃO
TIPO DE MENSAGEM ALTER AL DATABASE ALTERAR QUALQUER TIPO DE MENSAGEM
TIPO DE MENSAGEM CONTROL CL DATABASE CONTROL
TIPO DE MENSAGEM REFERENCES RF DATABASE REFERENCES
TIPO DE MENSAGEM ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
TIPO DE MENSAGEM VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
OBJECT ALTER AL SCHEMA ALTER
OBJECT CONTROL CL SCHEMA CONTROL
OBJECT DELETE DL SCHEMA DELETE
OBJECT EXECUTE EX SCHEMA EXECUTE
OBJECT INSERT IN SCHEMA INSERT
OBJECT RECEIVE RC SCHEMA CONTROL
OBJECT REFERENCES RF SCHEMA REFERENCES
OBJECT SELECT SL SCHEMA SELECT
OBJECT ASSUMIR A RESPONSABILIDADE TO SCHEMA CONTROL
OBJECT UNMASK UMSK SCHEMA UNMASK
OBJECT UPDATE UP SCHEMA UPDATE
OBJECT VER CONTROLO DE ALTERAÇÕES VWCT SCHEMA VER CONTROLO DE ALTERAÇÕES
OBJECT VER DEFINIÇÃO VW SCHEMA VER DEFINIÇÃO
LIGAÇÃO DE SERVIÇO REMOTO ALTER AL DATABASE ALTERAR QUALQUER LIGAÇÃO DE SERVIÇO REMOTO
LIGAÇÃO DE SERVIÇO REMOTO CONTROL CL DATABASE CONTROL
LIGAÇÃO DE SERVIÇO REMOTO ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
LIGAÇÃO DE SERVIÇO REMOTO VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
ROLE ALTER AL DATABASE ALTERAR QUALQUER FUNÇÃO
ROLE CONTROL CL DATABASE CONTROL
ROLE ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
ROLE VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
ROUTE ALTER AL DATABASE ALTERAR QUALQUER ROTA
ROUTE CONTROL CL DATABASE CONTROL
ROUTE ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
ROUTE VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
SCHEMA ALTER AL DATABASE ALTERAR QUALQUER ESQUEMA
SCHEMA CONTROL CL DATABASE CONTROL
SCHEMA CRIAR SEQUÊNCIA CRSO DATABASE CONTROL
SCHEMA DELETE DL DATABASE DELETE
SCHEMA EXECUTE EX DATABASE EXECUTE
SCHEMA INSERT IN DATABASE INSERT
SCHEMA REFERENCES RF DATABASE REFERENCES
SCHEMA SELECT SL DATABASE SELECT
SCHEMA ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
SCHEMA UNMASK UMSK DATABASE UNMASK
SCHEMA UPDATE UP DATABASE UPDATE
SCHEMA VER CONTROLO DE ALTERAÇÕES VWCT DATABASE VER CONTROLO DE ALTERAÇÕES
SCHEMA VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
LISTA DE PROPRIEDADES PARA PESQUISA ALTER AL SERVER ALTERAR QUALQUER CATÁLOGO DE TEXTO COMPLETO
LISTA DE PROPRIEDADES PARA PESQUISA CONTROL CL SERVER CONTROL
LISTA DE PROPRIEDADES PARA PESQUISA REFERENCES RF SERVER REFERENCES
LISTA DE PROPRIEDADES PARA PESQUISA ASSUMIR A RESPONSABILIDADE TO SERVER CONTROL
LISTA DE PROPRIEDADES PARA PESQUISA VER DEFINIÇÃO VW SERVER VER DEFINIÇÃO
SERVER ADMINISTRAR OPERAÇÕES EM MASSA ADBO Não aplicável Não aplicável
SERVER ALTERAR QUALQUER GRUPO DE DISPONIBILIDADE ALAG Não aplicável Não aplicável
SERVER ALTERAR QUALQUER LIGAÇÃO ALCO Não aplicável Não aplicável
SERVER ALTERAR QUALQUER CREDENCIAL ALCD Não aplicável Não aplicável
SERVER ALTERAR QUALQUER BASE DE DADOS ALDB Não aplicável Não aplicável
SERVER ALTERAR QUALQUER PONTO FINAL ALHE Não aplicável Não aplicável
SERVER ALTERAR QUALQUER NOTIFICAÇÃO DE EVENTO ALES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO AAES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR EVENTO LSAE Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR DESTINO LSAT Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTOS E DESATIVÁ-LA DES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTOS EXCLUIR EVENTO LSDE Não aplicável Não aplicável
SERVER ALTERAR QUALQUER DESTINO DE DESCARTE DE SESSÃO DE EVENTO LSDT Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SESSÃO DE EVENTO ATIVAR EES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO LESO Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SERVIDOR VINCULADO ALLS Não aplicável Não aplicável
SERVER ALTERAR QUALQUER LOGIN ALLG Não aplicável Não aplicável
SERVER ALTERAR QUALQUER AUDITORIA DE SERVIDOR ALAA Não aplicável Não aplicável
SERVER ALTERAR QUALQUER FUNÇÃO DE SERVIDOR ALSR Não aplicável Não aplicável
SERVER ALTERAR RECURSOS ALRS Não aplicável Não aplicável
SERVER ESTADO DO SERVIDOR ALTER ALSS Não aplicável Não aplicável
SERVER ALTERAR DEFINIÇÕES ALST Não aplicável Não aplicável
SERVER ALTER TRACE ALTR Não aplicável Não aplicável
SERVER AUTENTICAR SERVIDOR AUTH Não aplicável Não aplicável
SERVER CONECTE QUALQUER BANCO DE DADOS CADB Não aplicável Não aplicável
SERVER CONNECT SQL COSQ Não aplicável Não aplicável
SERVER SERVIDOR DE CONTROLO CL Não aplicável Não aplicável
SERVER CRIAR QUALQUER BASE DE DADOS CRDB Não aplicável Não aplicável
SERVER CRIAR GRUPO DE DISPONIBILIDADE CRAC Não aplicável Não aplicável
SERVER CRIAR NOTIFICAÇÃO DE EVENTO DDL CRDE Não aplicável Não aplicável
SERVER CRIAR ENDPOINT CRHE Não aplicável Não aplicável
SERVER CRIAR FUNÇÃO DE SERVIDOR CRSR Não aplicável Não aplicável
SERVER CRIAR NOTIFICAÇÃO DE EVENTO DE RASTREAMENTO CRTE Não aplicável Não aplicável
SERVER MONTAGEM DE ACESSO EXTERNO XA Não aplicável Não aplicável
SERVER PERSONIFIQUE QUALQUER LOGIN IAL Não aplicável Não aplicável
SERVER SELECIONAR TODOS OS PROTEGÍVEIS DO USUÁRIO SUS Não aplicável Não aplicável
SERVER SHUTDOWN SHDN Não aplicável Não aplicável
SERVER MONTAGEM INSEGURA XU Não aplicável Não aplicável
SERVER VER QUALQUER BASE DE DADOS VWDB Não aplicável Não aplicável
SERVER VER QUALQUER DEFINIÇÃO VWAD Não aplicável Não aplicável
SERVER VER ESTADO DO SERVIDOR VWSS Não aplicável Não aplicável
FUNÇÃO DE SERVIDOR ALTER AL SERVER ALTERAR QUALQUER FUNÇÃO DE SERVIDOR
FUNÇÃO DE SERVIDOR CONTROL CL SERVER SERVIDOR DE CONTROLO
FUNÇÃO DE SERVIDOR ASSUMIR A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLO
FUNÇÃO DE SERVIDOR VER DEFINIÇÃO VW SERVER VER QUALQUER DEFINIÇÃO
SERVICE ALTER AL DATABASE ALTERAR QUALQUER SERVIÇO
SERVICE CONTROL CL DATABASE CONTROL
SERVICE SEND SN DATABASE CONTROL
SERVICE ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
SERVICE VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
CHAVE SIMÉTRICA ALTER AL DATABASE ALTERAR QUALQUER CHAVE SIMÉTRICA
CHAVE SIMÉTRICA CONTROL CL DATABASE CONTROL
CHAVE SIMÉTRICA REFERENCES RF DATABASE REFERENCES
CHAVE SIMÉTRICA ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
CHAVE SIMÉTRICA VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
TYPE CONTROL CL SCHEMA CONTROL
TYPE EXECUTE EX SCHEMA EXECUTE
TYPE REFERENCES RF SCHEMA REFERENCES
TYPE ASSUMIR A RESPONSABILIDADE TO SCHEMA CONTROL
TYPE VER DEFINIÇÃO VW SCHEMA VER DEFINIÇÃO
USER ALTER AL DATABASE ALTERAR TODOS OS UTILIZADORES
USER CONTROL CL DATABASE CONTROL
USER IMPERSONATE IM DATABASE CONTROL
USER VER DEFINIÇÃO VW DATABASE VER DEFINIÇÃO
COLEÇÃO DE ESQUEMA XML ALTER AL SCHEMA ALTER
COLEÇÃO DE ESQUEMA XML CONTROL CL SCHEMA CONTROL
COLEÇÃO DE ESQUEMA XML EXECUTE EX SCHEMA EXECUTE
COLEÇÃO DE ESQUEMA XML REFERENCES RF SCHEMA REFERENCES
COLEÇÃO DE ESQUEMA XML ASSUMIR A RESPONSABILIDADE TO SCHEMA CONTROL
COLEÇÃO DE ESQUEMA XML VER DEFINIÇÃO VW SCHEMA VER DEFINIÇÃO

Novas permissões granulares adicionadas ao SQL Server 2022

As seguintes permissões são adicionadas ao SQL Server 2022:

  • Foram adicionadas 10 novas permissões para permitir o acesso aos metadados do sistema.

  • 18 novas permissões foram adicionadas para eventos estendidos.

  • 9 novas permissões foram adicionadas em relação a objetos relacionados à segurança.

  • Foram adicionadas 4 permissões para o Ledger.

  • 3 permissões adicionais de banco de dados.

Para obter mais informações, consulte Novas permissões granulares para SQL Server 2022 e Azure SQL para melhorar a aderência com PoLP.

Acesso a permissões de metadados do sistema

Nível do servidor:

  • VER QUALQUER DEFINIÇÃO DE SEGURANÇA
  • VER QUALQUER DEFINIÇÃO DE DESEMPENHO
  • EXIBIR ESTADO DE SEGURANÇA DO SERVIDOR
  • EXIBIR ESTADO DE DESEMPENHO DO SERVIDOR
  • VER QUALQUER DEFINIÇÃO CRIPTOGRAFICAMENTE PROTEGIDA

Nível da base de dados:

  • EXIBIR ESTADO DE SEGURANÇA DO BANCO DE DADOS
  • EXIBIR ESTADO DE DESEMPENHO DO BANCO DE DADOS
  • VER DEFINIÇÃO DE SEGURANÇA
  • VER DEFINIÇÃO DE DESEMPENHO
  • VER DEFINIÇÃO CRIPTOGRAFICAMENTE PROTEGIDA

Permissões estendidas para eventos

Nível do servidor:

  • CRIE QUALQUER SESSÃO DE EVENTO
  • DESCARTAR QUALQUER SESSÃO DE EVENTO
  • ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO
  • ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR EVENTO
  • ALTERAR QUALQUER SESSÃO DE EVENTOS EXCLUIR EVENTO
  • ALTERAR QUALQUER SESSÃO DE EVENTO ATIVAR
  • ALTERAR QUALQUER SESSÃO DE EVENTOS E DESATIVÁ-LA
  • ALTERAR QUALQUER SESSÃO DE EVENTO ADICIONAR DESTINO
  • ALTERAR QUALQUER DESTINO DE DESCARTE DE SESSÃO DE EVENTO

Todas essas permissões estão sob a mesma permissão pai: ALTERAR QUALQUER SESSÃO DE EVENTO

Nível da base de dados:

  • CRIAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS
  • DESCARTAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS
  • ALTERAR QUALQUER OPÇÃO DE SESSÃO DE EVENTO DE BANCO DE DADOS
  • ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS ADICIONAR EVENTO
  • ALTERAR QUALQUER EVENTO DE BANCO DE DADOS EVENTO DE QUEDA DE SESSÃO
  • ALTERAR QUALQUER SESSÃO DE EVENTO DE BASE DE DADOS PARA ATIVAR
  • ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS DESABILITAR
  • ALTERAR QUALQUER SESSÃO DE EVENTOS DE BASE DE DADOS ADICIONANDO DESTINO
  • ALTERAR QUALQUER DESTINO DE DESCARTE DE SESSÃO DE EVENTO DE BANCO DE DADOS

Todas estas permissões estão sob a mesma permissão principal: ALTERAR QUALQUER SESSÃO DE EVENTO DE BANCO DE DADOS

  • CONTROLO (CREDENCIAIS)
  • CRIAR LOGIN
  • CRIAR UTILIZADOR
  • REFERÊNCIAS (CREDENCIAL)
  • DESMASCARAR (OBJETO)
  • DESMASCARAR (ESQUEMA)
  • VER QUALQUER REGISTO DE ERROS
  • VISUALIZAR AUDITORIA DE SEGURANÇA DO SERVIDOR
  • EXIBIR AUDITORIA DE SEGURANÇA DO BANCO DE DADOS

Permissões do registro

  • ALTER LEDGER
  • ALTERAR CONFIGURAÇÃO DO LIVRO-RAZÃO
  • ATIVAR LEDGER
  • VER CONTEÚDO DO LIVRO RAZÃO

Outras permissões de banco de dados

  • ALTERAR QUALQUER TRABALHO EXTERNO
  • ALTERAR QUALQUER FLUXO EXTERNO
  • EXECUTE QUALQUER PONTO DE EXTREMIDADE EXTERNO

Resumo do algoritmo de verificação de permissão

A verificação de permissões pode ser complexa. O algoritmo de verificação de permissão inclui associações de grupo sobrepostas e encadeamento de propriedade, permissões explícitas e implícitas, e pode ser afetado pelas permissões em classes protegíveis que contêm a entidade protegível. O processo geral do algoritmo é coletar todas as permissões relevantes. Se nenhum DENY de bloqueio for encontrado, o algoritmo procurará um GRANT que forneça acesso suficiente. O algoritmo contém três elementos essenciais, o contexto de segurança, o espaço de permissão e a permissão necessária.

Note

Você não pode conceder, negar ou revogar permissões para sa, dbo, o proprietário da entidade, information_schema, sysou você mesmo.

  • Contexto de segurança

    Este é o grupo de entidades que contribuem com permissões para a verificação de acesso. Essas são permissões relacionadas ao login ou usuário atual, a menos que o contexto de segurança tenha sido alterado para outro login ou usuário usando a instrução EXECUTE AS. O contexto de segurança inclui os seguintes princípios:

    • O login

    • O utilizador

    • Associações de funções

    • Associações de grupo do Windows

    • Se a assinatura do módulo estiver a ser utilizada, qualquer login ou conta de utilizador para o certificado usado para assinar o módulo que o utilizador está a executar no momento, e as associações de funções relacionadas com essa entidade.

  • Espaço de permissões

    Esta é a entidade segurável e quaisquer classes seguráveis que contenham o segurável. Por exemplo, uma tabela (uma entidade protegível) é contida pela classe protegível do esquema e pela classe protegível do banco de dados. O acesso pode ser afetado por permissões de tabela, esquema, banco de dados e nível de servidor. Para obter mais informações, consulte Hierarquia de permissões (Mecanismo de Banco de Dados).

  • Permissão necessária

    O tipo de permissão que é necessária. Por exemplo, INSERT, UPDATE, DELETE, SELECT, EXECUTE, ALTER, CONTROL e assim por diante.

    O acesso pode exigir várias permissões, como nos exemplos a seguir:

    • Um procedimento armazenado pode exigir a permissão EXECUTE no procedimento armazenado e a permissão INSERT em várias tabelas referenciadas pelo procedimento armazenado.

    • Uma exibição de gerenciamento dinâmico pode exigir as permissões VIEW SERVER STATE e SELECT na vista.

Etapas gerais do algoritmo

Quando o algoritmo está a determinar se deve permitir o acesso a um elemento de segurança, as etapas precisas que utiliza podem variar, dependendo das entidades principais e dos elementos de segurança envolvidos. No entanto, o algoritmo executa as seguintes etapas gerais:

  1. Ignore a verificação de permissão se o logon for um membro da função de servidor fixa sysadmin ou se o usuário for o usuário dbo no banco de dados atual.

  2. Permitir acesso se o encadeamento de propriedade for aplicável e se a verificação de acesso no objeto previamente na cadeia passar na verificação de segurança.

  3. Agregue as identidades de nível de servidor, nível de banco de dados e módulo assinado associadas ao chamador para criar o contexto de segurança.

  4. Para esse contexto de segurança, colete todas as permissões concedidas ou negadas para o espaço de permissão. A permissão pode ser explicitamente declarada como GRANT, GRANT WITH GRANT ou DENY; ou as permissões podem ser implícitas ou cobrindo permissão GRANT ou DENY. Por exemplo, a permissão CONTROL em um esquema implica CONTROL em uma tabela. E CONTROL em uma tabela implica SELECT. Portanto, se CONTROL no esquema foi concedido, SELECT na tabela é concedido. Se o CONTROL for negado na tabela, o SELECT também será negado na tabela.

    Note

    Uma concessão de uma permissão de nível de coluna substitui uma negação no nível do objeto. Para obter mais informações, consulte DENY Object Permissions.

  5. Identifique a permissão necessária.

  6. Falha na verificação de permissão se a permissão necessária for direta ou implicitamente negada a qualquer uma das identidades no contexto de segurança para os objetos no espaço de permissão.

  7. Passe a verificação de permissão se a permissão necessária não foi negada e a permissão necessária contém uma permissão GRANT ou GRANT WITH GRANT direta ou implicitamente para qualquer uma das identidades no contexto de segurança para qualquer objeto no espaço de permissão.

Considerações especiais para permissões ao nível de coluna

As permissões de nível de coluna são concedidas com a sintaxe< table_name>(<nome_da_coluna>). Por exemplo:

GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;

Um DENY na tabela é substituído por um GRANT em uma coluna. No entanto, um DENY subsequente na tabela removerá a coluna GRANT.

Examples

Os exemplos nesta seção mostram como recuperar informações de permissões.

A. Retornar a lista completa de permissões concedidas

A instrução a seguir retorna todas as permissões do Mecanismo de Banco de Dados usando a fn_builtin_permissions função. Para obter mais informações, consulte sys.fn_builtin_permissions.

SELECT * FROM fn_builtin_permissions(default);
GO

B. Retornar as permissões em uma classe específica de objetos

O exemplo a seguir usa fn_builtin_permissions para exibir todas as permissões disponíveis para uma categoria de objeto seguro. O exemplo retorna permissões em assemblagens.

SELECT * FROM fn_builtin_permissions('assembly');
GO

C. Devolver as permissões concedidas à entidade de execução num objeto

O exemplo a seguir usa fn_my_permissions para retornar uma lista das permissões efetivas que são mantidas pelo principal chamador num elemento de segurança especificado. O exemplo retorna permissões em um objeto chamado Orders55. Para obter mais informações, consulte sys.fn_my_permissions.

SELECT * FROM fn_my_permissions('Orders55', 'object');
GO

D. Retornar as permissões aplicáveis a um objeto especificado

O exemplo a seguir retorna permissões aplicáveis a um objeto chamado Yttrium. A função OBJECT_ID interna é usada para recuperar a ID do objeto Yttrium.

SELECT * FROM sys.database_permissions
    WHERE major_id = OBJECT_ID('Yttrium');
GO