Panoramica delle estensioni di sicurezza - Reporting Services (SSRS)
Un'estensione di sicurezza di Reporting Services consente l'autenticazione e l'autorizzazione di utenti o gruppi; ovvero consente a utenti diversi di accedere a un server di report e, in base alle proprie identità, di eseguire attività o operazioni diverse. Per impostazione predefinita, Reporting Services usa un'estensione di autenticazione basata su Windows che verifica le identità degli utenti che dichiarano di avere account nel sistema tramite i protocolli degli account di Windows. In Reporting Services l'autorizzazione degli utenti viene effettuata tramite un sistema di sicurezza basato sui ruoli. Il modello di sicurezza basato sui ruoli di Reporting Services è simile ai modelli di sicurezza basati sui ruoli di altre tecnologie.
Poiché le estensioni di sicurezza si basano su un'API aperta ed estendibile, è possibile creare nuove estensioni di autenticazione e autorizzazione in Reporting Services. L'esempio seguente illustra un'implementazione tipica dell'estensione di sicurezza che usa l'autenticazione e l'autorizzazione basate su form:
Come illustrato nella figura, l'autenticazione e l'autorizzazione vengono effettuate nel modo seguente:
Un utente tenta di accedere al portale Web mediante un URL e viene reindirizzato a un form che ne raccoglie le credenziali per l'applicazione client.
L'utente invia le credenziali al form.
Le credenziali utente vengono inviate al servizio Web Reporting Services tramite il metodo LogonUser.
Il servizio Web chiama l'estensione di sicurezza fornita dal cliente e verifica che nome utente e password siano presenti nell'autorità di sicurezza personalizzata.
Dopo l'autenticazione, il servizio Web crea e gestisce un ticket di autenticazione, noto come "cookie", e verifica il ruolo dell'utente per la home page del portale Web.
Il servizio Web restituisce il cookie al browser e visualizza l'interfaccia utente appropriata nel portale Web.
Dopo l'autenticazione dell'utente, il browser invia richieste al portale Web durante la trasmissione del cookie nell'intestazione HTTP. Queste richieste vengono inviate in risposta alle azioni dell'utente nel portale Web.
Il cookie viene trasmesso nell'intestazione HTTP al servizio Web insieme all'operazione utente richiesta.
Il cookie viene convalidato e, se è valido, il server di report restituisce il descrittore di sicurezza e altre informazioni relative all'operazione richiesta dal database del server di report.
Se il cookie è valido, il server di report effettua una chiamata all'estensione di sicurezza per controllare se l'utente è autorizzato a eseguire l'operazione specifica.
Se l'utente è autorizzato, il server di report esegue l'operazione richiesta e restituisce il controllo al chiamante.
Dopo l'autenticazione dell'utente, l'accesso all'URL per il server di report utilizza lo stesso cookie. Il cookie viene trasmesso nell'intestazione HTTP.
L'utente continua a richiedere operazioni sul server di report fino al termine della sessione.
Quando implementare un'estensione di sicurezza
Se possibile, si consiglia di utilizzare l'autenticazione di Windows. Tuttavia, l'autenticazione e l'autorizzazione personalizzate per Reporting Services potrebbero essere appropriate nei due casi seguenti:
Si dispone di un'applicazione Internet o Extranet che non può usare account Di Windows.
Si dispone di utenti e ruoli personalizzati ed è necessario fornire uno schema di autorizzazione corrispondente in Reporting Services.