Condividi tramite


DENY - autorizzazioni per endpoint (Transact-SQL)

Nega le autorizzazioni per un endpoint.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

DENY permission  [ ,...n ] ON ENDPOINT :: endpoint_name
    TO < server_principal >  [ ,...n ]
    [ CASCADE ]
    [ AS SQL_Server_login ] 

<server_principal> ::=  
        SQL_Server_login
    | SQL_Server_login_from_Windows_login 
    | SQL_Server_login_from_certificate 
    | SQL_Server_login_from_AsymKey

Argomenti

  • permission
    Specifica un'autorizzazione che può essere negata per un endpoint. Per un elenco delle autorizzazioni, vedere la sezione Osservazioni di seguito in questo argomento.

  • ON ENDPOINT ::endpoint_name
    Specifica l'endpoint per cui viene negata l'autorizzazione. Il qualificatore di ambito (
    ::
    ) è obbligatorio.

  • TO <server_principal>
    Specifica l'account di accesso di SQL Server a cui viene negata l'autorizzazione.

  • SQL_Server_login
    Specifica il nome di un account di accesso di SQL Server.

  • SQL_Server_login_from_Windows_login
    Specifica il nome di un account di accesso di SQL Server creato da un account di accesso di Windows.

  • SQL_Server_login_from_certificate
    Specifica il nome di un account di accesso di SQL Server di cui viene eseguito il mapping a un certificato.

  • SQL_Server_login_from_AsymKey
    Specifica il nome di un account di accesso di SQL Server di cui viene eseguito il mapping a una chiave asimmetrica.

  • CASCADE
    Indica che l'autorizzazione negata viene negata anche ad altre entità alle quali è stata concessa da questa entità.

  • AS SQL_Server_login
    Specifica l'account di accesso di SQL Server dal quale l'entità che esegue la query ottiene il diritto di negare l'autorizzazione.

Osservazioni

È possibile negare autorizzazioni nell'ambito del server solo se il database corrente è il database master.

Le informazioni sugli endpoint sono visibili nella vista del catalogo sys.endpoints. Le informazioni sulle autorizzazioni del server sono visibili nella vista del catalogo sys.server_permissions e le informazioni sulle entità server sono visibili nella vista del catalogo sys.server_principals.

Un endpoint è un'entità a sicurezza diretta a livello del server. Nella tabella seguente sono elencate le autorizzazioni più specifiche e limitate che è possibile negare per un endpoint, insieme alle autorizzazioni più generali che le includono in modo implicito.

Autorizzazione dell'endpoint

Autorizzazione dell'endpoint in cui è inclusa

Autorizzazione del server in cui è inclusa

ALTER

CONTROL

ALTER ANY ENDPOINT

CONNECT

CONTROL

CONTROL SERVER

CONTROL

CONTROL

CONTROL SERVER

TAKE OWNERSHIP

CONTROL

CONTROL SERVER

VIEW DEFINITION

CONTROL

VIEW ANY DEFINITION

Autorizzazioni

È richiesta l'autorizzazione CONTROL per l'endpoint o l'autorizzazione ALTER ANY ENDPOINT per il server.

Esempi

A.Negazione dell'autorizzazione VIEW DEFINITION per un endpoint

Nell'esempio seguente viene negata l'autorizzazione VIEW DEFINITION per l'endpoint Mirror7 all'account di accesso di SQL Server ZArifin.

USE master;
DENY VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;
GO

B.Negazione dell'autorizzazione TAKE OWNERSHIP con l'opzione CASCADE

Nell'esempio seguente viene negata l'autorizzazione TAKE OWNERSHIP per l'endpoint Shipping83 all'utente di SQL Server PKomosinski e alle entità a cui l'utente PKomosinski ha concesso l'autorizzazione TAKE OWNERSHIP.

USE master;
DENY TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski 
    CASCADE;
GO

Vedere anche

Riferimento

GRANT - autorizzazioni per endpoint (Transact-SQL)

REVOKE - autorizzazioni per endpoint (Transact-SQL)

CREATE ENDPOINT (Transact-SQL)

Viste del catalogo degli endpoint (Transact-SQL)

sys.endpoints (Transact-SQL)

Concetti

Autorizzazioni (Motore di database)

Entità (Motore di database)