...
Índice |
---|
maxLevel | 4 |
---|
outline | true |
---|
exclude | .*ndice |
---|
style | none |
---|
|
Introdução sobre o Desktop SSO
Desktop SSO é o componente responsável pela realização de Single Sign On , que chamarei de SSO daqui em diante(SSO), onde um usuário poderá acessar o Fluig fluig Identity sem informar manualmente usuário e senha, desde que esteja já autenticado no Windows.
Basicamente, trata-se de um script ASP responsável por validar se as credenciais utilizadas para autenticação no Windows são validas para o Fluig fluig Identity. As credenciais são consultadas no Active Directory, o email e-mail associado a este usuário é recuperado e em seguida é validado no Fluig fluig Identity. Se a validação estiver OKSe os dados forem confirmados, o usuário terá acesso ao Fluig fluig Identity e aplicações sem a necessidade de entrada de informar as credenciais.
Caso as credenciais não sejam validasválidas, a página de login do Fluig fluig Identity é apresentada ao usuário, que poderá entrar com email e senha para ter acesso às aplicações.
...
Isto permite também que usuários internos da empresa tenham a experiência do SSO, enquanto usuários externos são obrigados a entrar com credenciais manualmente para ter acesso ao Fluig Identity e seus aplicativos.
Habilitando o Desktop SSO no Fluig Identity
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | samples |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo1 |
---|
| Para habilitar o SSO em um contexto do Identity, o administrador deverá acessar o menu Configuração.
|
Card |
---|
| Logo em seguida, o administrador terá acesso às configurações de Active Directory.
|
Card |
---|
| No final da página, o administrador poderá habilitar o SSO, marcando o CheckBox “Permitir o acesso via Desktop SSO”, porém é importante lembrar que existem diversas configurações à serem executadas antes que possamos utilizar o SSO no contexto. Se as configurações não forem finalizadas antes que o CheckBox seja habilitado, os usuários poderão ter dificuldades para logar no Identity, ou até mesmo poderão ser impedidos de ter acesso.
Para ter acesso às configurações do Identity, o administrador deverá clicar no link Configuração do Desktop SSO.
|
Card |
---|
| Nesta página, o usuário poderá configurar os ranges de IPs que serão liberados para executar o SSO. Para editar os dados da página, basta clicar no botão verde de edição. É importante ter sempre alguém responsável pela infra estrutura do cliente, acompanhando os trabalhos de configuração do Identity, incluindo também a configuração do Desktop SSO. Este profissional poderá facilitar algumas configurações como por exemplo, IPs externos, dados de conexão com o Active Directory e usuários para teste.
|
Card |
---|
| Uma vez clicado no botão de edição, o primeiro item a ser configurado deverá ser os ranges de IPs, através da opção Endereço IP permitido. É possível criar mascaras para estes IPs, como no exemplo abaixo, onde utilizamos a notação [0-255] para informar que qualquer valor entre 0 e 255 é válido. Importante lembrar que o IP que devemos cadastrar é o IP externo. Isso assegura que quem estiver dentro da rede terá acesso ao AD e terá o acesso permitido já que o IP externo estará cadastrado. Usuários provenientes de fora da rede terão um IP diferente do cadastrado e portanto serão obrigados a informar credenciais, na página de login do Identity. Resumidamente, este cadastro é um filtro que informa quem deve utilizar SSO e quem deve informar credenciais manualmente. Se por exemplo, um administrador cadastrar [0-255]. [0-255]. [0-255]. [0-255], o Identity entenderá que todos os endereços de acesso são válidos, porém teremos um problema neste caso. Usuários acessando o Identity de fora da rede não terão acesso ao endereço do Desktop SSO, e neste caso um erro será informado (O browser é redirecionado para um endereço que ele não pode acessar). Para cadastrar corretamente o IP é necessário que a empresa possua um IP externo estático garantindo que usuários deste IP utilizem o Desktop SSO e os IPs diferente do cadastrado possam utilizar suas credenciais pela tela de autenticação. Finalmente, existe um campo chamado URL do script de autenticação. Trata-se do Desktop SSO, instalado no tópico anterior deste documento. A URL deve apontar por padrão para http://<endereço>/dsso/remote_auth.asp, mas existem outras alternativas, descritas nos tópicos a seguir.
Aviso |
---|
| Na faixa de IPs deve ser inserido os IPs externos, ou seja, o IP que chega no Identity. Se o cliente não souber ele pode consultar sites como o http://www.meuip.com.br/ |
|
Card |
---|
| Um ponto muito importante é que nada destas configurações irá funcionar se não tivermos instalado o script remote_auth.asp, ou Desktop SSO, em um Servidor com IIS. Este script é único por contexto, e o download só é habilitado a partir do momento em que clicamos no botão Salvar. Se não efetuarmos o download neste momento, e desejamos fazer isso posteriormente, é importante lembrar do procedimento: - Clicar em edição - Clicar no botão Salvar Desta forma, a opção Baixar script de autenticação SSO será habilitada, através do botão Baixar, conforme ilustrado abaixo.
Outro ponto que não devemos esquecer. Vamos supor que o script foi instalado com sucesso e que o Desktop SSO foi habilitado no Identity. Mesmo assim, o SSO só será realizado se o usuário chegar até o Identity através do subdomínio cadastrado para o contexto. Por exemplo: https://totvs.fluigidentity.com Se acessarmos o Identity através do endereço https://app.fluigidentity.com, o SSO não será realizado e a página de login do Identity será apresentada para o usuário. Aviso |
---|
title | Configurações script remote_auth |
---|
| Após efetuar o download, é necessário abrir o arquivo do script e preencher com o usuário administrador do Active Directory e a senha criptografada. Dentro do arquivo contém informações de como realizar essa ação. |
|
|
...
Como veremos em breve, existe uma maneira de melhorar a experiência dos usuários que utilizam Linux ou Mac, de forma que ao menos eles sejam redirecionados para a página de login do Identity.
...
Configurando o Desktop SSO no IIS
...
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | samples |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo1 |
---|
| Para habilitar, devemos utilizar o Server Manager, adicionar a Role Web Server, se não estiver habilitada. Uma vez habilitada, o IIS estará disponível para utilização, mas não estará pronto para executar scripts ASP classic. Devemos então selecionar a Role Web Server e adicionar a Role Service ASP.
|
Card |
---|
default | true |
---|
id | 2 |
---|
label | Passo2 |
---|
| Outro ponto importante é que devemos habilitar a autenticação Windows no Desktop SSO. Desta forma, o browser poderá enviar as credenciais para a aplicação efetuar as validações necessárias no Active Directory. Basta adicionar a Role Service Windows Authentication, como ilustrado na figura abaixo.
|
Card |
---|
default | true |
---|
id | 3 |
---|
label | Passo3 |
---|
| Agora temos o servidor pronto para executar o Desktop SSO. Com isso, basta acessar o IIS e nele adicionar um site que será utilizado pelo DesktopSSO.
|
Card |
---|
default | true |
---|
id | 4 |
---|
label | Passo4 |
---|
| Preencha as informações necessárias para criação do site, conforme exemplo:
|
Card |
---|
default | true |
---|
id | 5 |
---|
label | Passo5 |
---|
| Uma vez que tenhamos baixado o arquivo remote_auth.asp do Identity, devemos criar uma aplicação ASP a ser executada no IIS. Lembrando novamente que o apoio da equipe de infraestrutura é fundamental. Informações |
---|
| Para baixar o arquivo remote_auth.asp, é necessário acessar o Identity com um usuário administrador. Em seguida, acessar Configurações > Active Diretory. Na parte inferior da tela apresentada existem algumas configurações para Desktop SSO. Acessar Configuração do Desktop SSO. Depois de inserir as informações solicitadas é possível gerar o arquivo remote_auth.asp. |
No exemplo abaixo, uma pasta chamada c:\inetpub\wwwroot\dsso foi criada para hospedar o script.
|
Card |
---|
default | true |
---|
id | 6 |
---|
label | Passo6 |
---|
| Após finalizado o cadastro do site e inserido o arquivo remote_auth.asp na pasta c:\inetpub\wwwroot\DSSO\dsso , basta acessar o seu contexto do Identity e preencher o campo da URL do Script de autenticação com o valor http://localhost:81/remote_auth.asp
|
Card |
---|
default | true |
---|
id | 7 |
---|
label | Passo7 |
---|
| Outro ponto é que devemos definir a forma de autenticação desta aplicação, o que é feito através do atalho Authentication, conforme ilustrado abaixo.
|
Card |
---|
default | true |
---|
id | 8 |
---|
label | Passo8 |
---|
| Deveremos habilitar a opção Windows Authentication, e todas as outras opções devem permanecer desabilitadas.
|
Card |
---|
default | true |
---|
id | 9 |
---|
label | Passo9 |
---|
| Na configuração da aplicação, devemos informar o caminho físico, que neste exemplo é c:\inetpub\wwwroot\dsso.
|
Card |
---|
default | true |
---|
id | 10 |
---|
label | Passo10 |
---|
| Existe um detalhe que deve ser tratado na autenticação da aplicação, que são os providers utilizados pela autenticação Windows. Clicando com o botão direito em Windows Authentication, devemos escolher a opção Providers.
|
Card |
---|
default | true |
---|
id | 11 |
---|
label | Passo11 |
---|
| Devemos deixar apenas a opção NTLM. Todas as outras devem ser excluídas. Se isso não for feito, corremos o risco de exigir do usuário a entrada de credenciais via caixa de diálogo do browser. Não esquecer que existe outra configuração a ser feita diretamente no browser, para evitar este problema.
|
Card |
---|
default | true |
---|
id | 12 |
---|
label | Passo12 |
---|
| Finalizadas as configurações, podemos iniciar os primeiros testes, diretamente no script. Basta executar o script no browser, que neste exemplo foi http://localhost/dsso/remote_auth.asp. No exemplo abaixo, o usuário usuarioteste9 estava logado diretamente no servidor. A mensagem abaixo mostra que o usuário foi localizado no Active Directory, porém, este não possuía um email cadastrado, o que é primordial para o Identity. Em uma situação como esta, se tentássemos acessar o Identity, seriamos redirecionados para a página de login, acrescido de uma mensagem de login SSO inválido.
|
Card |
---|
default | true |
---|
id | 13 |
---|
label | Passo13 |
---|
| Existe uma outra maneira de efetuarmos um trace na aplicação. O script possui instruções para realizar o debug. Se acessarmos o script, acrescentando via querystring o parâmetro debug=1, teremos acesso a diversos valores que nos ajudam a debugar a aplicação, como no exemplo abaixo, onde chamamos a URL http://localhost/dsso/remote_auth.asp?debug=1 Como podemos ver no exemplo abaixo, o usuário logado não possui um email cadastrado, o que é um pré-requisito no Identity.
Relembrando: uma vez terminada estas configurações poderemos finalmente habilitar o Desktop SSO no Identity. Para efetuar o teste final, deveremos logar no Windows utilizando as credenciais do AD, e em seguida faremos o acesso ao Identity utilizando o subdomínio do contexto do cliente. Ex: https://totvs.fluigidentity.com Se o usuário logado no Windows tiver um email válido no Identity, o acesso ao Identity não exigirá a entrada de senha.
|
|
Configuração do Internet Explorer e Chrome
...
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | samples |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo1 |
---|
| Para começar, devemos acessar o menu Opções da Internet, no IE.
|
Card |
---|
default | true |
---|
id | 2 |
---|
label | Passo2 |
---|
| Na sequência, devemos escolher a tab Segurança e em seguida devemos configurar a opção Intranet Local. Isto garante que possamos aplicar o envio de credenciais do Windows apenas para a url do DesktopSSO. Outras aplicações e sites permanecem como estão.
Em seguida, devemos clicar no botão Sites, para informar a url do Desktop SSO.
|
Card |
---|
default | true |
---|
id | 3 |
---|
label | Passo3 |
---|
| Para adicionar o endereço do Desktop SSO precisamos clicar no botão Avançadas e em seguida adicionamos a url. No nosso exemplos, utilizamos a url do DesktopSSO. Informamos a url, clicamos no botão Adicionar e podemos fechar a tela clicando no botão Fechar.
|
Card |
---|
default | true |
---|
id | 4 |
---|
label | Passo4 |
---|
| É importante garantir que as configurações de Autenticação do Usuário estejam definidas para Login automático com o nome de usuário e senha atuais, para a Intranet Zone (Intranet Local). Para consultar esta tela, basta marcar Intranet Local e clicar no botão Nivel personalizado.
|
|
...
Configuração do Firefox
Dentre os principais browsers, temos também o Firefox que deve ser configurado de uma maneira um pouco diferente.
Deck of Cards |
---|
effectDuration | 0.5 |
---|
history | false |
---|
id | samples |
---|
effectType | fade |
---|
|
Card |
---|
default | true |
---|
id | 1 |
---|
label | Passo1 |
---|
| Em primeiro lugar, precisamos digitar about:config na barra de endereços, para poder acessar as configurações do Firefox.
|
Card |
---|
default | true |
---|
id | 2 |
---|
label | Passo2 |
---|
| Uma mensagem de alerta normalmente é exibida. Para continuar, basta clicar no botão de confirmação. No nosso exemplo, o botão I’ll be careful, I promise!
|
Card |
---|
default | true |
---|
id | 3 |
---|
label | Passo3 |
---|
| As configurações de NTLM podem ser facilmente encontradas se digitarmos no campo Search, a string “ntlm”. Devemos manter as configurações como exibidas abaixo. A mais importante é network.automatic-ntlm-auth.trusted-urls, onde devemos informar a url do DesktopSSO.
Feito isso, temos também o Firefox configurado para utilização de Single Sign On com o Fluig Identity. |
|
...
Group Policies para Internet Explorer e Chrome
...
Computer Configuration > Administrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Security Page
Após habilitar a definição de lista da Zona da Intranet, o cliente deverá definir a url do Desktop SSO como membro da Zona da Intranet.
No nosso exemplo, estamos definindo o site *.fluigidentity.com, o que deve atender a maior parte dos casos, onde o Fluig Identity é utilizado na modalidade SaaS.
Desta forma, toda vez que um usuário membro deste domínio efetuar o login, as configurações necessárias serão realizadas. Se executada todos os dias, a GPO também deve evitar que um usuário mais avançado desfaça as configurações necessárias para o Desktop SSO.
Nota |
---|
title | Group Policies para Firefox |
---|
|
Não existe maneira direta de configurar o navegador Mozilla Firefox a partir da GPO. |
Configuração para Sistema Operacional Linux e Mac
...
Este script deve ser hospedado no mesmo IIS do Desktop SSO. Neste exemplos, criamos uma aplicação no IIS, chamada de check_dsso.
...
É importante que esta aplicação seja configurada para usar Anonymous Authentication, pois a única finalidade dela é redirecionar o usuário para a URL correta.
Se o usuário estiver utilizando Windows, ele será redirecionado para o script Desktop SSO. Caso contrário, será direcionado para uma url do Identity que obriga o usuario a informar suas credenciais.
Opções de arquitetura para Alta disponibilidade
...
Para isso precisamos disponibilizar um Load Balancer, que terá a responsabilidade de fazer o redirect, caso um dos dois servidores com Desktop SSO esteja off-line.
Existem algumas opções para efetuar o load balance, como por exemplo:
- Apache
- BIG-IP
- Barracuda