OpenAM - Fast SSO
-
Upload
yros-pereira-aguiar -
Category
Technology
-
view
325 -
download
3
Transcript of OpenAM - Fast SSO
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