SlideShare une entreprise Scribd logo
1  sur  50
OpenAM 
Fast Single Sign On
Boss
Desenvolva um aplicativo ! 
Qual tipo de aplicativo ? 
● Um grande portal 
● Um micro blog 
● Uma Rede Social corporativa 
● Uma Intranet/Extranet 
● Todos estes citados
Qual abragência ? 
● Cloud (SaaS) 
● Onpremise (Local) 
● Hibrida (Local e Cloud)
Quais as features da aplicação ? 
● Colaborativo 
● Multi tenancy 
● Multi usuário 
● Multi plataforma
Na boa véio, você precisa 
de uma aplicação WEB
Então vamos nessa
As perguntas padrões 
● Qual a linguagem vou utilizar ? 
● Qual framework vai ser melhor para utilizar ? 
● Qual banco de dados ?
Ops, esqueceu do Controle de Acesso 
● Quem são os nossos usuários? 
● O que eles podem fazer? 
● Como podemos gerenciar isso?
Temos usuários para todos os lados
Dificuldades do modelo tradicional 
● Eu tenho uma credencial, por que não posso sempre utilizá-la ? 
● Preciso logar toda vez que mudo de aplicação ? 
● Não aguento mais guardar tantas senhas ! 
● Tenho que ligar novamente para o suporte ! 
● Remova o acesso do colaborador X de todos os 48 sistemas, inclusive dos 
sistemas de terceiros !
Seus problemas acabaram
Single Sign On 
● Uma Credencial 
● Múltiplas portas
SSO prover autenticação (AuthN) 
Porque o que importa é a identidade e não o seu método de implementação
Mas e o controle de Acesso ? 
( AuthZ )
O controle de Acesso no modelo tradicional 
● Muito complexo 
● Especifico por domínio 
● Dependente de muitas condições 
● De difícil alteração/manutenção quando são várias aplicações
SSO prover Controle de Acesso (AuthZ) 
● Define quem pode ou não acessar tal recurso 
● Suporta Multi usuário / Grupos 
● Permissões/privilégios desacoplados ou acoplados a aplicação
Resumindo
O que meu app precisa saber ? 
● Quem é o utilizador? 
● Ele é mesmo quem diz ser ? 
● Pode este utilizador acessar este recurso com estas determinadas 
condições ?
Ou seja ... 
● É usuário X ? 
● É usuário X autorizado a acessar o recurso R? 
● É usuário X autorizado a executar a operação P? 
● É usuário X autorizado a executar a operação P no recurso R?
Agora que sei o que preciso para 
cuidar do Acesso/Autorização 
os apresento
OpenAM (O Segurança Chefe) 
Framework para Gerenciamento de 
Autenticação
História do OpenAM
Arquitetura do ambiente
O que ele suporta ?
Como funciona ?
Autenticando
Autenticando - Zoom Level 1
Exemplo de Rest e Openam 
Requisição 
curl –request POST 
–header “X-OpenAM-Username: demo” –header “X-OpenAM-Password: 
changeit” 
–header “Content-Type: application/json” –data “{}” 
https://openam.example.com:8443/openam/json/authenticate 
Response 
{ “tokenId”: “AQIC5w…NTcy*”, “successUrl”: “/openam/console” }
Agora que eu já estou dentro do balada 
Vou dá um “migué” para entrar na àrea 
VIP e pegar geral
Autorização
Rest and Resource Autorization 
Requisição 
curl --header "iPlanetDirectoryPro: AQIC5wM2LY4SfcwyCO2rILBLpB93G7k4yHM-NN9OJL5zqEU.* 
AAJTSQACMDEAAlNLABQtMjU0NTQwOTU4Mjg0MTA2MDYyOA..*"  
http://openam.example.com:8080/openam/json/users/demo?_prettyPrint=true&_fields=realm,uid,sn,c 
n,inetuserstatus 
Response 
{ 
"realm" : "/", 
"uid" : [ "demo" ], 
"sn" : [ "demo" ], 
"cn" : [ "demo" ], 
"inetuserstatus" : [ "Active" ] 
}
Rest and Logout Example 
Requisição 
curl --request POST  
--header "iPlanetDirectoryPro: AQIC5wM2LY4SfcwyCO2rILBLpB93G7k4yHM-NN9OJL5zqEU.* 
AAJTSQACMDEAAlNLABQtMjU0NTQwOTU4Mjg0MTA2MDYyOA..*"  
http://openam.example.com:8080/openam/json/sessions?_action=logout 
Response 
{"result":"Successfully logged out"}
Mas como gerencio as permissões de 
terceiros ?
Federation
IDP/SP 
Identity Provider 
Service Provider
Circulo de confiança (Circle of Trust)
Protocolos Suportados
Os beneficios da Federação 
● Habilita o Single Sign On e o Single logout entre os parceiros que 
participam da relação de confiança 
● Federation permite rápida integração entre Sistemas heterogêneos 
● Federation permite um compartilhamento básico de identidades 
● Ajuda a manter o controle centralizado 
● Fedlet para legados ou aplicativos fechados
Outras Ferramentas da Suíte
Links 
OpemAM Docummentation 
http://openam.forgerock.org/docs.html
OpenAM - Fast SSO

Contenu connexe

Tendances

Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Handerson Frota
 
Apresentação sobre Drupal
Apresentação sobre DrupalApresentação sobre Drupal
Apresentação sobre DrupalWebdrop
 
Instalando Drupal, Começando do Começo
Instalando Drupal, Começando do ComeçoInstalando Drupal, Começando do Começo
Instalando Drupal, Começando do Começosauloamui
 
Testando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o KarmaTestando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o KarmaHenrique Limas
 
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017Renato Groff
 
Web Development em 2015
Web Development em 2015Web Development em 2015
Web Development em 2015Emanuel Santos
 
Desenvolvendo chrome extensions
Desenvolvendo chrome extensionsDesenvolvendo chrome extensions
Desenvolvendo chrome extensionsRodolfo Dias
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoHanderson Frota
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)Leandro Lugaresi
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPjesuinoPower
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOakjesuinoPower
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?Fabio Janiszevski
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Renato Groff
 
Tunning da jvm dos comandos às configurações
Tunning da jvm  dos comandos às configuraçõesTunning da jvm  dos comandos às configurações
Tunning da jvm dos comandos às configuraçõesLuan Cestari
 

Tendances (20)

Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007Direct Web Remoting Sun Tech Days2007
Direct Web Remoting Sun Tech Days2007
 
Apresentação sobre Drupal
Apresentação sobre DrupalApresentação sobre Drupal
Apresentação sobre Drupal
 
Vraptor 3
Vraptor 3Vraptor 3
Vraptor 3
 
Instalando Drupal, Começando do Começo
Instalando Drupal, Começando do ComeçoInstalando Drupal, Começando do Começo
Instalando Drupal, Começando do Começo
 
Testando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o KarmaTestando uma aplicação AngularJS utilizando o Karma
Testando uma aplicação AngularJS utilizando o Karma
 
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017
Novidades do Visual Studio 2017 - .NET São Paulo - Maio/2017
 
Reverse Ajax Dwr
Reverse Ajax DwrReverse Ajax Dwr
Reverse Ajax Dwr
 
Web Development em 2015
Web Development em 2015Web Development em 2015
Web Development em 2015
 
Desenvolvendo chrome extensions
Desenvolvendo chrome extensionsDesenvolvendo chrome extensions
Desenvolvendo chrome extensions
 
Comet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - ResumoComet - ReverseAjax com DWR - Resumo
Comet - ReverseAjax com DWR - Resumo
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)
 
introdução ao drupal
introdução ao drupalintrodução ao drupal
introdução ao drupal
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SP
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOak
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017Mocking Test - ThinkUp! - Abril/2017
Mocking Test - ThinkUp! - Abril/2017
 
Tunning da jvm dos comandos às configurações
Tunning da jvm  dos comandos às configuraçõesTunning da jvm  dos comandos às configurações
Tunning da jvm dos comandos às configurações
 
MVC & Zend Framework
MVC & Zend FrameworkMVC & Zend Framework
MVC & Zend Framework
 

Similaire à OpenAM - Fast SSO

Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com SpringMateus Malaquias
 
O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]Filipe Ximenes
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkFlávio Lisboa
 
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...Francois Marier
 
REST - The right way
REST - The right wayREST - The right way
REST - The right waysantosluis87
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyRelsi Maron
 
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018Tchelinux
 
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack ProxyDetectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack ProxyJeronimo Zucco
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Restful APIs com Spring 3
Restful APIs com Spring 3Restful APIs com Spring 3
Restful APIs com Spring 3Alex Miranda
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Durotdc-globalcode
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduGuilherme
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...GUTS-RS
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Luís Cobucci
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Luís Cobucci
 

Similaire à OpenAM - Fast SSO (20)

Construindo APIs RESTful com Spring
Construindo APIs RESTful com SpringConstruindo APIs RESTful com Spring
Construindo APIs RESTful com Spring
 
O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]
 
Pense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend FrameworkPense no futuro: PHP com Zend Framework
Pense no futuro: PHP com Zend Framework
 
A Linguagem Php
A Linguagem PhpA Linguagem Php
A Linguagem Php
 
Linuxtips - a saideira
Linuxtips - a saideiraLinuxtips - a saideira
Linuxtips - a saideira
 
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
Login de usuários: podemos fazer algo melhor que usar senhas ou serviços cent...
 
REST - The right way
REST - The right wayREST - The right way
REST - The right way
 
Desenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2pyDesenvolvimento web ágil com python e web2py
Desenvolvimento web ágil com python e web2py
 
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018
 
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack ProxyDetectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
Detectando Vulnerabilidades em seu Site utilizando OWASP ZAP - Zed Attack Proxy
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Restful APIs com Spring 3
Restful APIs com Spring 3Restful APIs com Spring 3
Restful APIs com Spring 3
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
 
Introdução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos ReduIntrodução a plataforma de aplicativos Redu
Introdução a plataforma de aplicativos Redu
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 

Plus de Yros

Do zero ao GitOps DevopsDaysSP
Do zero ao GitOps   DevopsDaysSPDo zero ao GitOps   DevopsDaysSP
Do zero ao GitOps DevopsDaysSPYros
 
CI/CD - Automatizando a entrega da sua aplicação
CI/CD - Automatizando a entrega da sua aplicaçãoCI/CD - Automatizando a entrega da sua aplicação
CI/CD - Automatizando a entrega da sua aplicaçãoYros
 
Docker and Infrastructure Evolution
Docker and Infrastructure EvolutionDocker and Infrastructure Evolution
Docker and Infrastructure EvolutionYros
 
Presentation yros | aws solution provider
Presentation yros | aws solution providerPresentation yros | aws solution provider
Presentation yros | aws solution providerYros
 
OnPremise to Cloud (o2c) - WhitePaper- yros
OnPremise to Cloud (o2c) - WhitePaper- yrosOnPremise to Cloud (o2c) - WhitePaper- yros
OnPremise to Cloud (o2c) - WhitePaper- yrosYros
 
On-premise to Cloud (o2c) - WhitePaper | yros
On-premise to Cloud (o2c) - WhitePaper | yros On-premise to Cloud (o2c) - WhitePaper | yros
On-premise to Cloud (o2c) - WhitePaper | yros Yros
 
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2Yros
 
Amazon Aws - Tecnologias e Beneficios
Amazon Aws - Tecnologias e BeneficiosAmazon Aws - Tecnologias e Beneficios
Amazon Aws - Tecnologias e BeneficiosYros
 

Plus de Yros (8)

Do zero ao GitOps DevopsDaysSP
Do zero ao GitOps   DevopsDaysSPDo zero ao GitOps   DevopsDaysSP
Do zero ao GitOps DevopsDaysSP
 
CI/CD - Automatizando a entrega da sua aplicação
CI/CD - Automatizando a entrega da sua aplicaçãoCI/CD - Automatizando a entrega da sua aplicação
CI/CD - Automatizando a entrega da sua aplicação
 
Docker and Infrastructure Evolution
Docker and Infrastructure EvolutionDocker and Infrastructure Evolution
Docker and Infrastructure Evolution
 
Presentation yros | aws solution provider
Presentation yros | aws solution providerPresentation yros | aws solution provider
Presentation yros | aws solution provider
 
OnPremise to Cloud (o2c) - WhitePaper- yros
OnPremise to Cloud (o2c) - WhitePaper- yrosOnPremise to Cloud (o2c) - WhitePaper- yros
OnPremise to Cloud (o2c) - WhitePaper- yros
 
On-premise to Cloud (o2c) - WhitePaper | yros
On-premise to Cloud (o2c) - WhitePaper | yros On-premise to Cloud (o2c) - WhitePaper | yros
On-premise to Cloud (o2c) - WhitePaper | yros
 
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2Dev ninja  -> vagrant + virtualbox + chef-solo + git + ec2
Dev ninja -> vagrant + virtualbox + chef-solo + git + ec2
 
Amazon Aws - Tecnologias e Beneficios
Amazon Aws - Tecnologias e BeneficiosAmazon Aws - Tecnologias e Beneficios
Amazon Aws - Tecnologias e Beneficios
 

OpenAM - Fast SSO

  • 3. Desenvolva um aplicativo ! Qual tipo de aplicativo ? ● Um grande portal ● Um micro blog ● Uma Rede Social corporativa ● Uma Intranet/Extranet ● Todos estes citados
  • 4. Qual abragência ? ● Cloud (SaaS) ● Onpremise (Local) ● Hibrida (Local e Cloud)
  • 5. Quais as features da aplicação ? ● Colaborativo ● Multi tenancy ● Multi usuário ● Multi plataforma
  • 6. Na boa véio, você precisa de uma aplicação WEB
  • 8. As perguntas padrões ● Qual a linguagem vou utilizar ? ● Qual framework vai ser melhor para utilizar ? ● Qual banco de dados ?
  • 9. Ops, esqueceu do Controle de Acesso ● Quem são os nossos usuários? ● O que eles podem fazer? ● Como podemos gerenciar isso?
  • 10. Temos usuários para todos os lados
  • 11. Dificuldades do modelo tradicional ● Eu tenho uma credencial, por que não posso sempre utilizá-la ? ● Preciso logar toda vez que mudo de aplicação ? ● Não aguento mais guardar tantas senhas ! ● Tenho que ligar novamente para o suporte ! ● Remova o acesso do colaborador X de todos os 48 sistemas, inclusive dos sistemas de terceiros !
  • 13. Single Sign On ● Uma Credencial ● Múltiplas portas
  • 14. SSO prover autenticação (AuthN) Porque o que importa é a identidade e não o seu método de implementação
  • 15. Mas e o controle de Acesso ? ( AuthZ )
  • 16. O controle de Acesso no modelo tradicional ● Muito complexo ● Especifico por domínio ● Dependente de muitas condições ● De difícil alteração/manutenção quando são várias aplicações
  • 17. SSO prover Controle de Acesso (AuthZ) ● Define quem pode ou não acessar tal recurso ● Suporta Multi usuário / Grupos ● Permissões/privilégios desacoplados ou acoplados a aplicação
  • 19. O que meu app precisa saber ? ● Quem é o utilizador? ● Ele é mesmo quem diz ser ? ● Pode este utilizador acessar este recurso com estas determinadas condições ?
  • 20. Ou seja ... ● É usuário X ? ● É usuário X autorizado a acessar o recurso R? ● É usuário X autorizado a executar a operação P? ● É usuário X autorizado a executar a operação P no recurso R?
  • 21. Agora que sei o que preciso para cuidar do Acesso/Autorização os apresento
  • 22. OpenAM (O Segurança Chefe) Framework para Gerenciamento de Autenticação
  • 23.
  • 25.
  • 27. O que ele suporta ?
  • 28.
  • 30.
  • 31.
  • 34. Exemplo de Rest e Openam Requisição curl –request POST –header “X-OpenAM-Username: demo” –header “X-OpenAM-Password: changeit” –header “Content-Type: application/json” –data “{}” https://openam.example.com:8443/openam/json/authenticate Response { “tokenId”: “AQIC5w…NTcy*”, “successUrl”: “/openam/console” }
  • 35. Agora que eu já estou dentro do balada Vou dá um “migué” para entrar na àrea VIP e pegar geral
  • 36.
  • 38. Rest and Resource Autorization Requisição curl --header "iPlanetDirectoryPro: AQIC5wM2LY4SfcwyCO2rILBLpB93G7k4yHM-NN9OJL5zqEU.* AAJTSQACMDEAAlNLABQtMjU0NTQwOTU4Mjg0MTA2MDYyOA..*" http://openam.example.com:8080/openam/json/users/demo?_prettyPrint=true&_fields=realm,uid,sn,c n,inetuserstatus Response { "realm" : "/", "uid" : [ "demo" ], "sn" : [ "demo" ], "cn" : [ "demo" ], "inetuserstatus" : [ "Active" ] }
  • 39. Rest and Logout Example Requisição curl --request POST --header "iPlanetDirectoryPro: AQIC5wM2LY4SfcwyCO2rILBLpB93G7k4yHM-NN9OJL5zqEU.* AAJTSQACMDEAAlNLABQtMjU0NTQwOTU4Mjg0MTA2MDYyOA..*" http://openam.example.com:8080/openam/json/sessions?_action=logout Response {"result":"Successfully logged out"}
  • 40. Mas como gerencio as permissões de terceiros ?
  • 42. IDP/SP Identity Provider Service Provider
  • 43. Circulo de confiança (Circle of Trust)
  • 45. Os beneficios da Federação ● Habilita o Single Sign On e o Single logout entre os parceiros que participam da relação de confiança ● Federation permite rápida integração entre Sistemas heterogêneos ● Federation permite um compartilhamento básico de identidades ● Ajuda a manter o controle centralizado ● Fedlet para legados ou aplicativos fechados
  • 47.
  • 48.
  • 49. Links OpemAM Docummentation http://openam.forgerock.org/docs.html