Condividi tramite


Entità di sicurezza (Motore di database)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di analisi (PDW)Database SQL in Anteprima di Microsoft Fabric

Le entità di sicurezza sono entità cje possono richiedere risorse di SQL Server. Analogamente ad altri componenti del modello di autorizzazione di SQL Server, le entità di sicurezza possono essere organizzate in una gerarchia. Il campo di influenza di un'entità dipende dall'ambito della definizione dell'entità (Windows, server o database) e dal tipo di entità (indivisibile o raccolta). Un account di accesso di Windows è un esempio di entità indivisibile mentre un gruppo di Windows è un esempio di entità costituita da una raccolta. Ogni principale ha un identificatore di sicurezza (SID). Questo argomento si applica a tutte le versioni di SQL Server, ma esistono alcune restrizioni relative alle entità di livello server nel database SQL o in Azure Synapse Analytics.

Note

Microsoft Entra ID era precedentemente conosciuto come Azure Active Directory (Azure AD).

Entità a livello di SQL Server

  • Accesso con autenticazione di SQL Server
  • Account di accesso con autenticazione di Windows per un utente di Windows
  • Account di accesso con autenticazione di Windows per un gruppo di Windows
  • Accesso con autenticazione di Microsoft Entra per un utente di Microsoft Entra
  • Accesso con autenticazione di Microsoft Entra per un gruppo di Microsoft Entra
  • Autenticazione Microsoft Entra per un principal di servizio di Microsoft Entra
  • Ruolo server

Entità a livello di database

  • Utente database (per altre informazioni sui tipi di utenti del database, vedere CREATE USER (Transact-SQL)).
  • Ruolo del database
  • Ruolo di applicazione

sa Accesso

L'account di accesso sa di SQL Server è un'entità di livello server. Per impostazione predefinita, viene creato con l'installazione di un'istanza. A partire da SQL Server 2005 (9.x), il database predefinito di sa è master. Si tratta di un comportamento diverso rispetto alle versioni precedenti di SQL Server. L'account di accesso sa è un membro del ruolo predefinito a livello di server sysadmin. L'account sa di accesso dispone di tutte le autorizzazioni per il server e non può essere limitato. Non è possibile eliminare l'account sa di accesso, ma può essere disabilitato in modo che nessuno possa usarlo.

dbo Utente e dbo schema

L'utente dbo è un'entità utente speciale in ogni database. Tutti gli amministratori di SQL Server, i membri del ruolo predefinito del server sysadmin, l'account di accesso sa e i proprietari del database accedono al database come utenti dbo. L'utente dbo dispone di tutte le autorizzazioni nel database e non può essere limitato o eliminato. dbo indica il proprietario del database, ma l'account dbo utente non è uguale al ruolo predefinito del db_owner database e il ruolo predefinito del db_owner database non corrisponde all'account utente registrato come proprietario del database. L'utente dbo è proprietario dello schema dbo. Lo schema dbo è lo schema predefinito per tutti gli utenti, a meno che non venga specificato uno schema diverso. Non è possibile eliminare lo dbo schema.

public Ruolo del server e ruolo del database

Ogni account di accesso appartiene al ruolo predefinito del server public e ogni utente del database appartiene al ruolo del database public. Quando a un account di accesso o un utente non è stato concesso o negato permessi specifici su un securable, l'account di accesso o l'utente eredita i permessi concessi a public su quel securable. Non è possibile eliminare il public ruolo predefinito del server e il ruolo predefinito del public database. Tuttavia è possibile revocare le autorizzazioni dei ruoli public. Esistono numerose autorizzazioni assegnate per impostazione predefinita ai ruoli public. La maggior parte di queste autorizzazioni è necessaria per le operazioni di routine nel database, ovvero quelle operazioni che tutti gli utenti devono essere in grado di eseguire. Prestare attenzione quando si revocano le autorizzazioni dall'account di accesso o dall'utente public , in quanto influiscono su tutti gli account di accesso/utenti. In genere non è consigliabile negare le autorizzazioni a public, perché l'istruzione di negazione ("deny") esegue l'override di tutte le istruzioni di concessione ("grant") che si possono assegnare a utenti singoli.

INFORMATION_SCHEMA e sys utenti e schemi

Ogni database include due entità visualizzate come utenti nelle viste del catalogo: INFORMATION_SCHEMA e sys. Queste entità sono richieste internamente dal motore di database. Non possono essere modificati o eliminati.

Account di accesso basati su certificati di SQL Server

Le entità del server i cui nomi sono racchiusi tra due simboli di cancelletto (##) sono solo per uso interno di sistema. Le entità seguenti vengono create dai certificati quando SQL Server è installato e non devono essere eliminate.

  • ##MS_SQLResourceSigningCertificate##
  • ##MS_SQLReplicationSigningCertificate##
  • ##MS_SQLAuthenticatorCertificate##
  • ##MS_AgentSigningCertificate##
  • ##MS_PolicyEventProcessingLogin##
  • ##MS_PolicySigningCertificate##
  • ##MS_PolicyTsqlExecutionLogin##

Questi account principali non dispongono di password che possono essere modificate dagli amministratori in base ai certificati rilasciati a Microsoft.

L'utente guest

Ogni database include un guest. Le autorizzazioni concesse all'utente guest vengono ereditate dagli utenti che hanno accesso al database, ma che non hanno un account utente nel database. L'utente guest non può essere eliminato, ma può essere disabilitato revocandone l'autorizzazione CONNECT . L'autorizzazione CONNECT può essere revocata eseguendo REVOKE CONNECT FROM GUEST; all'interno di qualsiasi database diverso da master o tempdb.

Limitations

  • In Database SQL in Microsoft Fabric Preview sono supportati solo utenti e ruoli a livello di database. Gli account di accesso a livello di server, i ruoli e l'account sa non sono disponibili. Nel database SQL di Microsoft Fabric Preview, Microsoft Entra ID è l'unico metodo di autenticazione supportato per gli utenti del database. Per altre informazioni, vedere Autorizzazione nel database SQL in Microsoft Fabric.

Per informazioni sulla progettazione di un sistema di autorizzazioni, vedere Introduzione alle autorizzazioni di motore di database.

Gli articoli seguenti sono inclusi in questa sezione della documentazione online di SQL Server: