Condividi tramite


Gestione della protezione (Service Broker)

Service Broker offre un framework di protezione flessibile che contribuisce a proteggere le applicazioni in uso. In questo argomento vengono illustrate alcune considerazioni utili per la gestione della protezione di Service Broker.

Pianificazione della protezione

Ogni applicazione ha requisiti di protezione univoci. Un aspetto della gestione della protezione consiste nel pianificare accuratamente i requisiti relativi all'applicazione. Le funzionalità di protezione del trasposto e del dialogo interagisce con l'infrastruttura di protezione predefinita di SQL Server per garantire la protezione dell'applicazione.

Tutte le applicazioni utilizzano l'infrastruttura di protezione predefinita di SQL Server. Ogni operazione di SQL Server viene eseguita in un contesto di protezione specifico. Nella maggior parte dei casi vengono create entità di database di SQL Server specifiche per l'applicazione. Ogni fase dell'applicazione viene pertanto eseguita in un contesto di protezione con i soli privilegi necessari per quella fase. L'entità specificata, ad esempio, per l'attivazione interna richiede autorizzazioni di esecuzione per la stored procedure attivata da Service Broker, la quale può rappresentare un utente dotato dell'autorizzazione RECEIVE per la coda e dell'autorizzazione UPDATE per una tabella particolare. È consigliabile progettare l'applicazione in modo tale che in ogni fase il contesto di protezione dell'applicazione disponga solo dell'autorizzazione per l'esecuzione delle operazioni previste.

Le applicazioni che inviano messaggi tra istanze di SQL Server possono utilizzare la protezione del trasporto, la protezione del dialogo o entrambe. Il tipo di protezione offerto è nettamente diverso.

La protezione del dialogo di Service Broker garantisce funzionalità di autorizzazione e crittografia end-to-end per conversazioni tra servizi specifici e protegge pertanto i dati dall'accesso o dalla modifica durante il transito. Per le applicazioni che trasmettono dati riservati o messaggi attraverso reti non attendibili, è consigliabile utilizzare la protezione del dialogo che consente l'identificazione tra i partecipanti di una conversazione.

La protezione del dialogo viene applicata a servizi specifici. Pertanto, deve essere configurata per ogni servizio che la utilizza. Un'istanza può, tuttavia, utilizzare la protezione del dialogo per alcune conversazioni e consentire la trasmissione non crittografata di altre conversazioni. Ad esempio, per le conversazioni associate a un servizio che aggiorna le informazioni sui clienti è possibile utilizzare la protezione del dialogo, che invece può non essere necessaria per le conversazioni che si limitano a eseguire la ricerca di informazioni sui numeri di articolo.

Service Broker utilizza le associazioni a servizi remoti disponibili nel database che inizia la conversazione per determinare il tipo di protezione della conversazione. Utilizza quindi il nome del servizio per determinare il tipo di protezione per il servizio. Se esistono più istanze dello stesso servizio di destinazione, è necessario gestire attentamente il routing per i servizi di origine in modo che questi ultimi comunichino solo con i servizi di destinazione contenenti certificati corrispondenti. Per tutti i servizi con lo stesso nome è necessario configurare lo stesso certificato.

La protezione del trasporto di Service Broker impedisce che vengano stabilite connessioni di rete non autorizzate agli endpoint di Service Broker, rileva eventuali modifiche dei messaggi durante la trasmissione e offre, facoltativamente, la crittografia point-to-point evitando la ricezione di messaggi indesiderati nel database. La protezione 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 protezione del trasporto non esegue la crittografia end-to-end né l'autenticazione per conversazioni singole.

Gestione della protezione

La gestione della protezione per le applicazioni di Service Broker è costituita da due attività principali, ovvero dal controllo della configurazione dell'applicazione e dalla sostituzione dei certificati utilizzati dall'applicazione stessa.

Si consiglia di controllare periodicamente l'applicazione per verificare che la configurazione della protezione non sia stata modificata e che soddisfi le esigenze aziendali specifiche.

Per l'autenticazione e la crittografia la protezione del dialogo si basa sui certificati, che possono inoltre essere utilizzati dalla protezione del trasporto. Ai certificati è associato un periodo di validità specifico. Prima dell'inizio o dopo la scadenza di tale periodo il certificato non è valido. Service Broker utilizza solo certificati 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 BEGIN DIALOG impostata su OFF. Dopo aver caricato tutti i certificati, modificare i certificati correnti in tutti i database rendendoli non disponibili per Service Broker. Modificare quindi i nuovi certificati impostando l'opzione ACTIVE FOR BEGIN_DIALOG in modo da renderli disponibili per Service Broker.

Per ulteriori informazioni sui certificati, vedere Certificati e Service Broker e CREATE CERTIFICATE (Transact-SQL).