SlideShare uma empresa Scribd logo
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
OpenAM - Fast SSO
História do OpenAM
OpenAM - Fast SSO
Arquitetura do ambiente
O que ele suporta ?
OpenAM - Fast SSO
Como funciona ?
OpenAM - Fast SSO
OpenAM - Fast SSO
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
OpenAM - Fast SSO
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
OpenAM - Fast SSO
OpenAM - Fast SSO
Links 
OpemAM Docummentation 
http://openam.forgerock.org/docs.html
OpenAM - Fast SSO

Mais conteúdo relacionado

PPTX
Impacto dos frameworks PHP
PPTX
PDF
Depurando aplicações PHP like a BOSS
PDF
Construção e provisionamento de ambientes de desenvolvimento virtualizados
PPTX
Micro frontend
PPT
Dwrsecomp
PDF
Desenvolvimento web seguro cookies - Rodolfo Stangherlin
PDF
drupal: ligando os nos da rede
Impacto dos frameworks PHP
Depurando aplicações PHP like a BOSS
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Micro frontend
Dwrsecomp
Desenvolvimento web seguro cookies - Rodolfo Stangherlin
drupal: ligando os nos da rede

Mais procurados (20)

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

Semelhante a OpenAM - Fast SSO (18)

PPTX
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
PDF
Web Api + Autenticação Oauth no .Net Core utilizando o servidor de autenticaç...
PDF
TDC 2015 - Segurança em Recursos RESTful com OAuth2
PDF
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
PPTX
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
PPTX
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
PDF
OAuth: Gerenciamento de acessos para clientes de APIs
PDF
JAVAle - Open-IdentityStack
PDF
Rest Teoria E Pratica
PPT
Rest Teoria E Pratica
PDF
PDF
OAuth 2.0 e OpenID Connect
PPTX
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
PDF
GUJavaSC - Protegendo Microservices em Java
PPTX
Segurança em Angular SPA
PPTX
DevTalk 08/2019
PPTX
Implementação de Servidor OAuth
PPTX
O auth2 e open id connect
OAuth2: Uma abordagem para segurança de aplicações e APIs REST - Devcamp 2014
Web Api + Autenticação Oauth no .Net Core utilizando o servidor de autenticaç...
TDC 2015 - Segurança em Recursos RESTful com OAuth2
JavaOne LATAM 2015 - Segurança em Recursos RESTful com OAuth2
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we h...
TDC2017 | São Paulo - Trilha Segurança e Criptografia How we figured out we h...
OAuth: Gerenciamento de acessos para clientes de APIs
JAVAle - Open-IdentityStack
Rest Teoria E Pratica
Rest Teoria E Pratica
OAuth 2.0 e OpenID Connect
Boas práticas de segurança no acesso a dados em aplicações Web - SQLSaturday ...
GUJavaSC - Protegendo Microservices em Java
Segurança em Angular SPA
DevTalk 08/2019
Implementação de Servidor OAuth
O auth2 e open id connect
Anúncio

Mais de Yros (8)

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

Último (8)

PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Mecânico de Manutenção de Equipamentos.pptx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
Arquitetura de computadores - Memórias Secundárias
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Manejo integrado de pragas na cultura do algodão
Mecânico de Manutenção de Equipamentos.pptx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Viasol Energia Solar -Soluções para geração e economia de energia

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
  • 27. O que ele suporta ?
  • 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
  • 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
  • 49. Links OpemAM Docummentation http://openam.forgerock.org/docs.html