• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Propagação de Identidades

on

  • 748 views

Propagação de identidades do browser até o banco de dados em ambientes n camadas

Propagação de identidades do browser até o banco de dados em ambientes n camadas

Statistics

Views

Total Views
748
Views on SlideShare
718
Embed Views
30

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 30

http://www.f2suporte.com 29
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Propagação de Identidades Propagação de Identidades Presentation Transcript

        • Propagação de Identidades em Ambientes N Camadas
        • [email_address]
        • MCSO 1.086/10
    • Agenda.
      • Rastreabilidade com Pool de Conexões
      • Propagação de Credenciais
        • CLIENT_IDENTIFIER
        • PROXY USER
        • ENTERPRISE USER
      • Restrições
      • Perguntas e Respostas
    • Rastreabilidade com pool de conexões ?
      • Quem é o usuário real ?
      • O usuário do pool possui privilégios em excesso ?
      • Posso evitar que os usuários acessem os dados diretamente ?
      • Como/Quem devo auditar ?
      Client A Client A, B, or C? Client B Client C Database Application Server
    • Propagação de Credenciais
      • Oracle Database possui vários mecanismos para propagação de credenciais a partir de um pool de conexões
        • CLIENT_IDENTIFIER
        • Proxy User
        • Enterprise User
      • Disponível em várias linguagens
        • PL/SQL
        • C/C++
        • .NET e VB
        • Java
    • CLIENT_IDENTIFIER
      • Viabiliza a propagação da credencial do usuário através de variável de contexto
      • Aplicação é responsável pelo valor da variável de contexto CLIENT_IDENTIFER
      • Variável de contexto CLIENT_IDENTIFIER é propagada para as trilhas de auditoria do Oracle Database
      • Compatível com aplicações client/server ou n-tier
    • CLIENT_IDENTIFIER
      • PL/SQL
        • DBMS_SESSION.SET_IDENTIFIER
      CREATE OR REPLACE TRIGGER LOGON_TRIGGER AFTER LOGON ON DATABASE DECLARE UID VARCHAR2(64); BEGIN   SELECT SYS_CONTEXT('USERENV', 'OS_USER')   INTO UID   FROM DUAL;   DBMS_SESSION.SET_IDENTIFIER(UID); END LOGON_TRIGGER;
    • CLIENT_IDENTIFIER
      • C/C++
        • OCIAttrSet()
        • OCI_ATTR_CLIENT_IDENTIFIER
      • Exemplos
        • Oracle® Call Interface Programmer's Guide, 10 g Release 2 (10.2)
        • Capítulo 8
    • CLIENT_IDENTIFIER
      • ODP.NET
        • OracleConnection
        • Pool de Conexões
      OracleConnection con = new OracleConnection(); con.ConnectionString = “ UserId=scott; Password=tiger; DataSource=oracle; ” + “ ClientId=AVIANA "; con.Open();
    • CLIENT_IDENTIFIER
      • JDBC 10g e 11g
        • OracleConnection.setClientIdentifier();
        • OracleConnection.clearClientIdentifier();
      Context ctx = new InitialContext(); ds = (OracleDataSource) ctx.lookup("jdbc/HRCoreDS"); conn = (OracleConnection) ds.getConnection(); conn.setClientIdentifier( “ AVIANA ” ); … conn.clearClientIdentifier( “ AVIANA ” );
    • D E M O N S T R A Ç Ã O
    • CLIENT_IDENTIFIER
      • Baixo impacto
      • Fácil implementação
      • Não permite o controle de privilégios, somente propagação das credenciais
      • Habilita recursos avançados do Oracle Database
        • Virtual Private Database
        • Label Security
        • Log Miner
    • Proxy User
      • Aplicação estabelece pool de conexão através de um usuário proxy com privilégios restritos
      • Durante execução aplicação conecta o usuário real através do usuário proxy
      • Privilégios podem ser configurados pela aplicação no momento da conexão do usuário real
      • Proxy Connections podem ser reutilizadas pelo mesmo usuário real
      • Informações sobre o usuário real são propagadas para as trilhas de auditoria do Oracle Database.
    • Proxy User
      • C/C++
        • OCIAttrSet()
        • OCI_ATTR_USERNAME
        • OCI_ATTR_PROXY_CREDENTIALS
        • OCI_ATTR_INITIAL_CLIENT_ROLES
      • Exemplos
        • Oracle® Call Interface Programmer's Guide, 10 g Release 2 (10.2)
        • Capítulo 8
    • Proxy User
      • ODP.NET
        • OracleConnection
        • Pool de Conexões
      OracleConnection con = new OracleConnection(); con.ConnectionString = "User Id=sinesio;Password=welcome1;" + "Data Source=oracle; Proxy User Id=proxy; Proxy Password=welcome1; "; con.Open();
    • Proxy User
      • JDBC Pré 10g
        • OracleOCIConnectionPool
      • JDBC 10g e 11g
        • OracleConnection.openProxySession();
      Context ctx = new InitialContext(); ds = (OracleDataSource) ctx.lookup("jdbc/HRCoreDS"); conn = (OracleConnection) ds.getConnection(); Properties prop = new Properties(); prop.put(OracleConnection.PROXY_USER_NAME,username); conn.openProxySession (OracleConnection.PROXYTYPE_USER_NAME, prop);
    • D E M O N S T R A Ç Ã O
    • Proxy User
      • Implementação mais trabalhosa
        • Requer alteração nas aplicações
        • Requer alteração no banco de dados
      • Viabiliza o controle de privilégios via aplicação
      • Habilita recursos avançados do Oracle Database
        • Virtual Private Database
        • Label Security
        • Log Miner
    • Enterprise User
      • Usuário e privilégios administrados partir de um diretório LDAP.
      APP_GUEST SHARED SCHEMA HR_SCHEMA EO_SCHEMA FRED Enterprise User HR_MGR Enterprise Role Mary Enterprise User OE_MGR Enterpise Role Enterprise Users Enterprise Roles Global Roles Global Roles LDAP
    • D E M O N S T R A Ç Ã O
    • Enterprise User
      • Implementação mais trabalhosa
        • Requer alteração nas aplicações
        • Requer alteração no banco de dados
        • Requer implantação do Oracle Internet Directory
      • Ganhos significativos de administração
        • Usuários
        • Privilégios
        • Administração Unificada a partir de um LDAP
      • Habilita recursos avançados do Oracle Database
        • Virtual Private Database
        • Label Security
        • Log Miner
    • Observações e Restrições
      • Pool de Conexões
        • Gerenciado pelo Servidor
          • Servidor deve suporta driver nativo oracle
        • Gerenciado pela Aplicação
          • Simples customização
      • EJB
        • Implementação viável somente para BMP
      • Frameworks de Persistência
        • Oracle TopLink (EclipseLink)
          • Suporte Nativo
        • Hibernate
          • Via customização do ConnectionProvider
    • Sugestão de Implementação Oracle Identity Manager + Enterprise Users HRMS Reconciliação Regras Workflow Grupos Meta-diretório Solicitação Eletrônica Colaborador Externo Active Directory Exchange Servidor ANS OID Auto Atendimento Gestor Aprovador
    • R P &
    •