Active Directory Federation Services 2.0 Evoluzione del Single-Sign-On e Federation Mario Fontana Senior Software Architect - Security Developer & Platform Group - Microsoft http://blogs.msdn.com/mariofontana International Association of Software Architects IASA Chapter Italy : Founder & CEO Agenda Il Problema dell’autenticazione nelle architetture Il modello di sicurezza Claims-Based ADFS 2.0 Overview Un esempio completo con Sharepoint, Office e ADFS Interoperabilità Il problema dell’autenticazione Ogni applicazione deve gestire due funzioni: Esistono molte tecnologie differenti : Autenticare l’utente Ottenere informazioni sull’utente per le funzioni di autorizzazione e customizzazione della UX Name/password, X.509, Kerberos, SAML, LDAP, … Le applicazioni oggi si fanno carico di tutti gli aspetti di autenticazione Se l’esercizio vuole cambiare policy di autenticazione è necessario mettere mano alle singole applicazioni. Soluzione : claims-based Security/Identity Una architettura che ci permetta di nascondere alle applicazioni tutti I dettagli dell’autenticazione degli utenti Uso di protocolli standard non legati alle infrastrutture sistemistiche Invio di informazioni sull’utente alle applicazioni in relazione alle attività che sta esenguedo. Cambiamento delle tecniche di autenticazione dopo il deployment senza modifiche al codice. IDP - Identity Provider IDP (Identity Provider) STS 3) I claims vengono estratti ed utilizzati 1) Ottiene il token Token Client Applicazione/ Servizio Token 2) Invia il token Cosa intendiamo per Digital Identity Token Identità Informazioni Tokens (Security Tokens) Claims Esempio di claim Claim 1 nome Claim 2 Email Claim … Ruolo Claim n Gruppo Queste informazioni vengono usate dalle applicazioni per: •Autorizzazione. •Personalizzazione. Claims Un claim è una asserzione (es. nome,key, group, privilege, capability, ....) rilasciata da un’entità per un’altra entità. Claims sono un sovra insieme dei Ruoli. Claims possono essere molto flessibili “Il nome del soggetto è Mario Fontana” “L’indirizzo del soggetto è [email protected]” “Il soggetto è nel ruolo di Manager” “Il soggetto appartiene al dipartimento di Ingegneria” “Il soggetto ha il permesso di accedere all’applicazione X” “Il soggetto può usare la risorsa Y fino alle 5pm di Giovedì” Claims-Based Identity Identity Provider Recupero claims, Trasformazione per l’applicazione trust Invio del token all’applicazione Relaying party (RP) ADFS 2.0 Active Directory Active Directory Federation Services 2.0 SQL Attribute Store App WIF Client Relying Party trust Protocolli Per trasportare i Security Token esistono 2 classi di specifiche standard di riferimento WS-* WS-Security, WS-Trust, WS-Federation (WSFED) Sviluppata originariamente da : BEA Systems, BMC Software, CA, Inc., IBM, Layer 7 Technologies, Microsoft, Novell, Ping Identity, e VeriSign. Standard OASIS SAML 2.0 Protocol Convergenza tra SAML 1.1 Protocol, Liberty ID-FF1.2 e Shibboleth Standard OASIS La famiglia «Geneva» Active Directory Federation Services (ADFS) 2.0 Evoluzione di ADFS presente in Windows Server 2003 R2 e successivi. Cardspace 2.0 Windows Identity Foundation (WIF) Queste 3 tecnologie erano conosciute con il code-name “Geneva” ADFS 2.0 Security Token Service per AD Federation Trust Manager Identity & Federation Provider Automatizza il trust management via metadata Basato su standard WS-* e SAML 2.0 Protocol Token SAML 1.1 e Token SAML 2.0 Provider per Information Cards Per CardSpace e altri Identity Selectors ADFS 2.0 Architecture ADFS 2.0 Protocol Hosting (WS-*, SAML 2.0) Information Card Issuance Service Token/Claim Issuance Engine Identity Store Interface Trust and Policy Management Services Policy Store Interface AD DS/AD LDS SQL User Attribute Store Policy and configuration Store WMI Provider Configuration SharePoint 2007 – Identity Flow ASP.Net (FBA) Windows SAML Web SSO Windows integrated Roles protected Membership & Role Providers Claims Based Identity Anonymous access Claims protected Web SSO Trusted sub-systems WIF Access control Auth Client WIF ADFS 2.0 Authentication methods Windows Identity Services Application Framework App logic SharePoint Web Application SharePoint Service Applications Content Database Windows Identity Scenario Configurare ADFS per rilasciare tokens a SP Configurare SP per accettare tokens da ADFS Domain Controller ADFS 2.0 Contososrv01 https://sts1.contoso.com Sharepoint contososrv02 Contoso.com Dare accessi alle applicazioni SP basandosi sui Claims Cosa è la Federazione? Un insieme di domini cha stabiliscono da un punto di vista organizzativo un livello di Trust. Utenti di un dominio possono accedere a risorse (es: applicazioni) in altri domini senza duplicare gli account tra i sistemi! I sistemi federati possono utilizzare tecnologie diverse all’interno della propria realtà MA possono interoperare a livello cross-domain tramite protocolli standard! Scenario Federato Azienda 1/ Dipartimento 1 Active Directory Federation Services 2.0 Client Azienda 2/ Dipartimento 2 trust trust ADFS/ altro… Relying Party Scenario Stabilire la la Stabilire federazione: federazione: accettare tokens rilasciare tokens daper fabrikam contoso Domain Controller ADFS 2.0 Domain Controller Contososrv01 https://sts1.contoso.com ADFS 2.0 fabrikamsrv01 https://sts2.fabrikam.com Sharepoint contososrv02 Experience!! Contoso.com 17 Client fabrikamclt01 Fabrikam.com Interoperabilità Sun OpenSSO Novell Access Manager CA SiteMinder e CA Federation Manager Shibboleth 2.0 ICAR Approfondimenti Sito Ufficiale Microsoft per l’Identity Management Geneva Server in due parole ADFS 2.0 (Beta 2) e Sharepoint 2007 Microsoft e il protocollo SAML 2.0 Tematiche di Interoperabilità: Gruppo di discussione IASA: http://www.linkedin.com/groups?home=&gid=2567658&trk=anet _ug_hm Whitepapers di interoperabilità: http://blogs.msdn.com/italy/archive/2009/05/15/teched-na-disponibili-i-whitepaper-perinteroperabilit-con-novell-access-manager-e-sun-opensso-enterprise.aspx http://download.microsoft.com/download/C/F/D/CFD1D9C8-EBA4-4780-B34BDBEB5A4792BF/CA-ADFS%20Interop.pdf © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.