Utilização de políticas de
serviços na plataforma
Microsoft
Sistemas Empresariais Integrados
IST Taguspark

miguel.pardal@dei.ist.utl.pt

28 de Abril de 2006
Programa                            Utilização de políticas de serviços
                                    na plataforma Microsoft




   Enquadramento SOA + Web Services

   Microsoft Dot Net 2, WSE 3.0
     WebServices Enhancements 3.0
     Demonstração


   Conclusões


2           Utilização de políticas de serviços na plataforma Microsof
                                              2006-04-28
Programa                            Utilização de políticas de serviços
                                    na plataforma Microsoft




   Enquadramento SOA + Web Services

   Microsoft Dot Net 2, WSE 3.0
     WebServices Enhancements 3.0
     Demonstração


   Conclusões


3           Utilização de políticas de serviços na plataforma Microsof
                                              2006-04-28
Service-Oriented Architecture

   Sistemas de informação empresariais
    estruturados em serviços
     Reutilização
     Integração
     Flexibilidade
       • Loose coupling
       • Orquestração




4            Utilização de políticas de serviços na plataforma Microsof
                                               2006-04-28
Web Services

   Tecnologia de serviços distribuídos
   Normas de indústria
     W3C,   OASIS
       • Microsoft, IBM, ...
       • Sun, Oracle, ...
   Mensagens XML (SOAP)
   Múltiplos transportes



5              Utilização de políticas de serviços na plataforma Microsof
                                                 2006-04-28
Normas de
Web Services
   Orientadas às
    mensagens
   Encapsulamento
   Autonomia
   Composição
   Interoperabilidade




6            Utilização de políticas de serviços na plataforma Microsof
                                               2006-04-28
Implementações de
Web Services




7      Utilização de políticas de serviços na plataforma Microsof
                                         2006-04-28
Contratos WSDL e WS-Policy

   Publish – Find – Bind – Invoke !

   Para vincular o cliente ao servidor
     WSDL
        • Contrato funcional
            • Que métodos existem? Com que argumentos e
              com que resultados?
     WS-Policy
        • Outros requisitos
            • Que transportes podem ser usados?
            • Que protecção aplicar às mensagens?
            • ...


8              Utilização de políticas de serviços na plataforma Microsof
                                                 2006-04-28
Binding
                                                 Service endpoint

Client

                           Generate!
                                                     WSDL
     Stubs

                           Configure!
          SOAP
          SOAP                                       Policy
         Handlers
         Handlers




                        Call!                                 Execute
                                                              service!



             9      Utilização de políticas de serviços na plataforma Microsof
                                                      2006-04-28
WS-Policy
    Forma normal exprime um conjunto de alternativas,
     das quais apenas se vai escolher uma
    Operações:
       Normalização – converter uma política para a forma
        normal
       União – Juntar duas políticas
       Intersecção – Criar nova política com o que é comum
        a duas políticas

<wsp:Policy ... >
           <wsp:ExactlyOne>
                    ( <wsp:All> ( <Assertion ...> ... </Assertion> )* </wsp:All> )*
           </wsp:ExactlyOne>
</wsp:Policy>


10                  Utilização de políticas de serviços na plataforma Microsof
                                                      2006-04-28
Exemplo
WS-Security Policy
(01) <wsp:Policy>

(02) <sp:SymmetricBinding>
(03) <wsp:Policy>

(04) <sp:ProtectionToken>
(05) <wsp:Policy>

(06) <sp:KerberosV5APREQToken             sp:IncludeToken=".../IncludeToken/Once" />
(07) </wsp:Policy>
(08) </sp:ProtectionToken>

(09) <sp:SignBeforeEncrypting        />
(10) <sp:EncryptSignature />
(11) </wsp:Policy>
(12) </sp:SymmetricBinding>

(13) <sp:SignedParts>
(14) <sp:Body/>
(15) <sp:Header Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" />
(16) </sp:SignedParts>

(17) <sp:EncryptedParts>
(18) <sp:Body/>
(19) </sp:EncryptedParts>
(20) </wsp:Policy>

11                             Utilização de políticas de serviços na plataforma Microsof
                                                                 2006-04-28
Segurança de serviços

                                    Confidencialidade
Autenticação   Autorização
                                    Origem e integridade dos dados




     12           Utilização de políticas de serviços na plataforma Microsof
                                                    2006-04-28
Tecnologias de segurança

    Protecção das mensagens
      WS-Security
        • XML-Encryption
        • XML-Signature
    Controlo de acessos – autenticação e
     autorização
      SAML



13            Utilização de políticas de serviços na plataforma Microsof
                                                2006-04-28
Web Services Security
na plataforma Microsoft




14     Utilização de políticas de serviços na plataforma Microsof
                                         2006-04-28
Programa                             Utilização de políticas de serviços
                                     na plataforma Microsoft




    Enquadramento SOA + Web Services

    Microsoft Dot Net 2, WSE 3.0
      WebServices Enhancements 3.0
      Demonstração


    Conclusões


15           Utilização de políticas de serviços na plataforma Microsof
                                               2006-04-28
Web Services Enhancements
(WSE) 3.0
    Implementação de pipeline de mensagens SOAP
        Analogia com os pipelines Biztalk




16               Utilização de políticas de serviços na plataforma Microsof
                                                   2006-04-28
Pipelines WSE 3




17    Utilização de políticas de serviços na plataforma Microsof
                                        2006-04-28
Programa                             Utilização de políticas de serviços
                                     na plataforma Microsoft




    Enquadramento SOA + Web Services

    Microsoft Dot Net 2, WSE 3.0
      WebServices Enhancements 3.0
      Demonstração


    Conclusões


18           Utilização de políticas de serviços na plataforma Microsof
                                               2006-04-28
Demonstração
WSE 3.0
1.    Apresentar projecto exemplo
        Servidor
        Cliente

2.    Configuração do WSE 3 nos projectos

3.    Definir política de autenticação UsernamePolicy
        Nome e senha de utilizador
        Protecção da mensagem com base no
         certificado X.509 do servidor

4.    Definir política de autenticação CertificatePolicy
        Cliente autentica-se com certificado X.509

19              Utilização de políticas de serviços na plataforma Microsof
                                                  2006-04-28
Demonstração
WSE 3.0




20    Utilização de políticas de serviços na plataforma Microsof
                                        2006-04-28
Programa                             Utilização de políticas de serviços
                                     na plataforma Microsoft




    Enquadramento SOA + Web Services

    Microsoft Dot Net 2, WSE 3.0
      WebServices Enhancements 3.0
      Demonstração


    Conclusões


21           Utilização de políticas de serviços na plataforma Microsof
                                               2006-04-28
Conclusões

 Plataforma Microsoft WSE 3
 SOA + Web Services




22       Utilização de políticas de serviços na plataforma Microsof
                                           2006-04-28
Conclusões:
Sobre a plataforma Microsoft WSE 3

    Mais avançada do mercado
    No entanto, as “policies” WSE 3 não são um contrato
       São na realidade meros parâmetros de configuração
        do “pipeline”
    A norma WS-Policy não é suportada
    Permite a configuração agora, mas a interpretação
     das políticas só virá depois
       Prevista para a Windows Communications
        Foundation (WCF)
       A sair com o Windows Vista, em princípios de 2007




23              Utilização de políticas de serviços na plataforma Microsof
                                                  2006-04-28
Conclusões:
Sobre SOA + Web Services
    As normas base são já universalmente suportadas
         SOAP, WSDL, ...
    As normas de segurança de base começam a ser
     suportadas pelos principais fornecedores
         WS-Security, SAML
         Ainda existe trabalho de interoperabilidade a realizar
    Importância da integração baseada em contratos
         WSDL, WS-Policy
    A protecção das mensagens XML tem um custo elevado
         Ponderar a utilização de tecnologias alternativas sempre
          que possível
         SSL (HTTPS) + assinaturas digitais XML “simples”
         No entanto, mantendo a visão SOA, a adaptação deve ser
          dinâmica a partir de um contrato: a política do serviço


24                  Utilização de políticas de serviços na plataforma Microsof
                                                      2006-04-28
Perguntas & Respostas

     Os Web Services por si não trazem nada de novo à
     segurança...
     “Apenas” definem formas ‘standard’ de tirar partido
     da tecnologia e dos sistemas existentes!




           Obrigado pela vossa
                atenção!


           miguel.pardal@dei.ist.utl.pt

25          Utilização de políticas de serviços na plataforma Microsof
                                              2006-04-28

Utilização de políticas de serviços na plataforma Microsoft

  • 1.
    Utilização de políticasde serviços na plataforma Microsoft Sistemas Empresariais Integrados IST Taguspark miguel.pardal@dei.ist.utl.pt 28 de Abril de 2006
  • 2.
    Programa Utilização de políticas de serviços na plataforma Microsoft  Enquadramento SOA + Web Services  Microsoft Dot Net 2, WSE 3.0  WebServices Enhancements 3.0  Demonstração  Conclusões 2 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 3.
    Programa Utilização de políticas de serviços na plataforma Microsoft  Enquadramento SOA + Web Services  Microsoft Dot Net 2, WSE 3.0  WebServices Enhancements 3.0  Demonstração  Conclusões 3 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 4.
    Service-Oriented Architecture  Sistemas de informação empresariais estruturados em serviços  Reutilização  Integração  Flexibilidade • Loose coupling • Orquestração 4 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 5.
    Web Services  Tecnologia de serviços distribuídos  Normas de indústria  W3C, OASIS • Microsoft, IBM, ... • Sun, Oracle, ...  Mensagens XML (SOAP)  Múltiplos transportes 5 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 6.
    Normas de Web Services  Orientadas às mensagens  Encapsulamento  Autonomia  Composição  Interoperabilidade 6 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 7.
    Implementações de Web Services 7 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 8.
    Contratos WSDL eWS-Policy  Publish – Find – Bind – Invoke !  Para vincular o cliente ao servidor  WSDL • Contrato funcional • Que métodos existem? Com que argumentos e com que resultados?  WS-Policy • Outros requisitos • Que transportes podem ser usados? • Que protecção aplicar às mensagens? • ... 8 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 9.
    Binding Service endpoint Client Generate! WSDL Stubs Configure! SOAP SOAP Policy Handlers Handlers Call! Execute service! 9 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 10.
    WS-Policy  Forma normal exprime um conjunto de alternativas, das quais apenas se vai escolher uma  Operações:  Normalização – converter uma política para a forma normal  União – Juntar duas políticas  Intersecção – Criar nova política com o que é comum a duas políticas <wsp:Policy ... > <wsp:ExactlyOne> ( <wsp:All> ( <Assertion ...> ... </Assertion> )* </wsp:All> )* </wsp:ExactlyOne> </wsp:Policy> 10 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 11.
    Exemplo WS-Security Policy (01) <wsp:Policy> (02)<sp:SymmetricBinding> (03) <wsp:Policy> (04) <sp:ProtectionToken> (05) <wsp:Policy> (06) <sp:KerberosV5APREQToken sp:IncludeToken=".../IncludeToken/Once" /> (07) </wsp:Policy> (08) </sp:ProtectionToken> (09) <sp:SignBeforeEncrypting /> (10) <sp:EncryptSignature /> (11) </wsp:Policy> (12) </sp:SymmetricBinding> (13) <sp:SignedParts> (14) <sp:Body/> (15) <sp:Header Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" /> (16) </sp:SignedParts> (17) <sp:EncryptedParts> (18) <sp:Body/> (19) </sp:EncryptedParts> (20) </wsp:Policy> 11 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 12.
    Segurança de serviços Confidencialidade Autenticação Autorização Origem e integridade dos dados 12 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 13.
    Tecnologias de segurança  Protecção das mensagens  WS-Security • XML-Encryption • XML-Signature  Controlo de acessos – autenticação e autorização  SAML 13 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 14.
    Web Services Security naplataforma Microsoft 14 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 15.
    Programa Utilização de políticas de serviços na plataforma Microsoft  Enquadramento SOA + Web Services  Microsoft Dot Net 2, WSE 3.0  WebServices Enhancements 3.0  Demonstração  Conclusões 15 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 16.
    Web Services Enhancements (WSE)3.0  Implementação de pipeline de mensagens SOAP  Analogia com os pipelines Biztalk 16 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 17.
    Pipelines WSE 3 17 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 18.
    Programa Utilização de políticas de serviços na plataforma Microsoft  Enquadramento SOA + Web Services  Microsoft Dot Net 2, WSE 3.0  WebServices Enhancements 3.0  Demonstração  Conclusões 18 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 19.
    Demonstração WSE 3.0 1. Apresentar projecto exemplo  Servidor  Cliente 2. Configuração do WSE 3 nos projectos 3. Definir política de autenticação UsernamePolicy  Nome e senha de utilizador  Protecção da mensagem com base no certificado X.509 do servidor 4. Definir política de autenticação CertificatePolicy  Cliente autentica-se com certificado X.509 19 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 20.
    Demonstração WSE 3.0 20 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 21.
    Programa Utilização de políticas de serviços na plataforma Microsoft  Enquadramento SOA + Web Services  Microsoft Dot Net 2, WSE 3.0  WebServices Enhancements 3.0  Demonstração  Conclusões 21 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 22.
    Conclusões  Plataforma MicrosoftWSE 3  SOA + Web Services 22 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 23.
    Conclusões: Sobre a plataformaMicrosoft WSE 3  Mais avançada do mercado  No entanto, as “policies” WSE 3 não são um contrato  São na realidade meros parâmetros de configuração do “pipeline”  A norma WS-Policy não é suportada  Permite a configuração agora, mas a interpretação das políticas só virá depois  Prevista para a Windows Communications Foundation (WCF)  A sair com o Windows Vista, em princípios de 2007 23 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 24.
    Conclusões: Sobre SOA +Web Services  As normas base são já universalmente suportadas  SOAP, WSDL, ...  As normas de segurança de base começam a ser suportadas pelos principais fornecedores  WS-Security, SAML  Ainda existe trabalho de interoperabilidade a realizar  Importância da integração baseada em contratos  WSDL, WS-Policy  A protecção das mensagens XML tem um custo elevado  Ponderar a utilização de tecnologias alternativas sempre que possível  SSL (HTTPS) + assinaturas digitais XML “simples”  No entanto, mantendo a visão SOA, a adaptação deve ser dinâmica a partir de um contrato: a política do serviço 24 Utilização de políticas de serviços na plataforma Microsof 2006-04-28
  • 25.
    Perguntas & Respostas Os Web Services por si não trazem nada de novo à segurança... “Apenas” definem formas ‘standard’ de tirar partido da tecnologia e dos sistemas existentes! Obrigado pela vossa atenção! miguel.pardal@dei.ist.utl.pt 25 Utilização de políticas de serviços na plataforma Microsof 2006-04-28