2. CÓDIGO DA SESSÃO:APPI309 Cenários do mundo real para uma arquitetura de autenticação e autorização no ambiente corporativo Markus Christen Arquiteto de Infraestrutura | Microsoft markusc@microsoft.com WaldemirCambiucci Arquiteto de Soluções | Microsoft wcamb@microsoft.com
3. Objetivos da Sessão Desafios atuais para Autenticação em aplicações Uma introdução sobre Claims-Based Authentication (CBA) Cenários de mundo real com Claims-Based Authentication (CBA)
4. Plataforma de AplicaçõesArquitetura Básica Serviços de Infraestrutura Armazenamento Ferramentas de Desenvolvimento Integração Identidades Aplicação . . . Aplicações e Serviços Suporte local Sistema Operacional Serviços Fundamento Usuários
5. Plataforma de AplicaçõesModelo Genérico Pilares da Plataforma de Aplicações Serviços de Desenvolvimento Serviços de Segurança Plataforma de Aplicações Serviços de Integração Serviços de Armazenamento e BI Serviços de Segurança Serviços de Hospedagem Serviços de Gerenciamento
7. Arquitetura de Autenticação e Autorização Modelo Genérico Domínio de Segurança Aplicação Autenticação & Autorização Usuário Usuário e Senha com provedor de identidades customizado
8. Arquitetura de Autenticação e Autorização Modelo Repositório Único Domínio de Segurança Aplicação HR Aplicação CRM Aplicação Autom. Usuário Autenticação & Autorização Autenticação & Autorização Directory Service Autenticação & Autorização
9. Arquitetura de Autenticação e Autorização Modelo integração com recursos na nuvem Recursos na Nuvem Autenticação Autorização Local Autenticação & Autorização Directory Service
10. Arquitetura de Autenticação e Autorização Resumindo os desafios Múltiplos domínios de segurança distribuídos Múltiplos provedores de identidades Múltiplos padrões de desenvolvimento Acoplamento de tecnologia
12. Arquitetura de Autenticação e Autorização As Grandes Questões ! Passaporte Autenticação: Quem é você ? Idade 18 ? Autorização : O que você pode fazer ?
13. Arquitetura de Autenticação e Autorização As Grandes Questões ! Uma identidade é um conjunto de informaçõessobrealgumaentidade, como um usuário. A maioria das aplicaçõestrabalha com identidades Direitos de acesso de um usuárioouserviço. Modocomoumaaplicaçãointerage com o usuário. Existemdiversosdesafios no tratamento de identidades Diferentestecnologias, cenários, ambientes.
14. Arquitetura de Autenticação e Autorização Claim Based Authentication “ClaimBasedAuthentication” Aplicação com Autorização Usuário Passo 2: Autorização Confiança Autenticação Independente da Aplicação Passo 1: Autenticação
15. Arquitetura de Autenticação e Autorização Exemplo da vida real Declaração (Inscrição do evento) Afirmação feita por uma identidade sobre outra identidade Token de segurança (Crachá do evento) Documento encapsulado que contém as declarações Criado pelo serviço de token de segurança STS: Serviço de token de segurança (Portaria) A tarefa básica de um STS é autenticar os usuários e criar um token de segurança Aplicação ciente de declarações (Segurança área VIP) Declarações aplicadas quando usuário acessa a aplicação Aplicação requer declarações para definir usuários Autenticação Autorização
16. Arquitetura de Autenticação e Autorização Token de Segurança Token com Declarações Declaração : Nome Markus Identidade XXX Declaração : Sobrenome Christen Declaração : Cargo Arquiteto Declaração : Alias Markusc Token Signature Autorização Declaração Alias = Markusc Declaração Cargo: Arquiteto Entrega Aplicação
17. Arquitetura de Autenticação e Autorização Papéis no processo CBA Declarações (Declaração / Sujeito) Declaração feita via uma entidade sobre um sujeito Exemplo: Markus idade 38 SAML (Security AssertionMarkupLanguage) Padrão baseado em XML para troca de dados entre o “STS” e o consumidor (Recurso) Secure Token (Token & Declarações) Documento XML encapsulando as declarações Exemplo: Documento RG Security Token Service (STS / Issuer) Web Service com a tarefa básica de criar token de segurança com as declarações Exemplo: Policia Federal
18. Arquitetura de Autenticação e Autorização Definição: Token e Declarações Um tokené um conjunto de bytes queexpressainformaçõessobreumaidentidade Essasinformaçõesconsistem de umaoumaisdeclarações (claims) Cadaclaimcontéminformaçõessobre a entidadepara a qual o tokense aplica.
19. Arquitetura de Autenticação e Autorização Definição: Security Token Service e Identity Provider Um identity provider (ouissuer/emissor) é umaautoridadequefazdeclarações (claims) sobreumaentidade. Emumaredecorporativa: a empresa Na internet: Windows Live ID Um identity provider podeimplementar um security token service (STS) Serviçoresponsávelpelaemissão de tokens Requisições de tokens sãofeitas via WS-Trust Existemdiversosformatos de token O formatoSAMLé o mais popular
20. Claims-Based Identity PrincipaisTecnologias Microsoft Active Directory Federation Services (AD FS) 2.0 A nova versão do AD FS Windows Identity Foundation (WIF) 1.0 Pronuncia-se “W-I-F” CardSpace 2.0 A nova versão do CardSpace
21. Claims-Based Identity Principais Tecnologias Microsoft Active Directory Federation Services (AD FS) 2.0 A nova versão do AD FS 2.0 Deve-se instalar os pacotes: Windows 2008 o major IIS 7.0 , II 7.5 SQL Server 2005 (Express, Standard, Enterprise), SQL Server 2008 (Express, Standard, Enterprise) .NET 3.5 Framework
22. Claims-Based Identity Principais Tecnologias Microsoft Windows Identity Foundation (WIF) 1.0 Pronuncia-se “W-I-F” Para desenvolvimento, deve-se instalar os pacotes: VS2008 SP1 e .NET 3.5 SP1 ou VS2010 e .NET 4.0 WIF RunTime WIF SDK .NET 3.5 ou .NET 4.0 Não é recomendado o side-by-side SDK 3.5 / SDK 4.0 Identity Training Kit / Março 2010
23. Arquitetura de Autenticação e Autorização Especificação: WS -Trust Confiança é a expressão entre duas partes, onde uma parte da relação acredita nas declarações da outra parte; Confiança é baseada em evidências – históricas, experiência, documentos, etc. – e a tolerância arisco pessoal.
24. Arquitetura de Autenticação e Autorização Especificação: WS -Trust Secure Token Service Criação do Token Account Attribute Store Autenticação Requisita token de segurança Lista de STS Resposta :Token com Declarações WS-Trust Confiança “RelyingParty” Aplicação STS com Confiança Verificação das declarações Information Card Acesso Browser ou Cliente (Token com as Declarações Autorização
25. Arquitetura de Autenticação e Autorização Especificação: WS-Federation Uma federação é uma coleção de domínios de segurança, que estabeleceram relações para compartilhar recursos de segurança. O valor de estabelecer uma federação é facilitar o uso de atributos de segurança entre vários domínio de segurança para estabelecer um contexto de Federação.
26. Arquitetura de Autenticação e Autorização Especificação: WS-Federation IP-STS Federação Account Attribute Store RP-STS Lista de STS Entrega Token( SAML) Requisita token de segurança Retorna Token (SAML) Retorna Token (SAML) Confiança STS com Confiança Verificação das declarações Verificação na Lista de Confiança Autenticação Acesso Aplicação (RelyingParty) (Token - SAML) Autorização Browser ou Cliente Information Card
35. Conclusões Avaliaros claims queseu STS disponibilizapara a Relying Part (AplicaçãoClaims-aware). Para desenvolvimento, podemostrabalhar com um STS local, criadopelo WIF / Visual Studio. Uma aplicaçãoqueacessatokens/claims, podefazerautorização via claimstambém. Utilizar a classeClaimsAuthorizationManager
37. Referênciasimportantes – Instalação Windows Identity Foundation http://www.microsoft.com/downloads/details.aspx?FamilyID=eb9c345f-e830-40b8-a5fe-ae7a864c4d76&displaylang=en Windows Identity Foundation SDK http://www.microsoft.com/downloads/details.aspx?FamilyID=c148b2df-c7af-46bb-9162-2c9422208504&displaylang=en#filelist Identity Developer Training Kit - March 2010 http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=C3E315FA-94E2-4028-99CB-904369F177C0&displaylang=en
38. Referênciasimportantes – Estudo A Guide to Claims-Based Identity and Access Control — Book Download http://www.microsoft.com/downloads/details.aspx?FamilyID=4c09ffe4-43dd-4fcc-be35-c897c9bc4386&displaylang=en A Guide to Claims-Based Identity and Access Control – Code Samples http://www.microsoft.com/downloads/details.aspx?FamilyID=33829bcf-f5ea-4650-b807-57c63a753753&displaylang=en Fabrikam Shipping Sample http://code.msdn.microsoft.com/FabrikamShipping Claims Based Identity & Access Control Guide http://claimsid.codeplex.com/
39.
40. Conteúdo relacionado SIA304 - Melhores práticas para implantar e gerenciar o Active Directory Federation Services 2.0 Palestrantes: Josué Vidal e Hélio Panissa SIA303 - Visão Geral do Windows Identity Foundation (WIF) Palestrante: Israel Aece