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.

Numa base de dados SQL no Microsoft Fabric, apenas são suportados utilizadores e funções de nível de base de dados. 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 compreender as permissões necessárias, pode aplicar permissões ao nível do servidor a inícios de sessão ou funções de servidor, e permissões ao nível da base de dados a utilizadores ou funções de base de dados, utilizando as instruções GRANT, REVOKE e DENY. 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 eliminar 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 eliminar qualquer esquema na base 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.

  • VIEW 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 um FUNCTION ou VIEW com a WITH SCHEMABINDING cláusula 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,
APPLICATION ROLE,
ASSEMBLY,
ASYMMETRIC KEY,
AVAILABILITY GROUP,
CERTIFICATE,
CONTRACT,
CREDENTIALS,
DATABASE,
DATABASE SCOPED CREDENTIAL,
DEFAULT,
ENDPOINT,
FULLTEXT CATALOG,
FULLTEXT STOPLIST,
FUNCTION,
LOGIN,
MESSAGE TYPE,
PROCEDURE,
QUEUE,
REMOTE SERVICE BINDING,
ROLE,
ROUTE,
RULE,
SCHEMA,
SEARCH PROPERTY LIST,
SERVER,
SERVER ROLE,
SERVICE,
SYMMETRIC KEY,
SYNONYM,
TABLE,
TYPE,
USER,
VIEW, e
XML SCHEMA COLLECTION
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,
ASYMMETRIC KEY,
CERTIFICATE,
CONTRACT,
CREDENTIAL(aplica-se ao SQL Server 2022 (16.x) e posteriores),
DATABASE,
DATABASE SCOPED CREDENTIAL,
FULLTEXT CATALOG,
FULLTEXT STOPLIST,
FUNCTION,
MESSAGE TYPE,
PROCEDURE,
QUEUE,
RULE,
SCHEMA,
SEARCH PROPERTY LIST,
SEQUENCE OBJETO,
SYMMETRIC KEY,
TABLE,
TYPE,
VIEW, e
XML SCHEMA COLLECTION
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, SERVIDOR 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.
VIEW MONITORIZAÇÃO DE ALTERAÇÕES Esquemas e tabelas
VIEW 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
APPLICATION ROLE ALTER AL DATABASE ALTER QUALQUER APPLICATION ROLE
APPLICATION ROLE CONTROL CL DATABASE CONTROL
APPLICATION ROLE VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
ASSEMBLY ALTER AL DATABASE ALTER QUALQUER ASSEMBLY
ASSEMBLY CONTROL CL DATABASE CONTROL
ASSEMBLY REFERENCES RF DATABASE REFERENCES
ASSEMBLY ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
ASSEMBLY VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
ASYMMETRIC KEY ALTER AL DATABASE ALTER QUALQUER ASYMMETRIC KEY
ASYMMETRIC KEY CONTROL CL DATABASE CONTROL
ASYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
ASYMMETRIC KEY ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
ASYMMETRIC KEY VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
AVAILABILITY GROUP ALTER AL SERVER ALTER QUALQUER AVAILABILITY GROUP
AVAILABILITY GROUP CONTROL CL SERVER SERVIDOR DE CONTROLO
AVAILABILITY GROUP ASSUMIR A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLO
AVAILABILITY GROUP VIEW DEFINIÇÃO VW SERVER VIEW QUALQUER DEFINIÇÃO
CERTIFICATE ALTER AL DATABASE ALTER QUALQUER CERTIFICATE
CERTIFICATE CONTROL CL DATABASE CONTROL
CERTIFICATE REFERENCES RF DATABASE REFERENCES
CERTIFICATE ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
CERTIFICATE VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
CONTRACT ALTER AL DATABASE ALTER QUALQUER CONTRACT
CONTRACT CONTROL CL DATABASE CONTROL
CONTRACT REFERENCES RF DATABASE REFERENCES
CONTRACT ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
CONTRACT VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
CREDENTIAL CONTROL CL SERVER SERVIDOR DE CONTROLO
CREDENTIAL REFERENCES RF SERVER ALTER QUALQUER CREDENTIAL
DATABASE ADMINISTRAR DATABASE OPERAÇÕES EM MASSA DABO SERVER SERVIDOR DE CONTROLO
DATABASE ALTER AL SERVER ALTER QUALQUER DATABASE
DATABASE ALTER QUALQUER APPLICATION ROLE ALAR SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER ASSEMBLY ALAS SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER ASYMMETRIC KEY ALAK SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER CERTIFICATE ALCF SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER COLUMN ENCRYPTION KEY ALCK

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER COLUMN MASTER KEY ALCM

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER CONTRACT ALSC SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER DATABASE REGISTO DE AUDITORIA ALDA SERVER ALTER QUALQUER SERVER AUDIT
DATABASE ALTERAR QUALQUER DATABASE DDL TRIGGER ALTG SERVER SERVIDOR DE CONTROLO
DATABASE MODIFICAR QUALQUER DATABASEEVENT NOTIFICATION ALED SERVER ALTER QUALQUER EVENT NOTIFICATION
DATABASE ALTERAR QUALQUER DATABASEEVENT SESSION AADS SERVER ALTER QUALQUER EVENT SESSION
DATABASE ALTERAR QUALQUER DATABASEEVENT SESSION ADICIONAR EVENTO LDAE SERVER ALTERAR QUALQUER EVENT SESSION ADICIONAR EVENTO
DATABASE ALTERAR QUALQUER DATABASEEVENT SESSION ALVO DE ADIÇÃO LDAT SERVER ALTERAR QUALQUER EVENT SESSION ALVO DE ADIÇÃO
DATABASE ALTERAR QUALQUER DATABASEEVENT SESSION DESATIVAR DDES SERVER ALTERAR QUALQUER EVENT SESSION DESATIVAÇÃO
DATABASE ALTERAR QUALQUER DATABASEEVENT SESSION DROP EVENT LDDE SERVER ALTERAR QUALQUER EVENT SESSION ELIMINAÇÃO DE EVENTO
DATABASE ALTERAR QUALQUER DATABASEEVENT SESSION DESTINO DE LARGADA LDDT SERVER ALTERAR QUALQUER EVENT SESSION DESTINO DE DROP
DATABASE ALTERAR QUALQUER DATABASEEVENT SESSION ATIVAR EDES SERVER ALTERAR QUALQUER EVENT SESSION ATIVAR
DATABASE ALTERAR QUALQUER DATABASEEVENT SESSION OPÇÃO LDSO SERVER ALTERAR QUALQUER EVENT SESSION OPÇÃO
DATABASE ALTER QUALQUER DATABASE SCOPED CONFIGURATION 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 ALTER QUALQUER EXTERNAL DATA SOURCE AEDS SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER EXTERNAL FILE FORMAT AEFF SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER TRABALHO EXTERNO AESJ SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER EXTERNAL LANGUAGE ALLA SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER EXTERNAL LIBRARY ALEL SERVER SERVIDOR DE CONTROLO
DATABASE ALTERAR QUALQUER FLUXO EXTERNO AEST SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER FULLTEXT CATALOG 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 ALTER QUALQUER MESSAGE TYPE ALMT SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER REMOTE SERVICE BINDING ALSB SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER ROLE ALRL SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER ROUTE ALRT SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER SCHEMA ALSM SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER SECURITY POLICY ALSP

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER SENSITIVITY CLASSIFICATION AASC
Aplica-se ao SQL Server (SQL Server 2019 (15.x) até atual), Banco de Dados SQL do Azure.
SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER SERVICE ALSV SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER SYMMETRIC KEY ALSK SERVER SERVIDOR DE CONTROLO
DATABASE ALTER QUALQUER USER 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 BACKUP DATABASE BADB SERVER SERVIDOR DE CONTROLO
DATABASE BACKUP LOG 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 CREATE AGGREGATE CRAG SERVER SERVIDOR DE CONTROLO
DATABASE CRIAR QUALQUER DATABASEEVENT SESSION CRDS SERVER CRIAR QUALQUER EVENT SESSION
DATABASE CREATE ASSEMBLY CRAS SERVER SERVIDOR DE CONTROLO
DATABASE CREATE ASYMMETRIC KEY CRAK SERVER SERVIDOR DE CONTROLO
DATABASE CREATE CERTIFICATE CRCF SERVER SERVIDOR DE CONTROLO
DATABASE CREATE CONTRACT CRSC SERVER SERVIDOR DE CONTROLO
DATABASE CREATE DATABASE CRDB SERVER CRIAR QUALQUER DATABASE
DATABASE CREATE DATABASE DDL EVENT NOTIFICATION CRED SERVER CRIAR DDL EVENT NOTIFICATION
DATABASE CREATE DEFAULT CRDF SERVER SERVIDOR DE CONTROLO
DATABASE CREATE EXTERNAL LANGUAGE CRLA SERVER SERVIDOR DE CONTROLO
DATABASE CREATE EXTERNAL LIBRARY CREL SERVER SERVIDOR DE CONTROLO
DATABASE CREATE FULLTEXT CATALOG CRFT SERVER SERVIDOR DE CONTROLO
DATABASE CREATE FUNCTION CRFN SERVER SERVIDOR DE CONTROLO
DATABASE CREATE MESSAGE TYPE CRMT SERVER SERVIDOR DE CONTROLO
DATABASE CREATE PROCEDURE CRPR SERVER SERVIDOR DE CONTROLO
DATABASE CREATE QUEUE CRQU SERVER SERVIDOR DE CONTROLO
DATABASE CREATE REMOTE SERVICE BINDING CRSB SERVER SERVIDOR DE CONTROLO
DATABASE CREATE ROLE CRRL SERVER SERVIDOR DE CONTROLO
DATABASE CREATE ROUTE CRRT SERVER SERVIDOR DE CONTROLO
DATABASE CREATE RULE CRRU SERVER SERVIDOR DE CONTROLO
DATABASE CREATE SCHEMA CRSM SERVER SERVIDOR DE CONTROLO
DATABASE CREATE SERVICE CRSV SERVER SERVIDOR DE CONTROLO
DATABASE CREATE SYMMETRIC KEY CRSK SERVER SERVIDOR DE CONTROLO
DATABASE CREATE SYNONYM CRSN SERVER SERVIDOR DE CONTROLO
DATABASE CREATE TABLE CRTB SERVER SERVIDOR DE CONTROLO
DATABASE CREATE TYPE CRTY SERVER SERVIDOR DE CONTROLO
DATABASE CREATE USER CUSR SERVER SERVIDOR DE CONTROLO
DATABASE CREATE VIEW CRVW SERVER SERVIDOR DE CONTROLO
DATABASE CREATE XML SCHEMA COLLECTION CRXS SERVER SERVIDOR DE CONTROLO
DATABASE DELETE DL SERVER SERVIDOR DE CONTROLO
DATABASE LARGUE TODOS OS DATABASEEVENT SESSION DRDS SERVER LARGUE QUALQUER EVENT SESSION
DATABASE ATIVAR LEDGER EL SERVER CONTROL
DATABASE EXECUTE EX SERVER SERVIDOR DE CONTROLO
DATABASE EXECUTAR QUALQUER ELEMENTO EXTERNO ENDPOINT 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 DATABASE LIGAÇÃO 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 ALTERAR RASTREAMENTO
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 VIEW QUALQUER COLUMN ENCRYPTION KEY DEFINIÇÃO VWCK

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER VIEW ESTADO DO SERVIDOR
DATABASE VIEW QUALQUER COLUMN MASTER KEY DEFINIÇÃO VWCM

Aplica-se ao SQL Server (SQL Server 2016 (13.x) até atual), Banco de Dados SQL do Azure.
SERVER VIEW ESTADO DO SERVIDOR
DATABASE VIEW QUALQUER SENSITIVITY CLASSIFICATION VASC SERVER SERVIDOR DE CONTROLO
DATABASE VIEW DEFINIÇÃO CRIPTOGRAFICAMENTE SEGURA VCD SERVER VIEW QUALQUER DEFINIÇÃO CRIPTOGRAFICAMENTE SEGURA
DATABASE VIEW DATABASE ESTADO DE DESEMPENHO VDP SERVER VIEW ESTADO DE DESEMPENHO DO SERVIDOR
DATABASE VIEW DATABASE AUDITORIA DE SEGURANÇA VDSA SERVER SERVIDOR DE CONTROLO
DATABASE VIEW DATABASE ESTADO DE SEGURANÇA VDS SERVER VIEW ESTADO DE SEGURANÇA DO SERVIDOR
DATABASE VIEW DATABASE ESTADO VWDS SERVER VIEW ESTADO DO SERVIDOR
DATABASE VIEW DEFINIÇÃO VW SERVER VIEW QUALQUER DEFINIÇÃO
DATABASE VIEW CONTEÚDO DO LEDGER VLC SERVER CONTROL
DATABASE VIEW DEFINIÇÃO DE SEGURANÇA VWS SERVER VIEW QUALQUER DEFINIÇÃO DE SEGURANÇA
DATABASE VIEW DEFINIÇÃO DE DESEMPENHO VWP SERVER VIEW QUALQUER DEFINIÇÃO DE DESEMPENHO
DATABASE SCOPED CREDENTIAL ALTER AL DATABASE CONTROL
DATABASE SCOPED CREDENTIAL CONTROL CL DATABASE CONTROL
DATABASE SCOPED CREDENTIAL REFERENCES RF DATABASE REFERENCES
DATABASE SCOPED CREDENTIAL ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
DATABASE SCOPED CREDENTIAL VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
ENDPOINT ALTER AL SERVER ALTER QUALQUER ENDPOINT
ENDPOINT CONNECT CO SERVER SERVIDOR DE CONTROLO
ENDPOINT CONTROL CL SERVER SERVIDOR DE CONTROLO
ENDPOINT ASSUMIR A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLO
ENDPOINT VIEW DEFINIÇÃO VW SERVER VIEW QUALQUER DEFINIÇÃO
FULLTEXT CATALOG ALTER AL DATABASE ALTER QUALQUER FULLTEXT CATALOG
FULLTEXT CATALOG CONTROL CL DATABASE CONTROL
FULLTEXT CATALOG REFERENCES RF DATABASE REFERENCES
FULLTEXT CATALOG ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
FULLTEXT CATALOG VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
FULLTEXT STOPLIST ALTER AL DATABASE ALTER QUALQUER FULLTEXT CATALOG
FULLTEXT STOPLIST CONTROL CL DATABASE CONTROL
FULLTEXT STOPLIST REFERENCES RF DATABASE REFERENCES
FULLTEXT STOPLIST ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
FULLTEXT STOPLIST VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
LOGIN ALTER AL SERVER ALTER QUALQUER LOGIN
LOGIN CONTROL CL SERVER SERVIDOR DE CONTROLO
LOGIN IMPERSONATE IM SERVER SERVIDOR DE CONTROLO
LOGIN VIEW DEFINIÇÃO VW SERVER VIEW QUALQUER DEFINIÇÃO
MESSAGE TYPE ALTER AL DATABASE ALTER QUALQUER MESSAGE TYPE
MESSAGE TYPE CONTROL CL DATABASE CONTROL
MESSAGE TYPE REFERENCES RF DATABASE REFERENCES
MESSAGE TYPE ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
MESSAGE TYPE VIEW DEFINIÇÃO VW DATABASE VIEW 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 VIEW MONITORIZAÇÃO DE ALTERAÇÕES VWCT SCHEMA VIEW MONITORIZAÇÃO DE ALTERAÇÕES
OBJECT VIEW DEFINIÇÃO VW SCHEMA VIEW DEFINIÇÃO
REMOTE SERVICE BINDING ALTER AL DATABASE ALTER QUALQUER REMOTE SERVICE BINDING
REMOTE SERVICE BINDING CONTROL CL DATABASE CONTROL
REMOTE SERVICE BINDING ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
REMOTE SERVICE BINDING VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
ROLE ALTER AL DATABASE ALTER QUALQUER ROLE
ROLE CONTROL CL DATABASE CONTROL
ROLE ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
ROLE VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
ROUTE ALTER AL DATABASE ALTER QUALQUER ROUTE
ROUTE CONTROL CL DATABASE CONTROL
ROUTE ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
ROUTE VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
SCHEMA ALTER AL DATABASE ALTER QUALQUER SCHEMA
SCHEMA CONTROL CL DATABASE CONTROL
SCHEMA CREATE SEQUENCE 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 VIEW MONITORIZAÇÃO DE ALTERAÇÕES VWCT DATABASE VIEW MONITORIZAÇÃO DE ALTERAÇÕES
SCHEMA VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
SEARCH PROPERTY LIST ALTER AL SERVER ALTER QUALQUER FULLTEXT CATALOG
SEARCH PROPERTY LIST CONTROL CL SERVER CONTROL
SEARCH PROPERTY LIST REFERENCES RF SERVER REFERENCES
SEARCH PROPERTY LIST ASSUMIR A RESPONSABILIDADE TO SERVER CONTROL
SEARCH PROPERTY LIST VIEW DEFINIÇÃO VW SERVER VIEW DEFINIÇÃO
SERVER ADMINISTRAR OPERAÇÕES EM MASSA ADBO Não aplicável Não aplicável
SERVER ALTER QUALQUER AVAILABILITY GROUP ALAG Não aplicável Não aplicável
SERVER ALTERAR QUALQUER LIGAÇÃO ALCO Não aplicável Não aplicável
SERVER ALTER QUALQUER CREDENTIAL ALCD Não aplicável Não aplicável
SERVER ALTER QUALQUER DATABASE ALDB Não aplicável Não aplicável
SERVER ALTER QUALQUER ENDPOINT ALHE Não aplicável Não aplicável
SERVER ALTER QUALQUER EVENT NOTIFICATION ALES Não aplicável Não aplicável
SERVER ALTER QUALQUER EVENT SESSION AAES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER EVENT SESSION ADICIONAR EVENTO LSAE Não aplicável Não aplicável
SERVER ALTERAR QUALQUER EVENT SESSION ALVO DE ADIÇÃO LSAT Não aplicável Não aplicável
SERVER ALTERAR QUALQUER EVENT SESSION DESATIVAÇÃO DES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER EVENT SESSION ELIMINAÇÃO DE EVENTO LSDE Não aplicável Não aplicável
SERVER ALTERAR QUALQUER EVENT SESSION DESTINO DE DROP LSDT Não aplicável Não aplicável
SERVER ALTERAR QUALQUER EVENT SESSION ATIVAR EES Não aplicável Não aplicável
SERVER ALTERAR QUALQUER EVENT SESSION OPÇÃO LESO Não aplicável Não aplicável
SERVER ALTERAR QUALQUER SERVIDOR VINCULADO ALLS Não aplicável Não aplicável
SERVER ALTER QUALQUER LOGIN ALLG Não aplicável Não aplicável
SERVER ALTER QUALQUER SERVER AUDIT ALAA Não aplicável Não aplicável
SERVER ALTER QUALQUER SERVER ROLE ALSR Não aplicável Não aplicável
SERVER ALTERAR RECURSOS ALRS Não aplicável Não aplicável
SERVER ALTERAR ESTADO DO SERVIDOR ALSS Não aplicável Não aplicável
SERVER ALTERAR DEFINIÇÕES ALST Não aplicável Não aplicável
SERVER ALTERAR RASTREAMENTO ALTR Não aplicável Não aplicável
SERVER AUTENTICAR SERVIDOR AUTH Não aplicável Não aplicável
SERVER LIGA QUALQUER UM DATABASE 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 DATABASE CRDB Não aplicável Não aplicável
SERVER CREATE AVAILABILITY GROUP CRAC Não aplicável Não aplicável
SERVER CRIAR DDL EVENT NOTIFICATION CRDE Não aplicável Não aplicável
SERVER CREATE ENDPOINT CRHE Não aplicável Não aplicável
SERVER CREATE SERVER ROLE CRSR Não aplicável Não aplicável
SERVER CRIAR RASTREIO EVENT NOTIFICATION CRTE Não aplicável Não aplicável
SERVER ACESSO EXTERNO ASSEMBLY XA Não aplicável Não aplicável
SERVER IMITAR QUALQUER LOGIN IAL Não aplicável Não aplicável
SERVER SELECIONAR TODOS OS USER ITENS PROTEGÍVEIS SUS Não aplicável Não aplicável
SERVER SHUTDOWN SHDN Não aplicável Não aplicável
SERVER INSEGURO ASSEMBLY XU Não aplicável Não aplicável
SERVER VIEW QUALQUER DATABASE VWDB Não aplicável Não aplicável
SERVER VIEW QUALQUER DEFINIÇÃO VWAD Não aplicável Não aplicável
SERVER VIEW ESTADO DO SERVIDOR VWSS Não aplicável Não aplicável
SERVER ROLE ALTER AL SERVER ALTER QUALQUER SERVER ROLE
SERVER ROLE CONTROL CL SERVER SERVIDOR DE CONTROLO
SERVER ROLE ASSUMIR A RESPONSABILIDADE TO SERVER SERVIDOR DE CONTROLO
SERVER ROLE VIEW DEFINIÇÃO VW SERVER VIEW QUALQUER DEFINIÇÃO
SERVICE ALTER AL DATABASE ALTER QUALQUER SERVICE
SERVICE CONTROL CL DATABASE CONTROL
SERVICE SEND SN DATABASE CONTROL
SERVICE ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
SERVICE VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
SYMMETRIC KEY ALTER AL DATABASE ALTER QUALQUER SYMMETRIC KEY
SYMMETRIC KEY CONTROL CL DATABASE CONTROL
SYMMETRIC KEY REFERENCES RF DATABASE REFERENCES
SYMMETRIC KEY ASSUMIR A RESPONSABILIDADE TO DATABASE CONTROL
SYMMETRIC KEY VIEW DEFINIÇÃO VW DATABASE VIEW 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 VIEW DEFINIÇÃO VW SCHEMA VIEW DEFINIÇÃO
USER ALTER AL DATABASE ALTER QUALQUER USER
USER CONTROL CL DATABASE CONTROL
USER IMPERSONATE IM DATABASE CONTROL
USER VIEW DEFINIÇÃO VW DATABASE VIEW DEFINIÇÃO
XML SCHEMA COLLECTION ALTER AL SCHEMA ALTER
XML SCHEMA COLLECTION CONTROL CL SCHEMA CONTROL
XML SCHEMA COLLECTION EXECUTE EX SCHEMA EXECUTE
XML SCHEMA COLLECTION REFERENCES RF SCHEMA REFERENCES
XML SCHEMA COLLECTION ASSUMIR A RESPONSABILIDADE TO SCHEMA CONTROL
XML SCHEMA COLLECTION VIEW DEFINIÇÃO VW SCHEMA VIEW 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 SQL do Azure para melhorar a aderência com PoLP.

Acesso a permissões de metadados do sistema

Nível do servidor:

  • VIEW QUALQUER DEFINIÇÃO DE SEGURANÇA
  • VIEW QUALQUER DEFINIÇÃO DE DESEMPENHO
  • VIEW ESTADO DE SEGURANÇA DO SERVIDOR
  • VIEW ESTADO DE DESEMPENHO DO SERVIDOR
  • VIEW QUALQUER DEFINIÇÃO CRIPTOGRAFICAMENTE SEGURA

Nível da base de dados:

  • VIEW DATABASE ESTADO DE SEGURANÇA
  • VIEW DATABASE ESTADO DE DESEMPENHO
  • VIEW DEFINIÇÃO DE SEGURANÇA
  • VIEW DEFINIÇÃO DE DESEMPENHO
  • VIEW DEFINIÇÃO CRIPTOGRAFICAMENTE SEGURA

Permissões estendidas para eventos

Nível do servidor:

  • CRIAR QUALQUER EVENT SESSION
  • LARGUE QUALQUER EVENT SESSION
  • ALTERAR QUALQUER EVENT SESSION OPÇÃO
  • ALTERAR QUALQUER EVENT SESSION ADICIONAR EVENTO
  • ALTERAR QUALQUER EVENT SESSION ELIMINAÇÃO DE EVENTO
  • ALTERAR QUALQUER EVENT SESSION ATIVAR
  • ALTERAR QUALQUER EVENT SESSION DESATIVAÇÃO
  • ALTERAR QUALQUER EVENT SESSION ALVO DE ADIÇÃO
  • ALTERAR QUALQUER EVENT SESSION DESTINO DE DROP

Todas estas permissões estão sob a mesma permissão principal: ALTER ANY EVENT SESSION

Nível da base de dados:

  • CRIAR QUALQUER DATABASEEVENT SESSION
  • LARGUE TODOS OS DATABASEEVENT SESSION
  • ALTERAR QUALQUER DATABASEEVENT SESSION OPÇÃO
  • ALTERAR QUALQUER DATABASEEVENT SESSION ADICIONAR EVENTO
  • ALTERAR QUALQUER DATABASEEVENT SESSION DROP EVENT
  • ALTERAR QUALQUER DATABASEEVENT SESSION ATIVAR
  • ALTERAR QUALQUER DATABASEEVENT SESSION DESATIVAR
  • ALTERAR QUALQUER DATABASEEVENT SESSION ALVO DE ADIÇÃO
  • ALTERAR QUALQUER DATABASEEVENT SESSION DESTINO DE LARGADA

Todas estas permissões estão sob a mesma permissão parental: ALTERAR QUALQUER DATABASEEVENT SESSION

  • CONTROLO (CREDENTIAL)
  • CREATE LOGIN
  • CREATE USER
  • REFERÊNCIAS (CREDENTIAL)
  • DESMASCARAR (OBJETO)
  • DESMASCARAR (SCHEMA)
  • VIEW QUALQUER REGISTO DE ERROS
  • VIEW AUDITORIA DE SEGURANÇA DE SERVIDORES
  • VIEW DATABASE AUDITORIA DE SEGURANÇA

Permissões do registro

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

Outras permissões de banco de dados

  • ALTERAR QUALQUER TRABALHO EXTERNO
  • ALTERAR QUALQUER FLUXO EXTERNO
  • EXECUTAR QUALQUER ELEMENTO EXTERNO ENDPOINT

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 não for encontrado bloqueio DENY , o algoritmo procura 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. Estas são permissões relacionadas com o login ou utilizador atual, a menos que o contexto de segurança tenha sido alterado para outro login ou utilizador ao usar a EXECUTE AS instrução. O contexto de segurança inclui os seguintes princípios:

    • O login

    • O utilizador

    • Pertença a 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 tanto a permissão EXECUTE sobre o procedimento armazenado, bem como a permissão INSERT sobre várias tabelas referenciadas pelo procedimento armazenado.

    • Uma vista de gestão dinâmica pode exigir tanto a permissão VIEW SERVER STATE como a permissão 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 indicada como GRANT, GRANT COM GRANT ou DENY; ou as permissões podem ser uma permissão implícita ou abrangente 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

    A GRANT de uma permissão ao nível da coluna sobrepõe a DENY ao nível do objeto. Para mais informações, consulte DENY Permissões de Objetos.

  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. A verificação de permissões é aprovada se a permissão necessária não tiver sido negada e a permissão necessária contiver uma GRANT ou uma GRANT com permissão GRANT, direta ou implicitamente, para qualquer uma das identidades no contexto de segurança relativamente a qualquer objeto no espaço de permissões.

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;

Uma DENY na tabela é substituída por uma GRANT numa coluna. No entanto, uma DENY subsequente na tabela remove 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