Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server
Istanza gestita di SQL di Azure
Service Broker offre un framework di sicurezza flessibile che consente di proteggere le applicazioni. Questo argomento tratta delle considerazioni in merito alla gestione della sicurezza di Service Broker.
Pianificazione della sicurezza
Ogni applicazione presenta requisiti di sicurezza particolari. Parte della gestione della sicurezza consiste nel pianificare attentamente i requisiti dell'applicazione. Le funzionalità di sicurezza del trasposto e del dialogo interagisce con l'infrastruttura di sicurezza predefinita di SQL Server per garantire la sicurezza dell'applicazione.
Tutte le applicazioni utilizzano l'infrastruttura di sicurezza predefinita di SQL Server. Ogni operazione di SQL Server viene eseguita in un contesto di sicurezza specifico. Nella maggior parte dei casi vengono create entità di database di SQL Server specifiche per l'applicazione. Ciò consente di assicurarsi che ogni passaggio dell'applicazione venga eseguito in un contesto di sicurezza con i privilegi necessari esclusivamente per tale passaggio. Ad esempio, l'entità specificata per l'attivazione interna richiede autorizzazioni di esecuzione per la stored procedure attivata da Service Broker. La stored procedure stessa può impersonare un utente che dispone dell'autorizzazione RECEIVE per la coda e l'autorizzazione UPDATE per una determinata tabella. Si progetta l'applicazione in modo che, in ogni fase, il contesto di sicurezza per l'applicazione non disponga dell'autorizzazione per eseguire operazioni non previste.
Le applicazioni che inviano messaggi tra istanze di SQL Server possono utilizzare la sicurezza del trasporto, la sicurezza del dialogo o entrambe. La sicurezza del trasporto e la sicurezza di dialogo garantiscono protezioni distinte.
La sicurezza di dialogo di Service Broker fornisce la crittografia end-to-end e l'autorizzazione per le conversazioni tra servizi specifici. Pertanto, la sicurezza di dialogo consente di proteggere i dati dall'ispezione o dalla modifica in transito. Le applicazioni che trasmettono dati riservati o sensibili o che trasmettono messaggi su reti non attendibili devono usare la sicurezza di dialogo. La sicurezza di dialogo consente a un partecipante della conversazione di identificare l'altro partecipante della conversazione.
Poiché la sicurezza di dialogo si applica a servizi specifici, è necessario configurarla per ogni servizio che usa la sicurezza di dialogo. Tuttavia, un'istanza può usare la sicurezza di dialogo per alcune conversazioni e consentire la trasmissione non crittografata di altre conversazioni. Ad esempio, le conversazioni con un servizio che aggiorna le informazioni sui clienti possono usare la sicurezza delle finestre di dialogo, mentre le conversazioni che cercano semplicemente informazioni sul numero di parte potrebbero non richiedere la sicurezza di dialogo.
Service Broker usa le associazioni al servizio remoto nel database che avvia la conversazione per determinare la sicurezza della conversazione. Quindi, Service Broker usa il nome del servizio per determinare la sicurezza del servizio. Nei casi in cui esistano più istanze dello stesso servizio di destinazione, il routing per i servizi di avvio deve essere gestito attentamente, in modo che i servizi di origine comunichino solo con i servizi di destinazione che possiedono i certificati corrispondenti. Tutti i servizi con lo stesso nome devono essere configurati con lo stesso certificato.
La sicurezza del trasporto di Service Broker impedisce connessioni di rete non autorizzate agli endpoint di Service Broker, rileva modifiche ai messaggi in transito e, facoltativamente, effettua la crittografia da punto a punto. Ciò consente di proteggere il database dalla ricezione di messaggi indesiderati. La sicurezza del trasporto viene applicata alle connessioni di rete e di conseguenza a tutte le conversazioni tra le istanze di SQL Server. Si noti, tuttavia, che la sicurezza del trasporto non fornisce la crittografia end-to-end e non fornisce l'autenticazione per le singole conversazioni.
Gestione della sicurezza
La gestione della sicurezza per le applicazioni di Service Broker è costituita da due attività principali: il controllo della configurazione dell'applicazione e la sostituzione dei certificati usati dall'applicazione.
Controllare periodicamente l'applicazione per determinare che la configurazione di sicurezza è invariata e che soddisfi i requisiti aziendali dell'applicazione.
La sicurezza di dialogo si basa sui certificati per l'autenticazione e la crittografia. La sicurezza del trasporto può anche usare certificati. Un certificato ha un intervallo di tempo specificato durante il quale è valido. Il certificato non è valido prima dell'inizio o dopo la scadenza di questo periodo. Service Broker non usa certificati che non sono attualmente validi. SQL Server include inoltre l'opzione ACTIVE FOR BEGIN_DIALOG, che consente di rendere disponibile un certificato per Service Broker. Per aggiornare i certificati, creare o caricare nuovi certificati con l'opzione Attivo per iniziare il dialogo impostata su OFF. In seguito al caricamento di tutti i certificati, modificare i certificati correnti in tutti i database, rendendo i certificati non disponibili per Service Broker. Modificare quindi i nuovi certificati impostando l'opzione ACTIVE FOR BEGIN_DIALOG, in modo che tali certificati siano disponibili per Service Broker.
Per altre informazioni sui certificati, vedere Certificati e Service Broker e CREARE UN CERTIFICATO (Transact-SQL).