Panoramica sulle estensioni di sicurezzaSecurity Extensions Overview

Un'estensione di sicurezza di Reporting ServicesReporting Services consente l'autenticazione e l'autorizzazione di utenti o gruppi, ovvero consente a utenti diversi di accedere a un server di report e, sulla base delle relative identità, di eseguire diverse attività o operazioni.A Reporting ServicesReporting Services security extension enables the authentication and authorization of users or groups; that is, it enables different users to log on to a report server and, based on their identities, perform different tasks or operations. Per impostazione predefinita, Reporting ServicesReporting Services utilizza 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.By default, Reporting ServicesReporting Services uses a Windows-based authentication extension, which uses Windows account protocols to verify the identities of users who claim to have accounts on the system. In Reporting ServicesReporting Services l'autorizzazione degli utenti viene effettuata tramite un sistema di sicurezza basato sui ruoli. Reporting ServicesReporting Services uses a role-based security system to authorize users. Il modello di sicurezza basato sui ruoli di Reporting ServicesReporting Services è simile ai modelli di sicurezza basati sui ruoli di altre tecnologie.The Reporting ServicesReporting Services role-based security model is similar to the role-based security models of other technologies.

Poiché le estensioni di sicurezza si basano su un'API aperta ed estensibile, è possibile creare nuove estensioni di autenticazione e autorizzazione in Reporting ServicesReporting Services.Because security extensions are based on an open and extensible API, you can create new authentication and authorization extensions in Reporting ServicesReporting Services. Di seguito viene fornito un esempio di una tipica implementazione dell'estensione di sicurezza in cui l'autenticazione e l'autorizzazione sono basate su form:The following is an example of a typical security extension implementation that uses Forms-based authentication and authorization:

Processo di estensione della sicurezza di Reporting ServicesReporting Services security extension process

Come illustrato nella figura, l'autenticazione e l'autorizzazione vengono effettuate nel modo seguente:As shown in the illustration, authentication and authorization occur as follows:

  1. Un utente tenta di accedere a Gestione report mediante un URL e viene reindirizzato a un form che ne raccoglie le credenziali per l'applicazione client.A user tries to access Report Manager by using a URL and is redirected to a form that collects user credentials for the client application.

  2. L'utente invia le credenziali al form.The user submits credentials to the form.

  3. Le credenziali utente vengono inviate al servizio Web Reporting Services tramite il metodo LogonUser.The user credentials are submitted to the Reporting Services Web service through the LogonUser method.

  4. 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.The Web service calls the customer-supplied security extension and verifies that the user name and password exist in the custom security authority.

  5. Dopo l'autenticazione, il servizio Web crea e gestisce un ticket di autenticazione (noto come "cookie"), quindi verifica il ruolo dell'utente per la home page di Gestione report.After authentication, the Web service creates an authentication ticket (known as a "cookie"), manages the ticket, and verifies the user's role for the Home page of Report Manager.

  6. Il servizio Web restituisce il cookie al browser e visualizza l'interfaccia utente appropriata in Gestione report.The Web service returns the cookie to the browser and displays the appropriate user interface in Report Manager.

  7. Dopo l'autenticazione dell'utente, il browser invia richieste a Gestione report durante la trasmissione del cookie nell'intestazione HTTP.After the user is authenticated, the browser makes requests to Report Manager while transmitting the cookie in the HTTP header. Queste richieste vengono inviate in risposta alle azioni dell'utente all'interno dell'applicazione Gestione report.These requests are in response to user actions within the Report Manager application.

  8. Il cookie viene trasmesso nell'intestazione HTTP al servizio Web insieme all'operazione utente richiesta.The cookie is transmitted in the HTTP header to the Web service along with the requested user operation.

  9. 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.The cookie is validated, and if it is valid, the report server returns the security descriptor and other information relating to the requested operation from the report server database.

  10. 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.If the cookie is valid, the report server makes a call to the security extension to check if the user is authorized to perform the specific operation.

  11. Se l'utente è autorizzato, il server di report esegue l'operazione richiesta e restituisce il controllo al chiamante.If the user is authorized, the report server performs the requested operation and returns control to the caller.

  12. Dopo l'autenticazione dell'utente, l'accesso all'URL per il server di report utilizza lo stesso cookie.After the user is authenticated, URL access to the report server uses the same cookie. Il cookie viene trasmesso nell'intestazione HTTP.The cookie is transmitted in the HTTP header.

  13. L'utente continua a richiedere operazioni sul server di report fino al termine della sessione.The user continues to request operations on the report server until the session has ended.

Quando implementare un'estensione di sicurezzaWhen to Implement a Security Extension

Se possibile, si consiglia di utilizzare l'autenticazione di Windows.We recommend that you use Windows Authentication if at all possible. Tuttavia, l'autenticazione e l'autorizzazione personalizzate per Reporting ServicesReporting Services possono essere appropriate nei due casi seguenti:However, custom authentication and authorization for Reporting ServicesReporting Services may be appropriate in the following two cases:

  • Si dispone di un'applicazione Internet o Extranet in cui non è possibile utilizzare gli account di Windows.You have an Internet or extranet application that cannot use Windows accounts.

  • Si dispone di utenti e ruoli personalizzati ed è necessario fornire uno schema di autorizzazione corrispondente in Reporting ServicesReporting Services.You have custom-defined users and roles and need to provide a matching authorization scheme in Reporting ServicesReporting Services.

Vedere ancheSee Also

Implementazione di un'estensione di sicurezza Implementing a Security Extension
Configurare Gestione report per il passaggio di cookie di autenticazione personalizzatiConfigure Report Manager to Pass Custom Authentication Cookies