openam - fast sso

Post on 16-Jul-2015

308 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related