Concetti relativi alla sicurezza COM+

COM+ offre diverse funzionalità di sicurezza che è possibile usare per proteggere le applicazioni COM+, dai servizi configurati in modo amministrativo alle API che è possibile chiamare all'interno del codice.

Quando possibile, per le applicazioni COM+, è preferibile usare la sicurezza automatica, ad esempio la sicurezza e l'autenticazione dichiarativa basata su ruoli, anziché configurare la sicurezza all'interno dei componenti. L'uso della sicurezza automatica semplifica la scrittura e la gestione dei componenti, semplifica la progettazione della sicurezza in un'intera applicazione e, poiché è configurata in modo amministrativo, più semplice modificare i criteri di sicurezza di un'applicazione. Questi servizi di sicurezza automatici consentono di escludere tutte le funzionalità correlate alla sicurezza dai componenti. Quando è possibile attivare i servizi e configurarli in modo appropriato, COM+ gestirà i dettagli dell'applicazione dei criteri di sicurezza specificati.

Tuttavia, quando i servizi di sicurezza automatici in COM+ non eseguono esattamente le operazioni necessarie, è possibile estenderle, basandosi sulla piattaforma di sicurezza automatica fornita da COM+. Nei casi in cui si sceglie di non usare la sicurezza automatica o la posizione in cui si vuole usarla, ma è necessario compilarla in base ai requisiti di sicurezza dell'applicazione, sono disponibili le opzioni seguenti per la configurazione della sicurezza a livello di codice:

  • Sicurezza basata sui ruoli a livello di codice, ad esempio il controllo dei ruoli, disponibile quando è abilitata la sicurezza basata sui ruoli per l'applicazione.
  • Rappresentazione: per quando si vuole usare l'identità di un client per accedere a una risorsa protetta.
  • Funzionalità di controllo basate sulle informazioni sul contesto delle chiamate di sicurezza, disponibili anche quando è abilitata la sicurezza basata sui ruoli.

I meccanismi usati per proteggere una determinata applicazione dipendono dai requisiti specifici dell'applicazione. Alcune scelte di sicurezza possono influire sul modo in cui si scrivono i componenti e alcuni possono influire in modo significativo sulla progettazione dell'applicazione. Prima di prendere decisioni su come implementare una strategia di sicurezza per un'applicazione, è consigliabile prendere in considerazione i requisiti di sicurezza nel contesto della progettazione complessiva, ovvero requisiti di prestazioni, accesso ai dati, progettazione fisica, e scegliere la combinazione più adatta di funzionalità di sicurezza. Per altre informazioni sull'implementazione della sicurezza a livello di codice, vedere Sicurezza dei componenti a livello di codice.

Qui vengono fornite brevi descrizioni delle categorie di sicurezza, delle funzionalità e dei problemi COM+, con collegamenti ad argomenti di questa sezione che forniscono una descrizione dettagliata di ognuna delle aree importanti.

Nota

Anche se non discussi in questa sezione, i componenti in coda presentano anche problemi specifici relativi alle funzionalità di sicurezza disponibili. Per informazioni dettagliate, vedere Sicurezza dei componenti in coda e Sviluppo di componenti in coda.

 

Sicurezza basata sui ruoli

La sicurezza basata sui ruoli è la funzionalità centrale della sicurezza delle applicazioni COM+. Usando i ruoli, è possibile costruire in modo amministrativo un criterio di autorizzazione per un'applicazione, scegliendo (fino al livello del metodo, se necessario) a cui gli utenti possono accedere alle risorse. Inoltre, i ruoli forniscono un framework per applicare il controllo della sicurezza all'interno del codice se l'applicazione richiede un controllo di accesso più dettagliato.

La sicurezza basata sui ruoli è basata su un meccanismo generale che consente di recuperare informazioni di sicurezza relative a tutti i chiamanti upstream nella catena di chiamate al componente. Questa funzionalità è utile in particolare se si desidera eseguire operazioni di controllo e registrazione dettagliate. Per una descrizione delle funzionalità di controllo fornite da COM+, vedere Accesso alle informazioni sul contesto delle chiamate di sicurezza.

Per una descrizione dei problemi di sicurezza e amministrazione basati sui ruoli da considerare durante l'uso, vedere Sicurezza basata su ruoli Amministrazione istration.

Autenticazione client

Prima di poter autorizzare i client ad accedere alle risorse, è necessario essere certi che siano quelli che dicono di essere. Per abilitare questa verifica dell'identità, COM+ fornisce servizi di autenticazione. Anche se questi servizi sono effettivamente forniti a un livello più fondamentale da COM e Microsoft Windows, un'applicazione COM+ consente di attivare semplicemente il servizio di autenticazione in modo che funzioni in modo trasparente per l'applicazione. Per una descrizione dei servizi di autenticazione, vedere Autenticazione client.

Rappresentazione e delega client

In alcuni casi, l'applicazione deve eseguire operazioni per conto di un client usando l'identità del client, ad esempio quando si accede a un database che eseguirà l'autenticazione del client originale. È quindi necessario che l'applicazione impersoni il client. COM+ offre strutture per consentire vari livelli di rappresentazione. La rappresentazione viene configurata in modo amministrativo, ma è anche necessario fornire supporto per la rappresentazione con il codice dei componenti dell'applicazione. Per una descrizione della rappresentazione e dei problemi relativi all'uso, vedere Rappresentazione client e delega.

Uso dei criteri di restrizione software in COM+

I criteri di restrizione software consentono di eseguire codice non attendibile e pertanto potenzialmente dannoso in un ambiente vincolato in modo che non possa usare in modo improprio i privilegi dell'utente. A tale scopo, assegnare livelli di attendibilità ai file che l'utente può eseguire. Ad esempio, alcuni file di sistema possono essere completamente attendibili e dato accesso senza restrizioni ai privilegi dell'utente, mentre un file scaricato da Internet potrebbe essere completamente non attendibile e pertanto può essere eseguito solo in un ambiente limitato in cui non è consentito l'uso di privilegi utente sensibili alla sicurezza.

I criteri di restrizione software a livello di sistema vengono controllati tramite lo strumento amministrativo Criteri di sicurezza locali, che consente agli amministratori di configurare i livelli di attendibilità per singoli file. Tuttavia, tutte le applicazioni server COM+ vengono eseguite nel file dllhost.exe. Com+ offre pertanto un modo per specificare i criteri di restrizione software per ogni applicazione server in modo che non debbano dipendere dai criteri di restrizione del file di dllhost.exe. Per una discussione su come usare i criteri di restrizione software in COM+, vedere Uso dei criteri di restrizione software in COM+.

Sicurezza delle applicazioni della libreria

Le applicazioni di libreria hanno particolari considerazioni sulla sicurezza. Poiché queste applicazioni vengono eseguite nel processo del client, sono interessate dalla sicurezza applicata dal processo di hosting, mentre non è possibile controllare la sicurezza a livello di processo. Per una descrizione dei fattori da considerare per le applicazioni di libreria, vedere Library Application Security.For a description of factors to consider for library applications, see Library Application Security.

Sicurezza delle applicazioni multilivello

Le applicazioni COM+ sono in genere applicazioni di livello intermedio; ovvero spostano le informazioni tra i client e le risorse back-end, ad esempio i database. Le scelte difficili possono essere coinvolte nella determinazione della posizione in cui applicare la sicurezza e in quale grado. La sicurezza implica intrinsecamente compromessi sulle prestazioni. Alcune di queste più gravi si verificano quando è necessario applicare il controllo di sicurezza sia al livello dati che al livello intermedio. Per una descrizione dei problemi da considerare, vedere Sicurezza delle applicazioni multilivello.

Autenticazione client

Rappresentazione e delega client

Attività di sicurezza COM+

Sicurezza delle applicazioni della libreria

Sicurezza delle applicazioni multilivello

Sicurezza dei componenti a livello di codice

Amministrazione istration di sicurezza basata sui ruoli

Uso dei criteri di restrizione software in COM+