Page tree
Skip to end of metadata
Go to start of metadata


Este documento busca explicar a parametrização da Integração SAML no ProJuris.

Parametrização


As opções de parametrização do SAML ficam no Painel de Controle, acesse:

Painel de Controle -> Instâncias -> projuris -> Variáveis do Usuário -> Definir Funcionalidades

Na aba Customizados haverá uma seção Dados Login via SAML

O Checkbox Ativar Serviço de Login SAML ativará as opções que deverão ser preenchidas.

Identificador do Provedor de Servico

Campo alfanumérico, deve ser preenchido com o identificador deste provedor de serviço (ProJuris), de modo geral pode ser utilizada a url do ProJuris.

Exemplo: https://<sigla>.projuris.com.br/projuris

O valor aqui informado será também o Issuer enviado no AuthNRequest

Identificador do Provedor de Identidade

Campo alfanumérico, deve ser preenchido com o identificador do provedor de identidade. Normalmente pode ser obtido dos metadados do provedor de identidade, através do atributo com a tag entityID.

Exemplo: Considerando os metadados do provedor SSOCircle, disponível em https://idp.ssocircle.com/ , localizar o atributo entityID, o valor deste atributo (https://idp.ssocircle.com) é o identificador deste provedor de identidade.

URL de Metadados do Servidor de Identidade

Os provedores de identidade normalmente oferecem uma URL onde é possível ter acesso aos seus metadados.

Exemplo: O endereço https://idp.ssocircle.com/ utilizado no item anterior é uma URL de metadados.

Validade dos Metadados (dias)

Os arquivos de metadados têm validade determinada, este valor numérico especifica a quantidade de dias até o vencimento dos metadados.

Campo numérico, obrigatório, será utilizado para definir a validade do arquivo de metadados gerado através do ProJuris.

Ativar Criação de Usuários

Ao ativar essa opção, caso um usuário ainda não existente no ProJuris tente fazer login via SAML, será criada para ele uma conta ProJuris com as informações disponibilizadas pela integração

Quando a opção está desativada, caso um usuário ainda sem conta no ProJuris tente fazer login via SAML, um erro será exibido.

Como a criação de usuários via SAML depende de outras informações, optou-se por deixar separado do controle de criação de usuários via Google/Azure/LDAP.


Certificado e Chave Privada (Opcionais)

Para aumentar a segurança da comunicação SAML entre o Provedor de Identidade e o Provedor de Serviços é possível configurar um Certificado X509 e uma Chave Privada. Caso informados, eles serão utilizados para criar uma assinatura digital que irá em cada solicitação SAML. Essa assinatura digital é conferida pelo provedor de Identidade para garantir que é o Provedor de serviços que está enviando a solicitação, e não alguém tentando se passar pelo provedor de serviços para ter acesso às informações dos usuários. A utilização de certificado e chave privada é opcional.

Caso o Certificado X509 e a Chave Privada sejam informados:

  • O ProJuris os utilizará para assinar os metadados e pedidos de autenticação.
  • O ProJuris exigirá que as Assertions recebidas do Provedor de Identidade sejam criptografadas

É recomendado que a criação desses arquivos seja realizada por uma pessoa com experiência em SAML ou em segurança.

O certificado X509 e chave privada são credenciais, e devem ser armazenados em local seguro.

A seguir realizo uma demonstração da criação destes arquivos utilizando o software OpenSSL, que está disponível tanto para Linux quanto para Windows.

Certificado X509

Campo de upload, opcional.

O preenchimento pode ser feito com o arquivo que contém o certificado X509 a ser utilizado pelo ProJuris.

Um certificado X509 válido por 365 dias pode ser gerado utilizando o software openssl , através do comando:

openssl req -new -x509 -days 365 -nodes -sha256 -out saml-public-key.crt -keyout saml-private-key.pem


Serão gerados 2 arquivos: saml-public-key.crt e saml-private-key.pem

O arquivo saml-public-key.crt é o certificado X509.

Chave Privada

Campo de upload, opcional. O preenchimento deve ser feito com o arquivo que contém a chave privada pkcs8 em formato DER a ser utilizado pelo ProJuris.

A partir dos arquivos gerados no item acima, a chave privada pode ser convertida no formato apropriado com o software openssl, através do comando:

openssl pkcs8 -topk8 -nocrypt -inform PEM -in saml-private-key.pem -outform DER -out saml-private-key.pk8

Será gerado 1 novo arquivo chamado saml-private-key.pk8, que é a chave privada que deverá ser informada no ProJuris.

Exige Unidade Organizacional

Informa se o ProJuris deve exigir do Provedor de Identidade o envio do atributo unidadeOrganizacional, caso a opção estiver marcada e o atributo não for fornecido, ocorrerá um erro de login.

Essa exigência é aplicada mesmo que a criação de novos usuários esteja desativada, uma vez que a unidadeOrganizacional de usuários já existentes é atualizada com a informação recebida do SAML.

Ao desmarcar esta opção, o ProJuris não exigirá o atributo unidadeOrganizacional, porém será necessário informar a Unidade Organizacional Padrão.

Mesmo que o ProJuris não exija o atributo, se o provedor de identidade informá-lo, o valor ele será utilizado no cadastro ou atualização do usuário no momento do login.

A Unidade Organizacional Padrão será utilizada somente na criação de novos usuários. Um usuário já existente não terá sua unidade substituida pela padrão ao fazer login.

Unidade Organizacional Padrão

(Obrigatório ao ser desmarcado o campo "Exige Unidade Organizacional", essa informação será utilizada somente na criação de novos usuários, sendo irrelevante o valor inserido aqui caso a criação de novos usuários esteja desativada.)

Unidade organizacional que será utilizada no cadastro de um novo usuário no ProJuris, caso o atributo unidadeOrganizacional não seja informado pelo provedor de identidade.

Este valor não será utilizado para atualizar usuários já existentes.

Exige Perfil

Informa se o ProJuris deve exigir do Provedor de Identidade o envio do atributo perfil, caso a opção estiver marcada e o atributo não for fornecido, ocorrerá um erro de login.

Essa exigência é aplicada mesmo que a criação de novos usuários esteja desativada, uma vez que o perfil de usuários já existentes é atualizado com a informação recebida do SAML.

Ao desmarcar esta opção, o ProJuris não exigirá o atributo perfil, porém será necessário informar Perfil Padrão a seguir.

Mesmo que o ProJuris não exija o atributo, se o provedor de identidade informá-lo, o valor ele será utilizado no cadastro ou atualização do usuário no momento do login.

O Perfil Padrão será utilizada somente na criação de novos usuários. Um usuário já existente não terá seu perfil substituido pelo padrão ao fazer login.

Perfil Padrão

(Obrigatório ao ser desmarcado o campo "Exige Perfil", essa informação será utilizada somente na criação de novos usuários, sendo irrelevante o valor inserido aqui caso a criação de novos usuários esteja desativada.)

Unidade organizacional que será utilizada no cadastro de um novo usuário no ProJuris, caso o atributo unidadeOrganizacional não seja informado pelo provedor de identidade.

Este valor não será utilizado para atualizar usuários já existentes.

Enviar LogoutRequest ao Sair do ProJuris

Campo checkbox.

Define se, ao realizar o Logout do ProJuris pelo botão Sair, deverá ser enviado um LogoutRequest para o Provedor de Identidade, assim efetuando o logout deste usuário também no Provedor de Identidade.

Metadados do ProJuris

Após realizar a parametrização, o botão Baixar Metadados SAML estará disponível em:

Painel de Controle -> Instâncias -> projuris -> Variáveis do Usuário

Ao clicar no botão será feito o download dos metadados do ProJuris em seu computador, estes metadados contém todas as informações necessárias para configurar o provedor de Identidade, como:

  • AssertionConsumerService (SingleSignOnService)
    • O padrão é <URL_SERVIDOR_CLIENTE>/LoginAction.do
  • SingleLogoutService
    • O padrão é <URL_SERVIDOR_CLIENTE>/LoginAction.do
  • Todos os RequestedAttribute, informando também quais são atualmente obrigatórios ou opcionais
    • emailAddress, contendo o E-mail do usuário (sempre obrigatório)
    • displayName, contendo o Nome de exibição do usuário (sempre obrigatório)
    • login, contendo o identificador de login do usuário (sempre obrigatório)
    • unidadeOrganizacional, contendo o nome da unidade organizacional do usuário
    • perfil, contendo o nome do perfil do usuário.
  • Certificados
  • Informações sobre assinatura e criptografia
    • O ProJuris exige que as assertions recebidas dos provedores de identidade sejam assinadas.
  • NameIdFormat
    • O ProJuris utiliza NameIdFormat PERSISTENT

O Fluxo de login SAML

O ProJuris implementa o fluxo REDIRECT-POST do padrão SAML, que na prática é bastante semelhante à um login OAuth.

O fluxo consiste em

  1. Abrir a página inicial do ProJuris
  2. Clicar no botão Login via SAML
  3. Redirecionamento para a página de login da federação
  4. Utilizar as credenciais para fazer o login na federação
  5. Através do navegador do usuário, realiza um POST no ProJuris, com os dados do usuário autenticado
  6. O ProJuris valida os dados recebidos, e caso válidos, realiza o login.

Informações Adicionais

  • A integração SAML não oferece suporte à utilização de duplo fator de autenticação via ProJuris. Essa funcionalidade deve ser provida pelo provedor de identidade
  • A expiração da senha do ProJuris não afeta o login via SAML.


Configurando no Azure

Ao entrar no portal.azure.com selecione o serviço "Active Directory do Azure"

Clique em "Adicionar" → "Aplicativo Empresarial"

Na galeria do Azure AD procure por "saml" e selecione a opção "Azure AD SAML Toolkit"


No nome da aplicação coloque "Projuris"

A tela logo após a criação será algo bem parecido com isso.

No menu a esquerda, ao clicar em "Usuários e grupos" clique em "Adicionar um usuário ou um grupo"

A seguinte tela irá aparecer, você pode selecionar os usuários autorizados a logar na aplicação.

No menu ao lado esquerdo, clique em "Logon único" e sem seguida "SAML"

A seguinte tela irá aparecer, os dois campos marcados "URL de metadados de federação de aplicativos" e "Identificador do Azure AD" são os dois campos necessário para a configuração do Projuris.

Os itens selecionados com "editar" irão precisar ser modificados.


No primeiro item a ser editado "Configuração básica de SAML"


No item "Identificador" preencha com a "<sigla do cliente>.projuris.com.br/projuris" (sem o https://) esse será o identificador do Projuris para o acesso do SAML.

Nos campos "URL de Resposta" e "URL de Logon" preencha com "https://<sigla do cliente>.projuris.com.br/projuris/LoginAction.do".

Nos nossos exemplos a sigla do cliente é "testefabricio". Após preencher com os dados do cliente, clique em "Salvar"

No segundo item a ser editado "Atributos e Declarações do Usuário"

Clique em "Identificador Exclusivo do Usuário" e altere o "Formato de identificador de nomes" para "Persistente" e então clique em "Salvar".

Para as "Declarações adicionais" iremos definir os atributos necessários para logar no Projuris. Os campos displayName, emailAddress e login são obrigatórios.

Ao edita-los deixe o namespace vazio. O "Atributo de Origem" é um campo obrigatório mas deve ser escolhido com algo que faça sentido ao campo, não é obrigatório que sejam os atributos do exemplo.

No exemplo a seguir usamos "user.surname" para o login, mas isso pode vir a ser problemático se sua empresa tem mais de uma pessoa com o mesmo sobrenome, por isso, seria ideal criar uma transformação que não use atributos que possuam caracteres especiais e que façam do seu usuário um identificador único.

Ao finalizar a edição de cada declaração, clique em "Salvar"


No terceiro item a ser editado "Certificado de Autenticação SAML"

Em "Opção de Assinatura" escolha "Assinar resposta SAML e declaração" e então clique sem "Salvar"

Por ultimo, clique no menu esquerdo em "Propriedades", no campo "Logotipo" faça o envio do logo da Projuris e clique em "Salvar"

Após feitas as configurações no Azure AD, configure o Projuris para receber os parâmetros destacados na tela "Configurar o Logon Único com SAML"


Configurando no Okta


Ao logar no Okta, clique em "Administrador"



No menu a esquerda clique em "Applications" então clique em "Create App Integration"


Uma tela para escolher o tipo de integração aparecerá, escolha "SAML 2.0"


A primeira etapa é a o nome da aplicação, em "App name" preencha com "Projuris", deixe os campos em "App visibility" vazios, então clique em "next".



Na segunda etapa preencha o campo "Single sign on URL" com o seguinte endereço "https://<sigla do cliente>.projuris.com.br/projuris/LoginAction.do",

depois em "Audience URI (SP Entity ID)" com "<sigla do cliente>.projuris.com.br/projuris" (sem o https://) esse será o identificador do Projuris para o acesso do SAML,

no campo "Name ID format" escolha o tipo "Persistent".

Logo mais abaixo na área com o título "Attribute Statements (optional)" iremos criar os campos necessários para logar no Projuris, login, displayName e emailAddress, conforme a imagem abaixo.

Nos nossos exemplos a sigla do cliente é "testefabricio". Após preencher com os dados do cliente, clique em "next" no final da página.



Por fim, selecione a opção "I'm an Okta customer adding an internal app" e marque a opção "This is an internal app that we have created" e então clique em "finish"



Ao finalizar a configuração clique na aba "Sign On" e copie o link onde diz "Identity Provider metadata", ele será o nosso "URL de Metadados do Servidor de Identidade" na configuração do Projuris. Em seguida, clique no link "View Setup Instructions"



Na tela do "View Setup Instructions" iremos copiar o link do campo número 2, onde diz "Identity Provider Issuer" e iremos guarda-lo para configurar no Projuris, ele será o nosso "Identificador do Provedor de Identidade" na configuração do Projuris.


Por fim, na aba "Assignments" escolheremos os usuários que podem logar no Projuris.



A tela final da configuração deverá se parecer com algo assim.



Após feitas as configurações no Okta, configure o Projuris para receber o "Identity Provider Issuer" e o "Identity Provider metadata"

  • No labels