Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base 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 SCHEMABINDINGclá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.
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
Permissões de objeto relacionadas à segurança
- 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:
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.
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.
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.
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.
Identifique a permissão necessária.
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.
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