Objetivo
Este documento demonstra como integrar o sistema RM com o AD FS como provedor de Identidade.
Introdução
O AD FS, Active Diretory Federation Services, permite o compartilhamento da informação de identidade em um ampla variedade de aplicativos utilizando o padrão SAML que é suportado na linha RM.
HTML |
---|
<link rel="stylesheet" href="/download/attachments/419548451/TotvsApiDoc.css?version=18&modificationDate=1545415351680&api=v2">
<script src="/download/attachments/419548451/TotvsApiDoc.min.js?version=1&modificationDate=1545939893691&api=v2"></script>
<script src="/download/attachments/419548451/TotvsApiDocCustom_Auto.js?version=51&modificationDate=1546542702197&api=v2"></script>
<script src="/download/attachments/486180568/Totvs_CheckListCompare.js?version=8&modificationDate=1558712398565&api=v2"></script>
<style>
.checklistManual {
-moz-box-shadow:inset 0px 1px 0px 0px #cf866c;
-webkit-box-shadow:inset 0px 1px 0px 0px #cf866c;
box-shadow:inset 0px 1px 0px 0px #cf866c;
background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #d0451b), color-stop(1, #bc3315));
background:-moz-linear-gradient(top, #d0451b 5%, #bc3315 100%);
background:-webkit-linear-gradient(top, #d0451b 5%, #bc3315 100%);
background:-o-linear-gradient(top, #d0451b 5%, #bc3315 100%);
background:-ms-linear-gradient(top, #d0451b 5%, #bc3315 100%);
background:linear-gradient(to bottom, #d0451b 5%, #bc3315 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d0451b', endColorstr='#bc3315',GradientType=0);
background-color:#d0451b;
-moz-border-radius:3px;
-webkit-border-radius:3px;
border-radius:3px;
border:1px solid #942911;
display:inline-block;
cursor:pointer;
color:#ffffff;
font-family:Arial;
font-size:13px;
padding:6px 24px;
text-decoration:none;
text-shadow:0px 1px 0px #854629;
}
.checklistAutomatizado {
-moz-box-shadow:inset 0px 1px 0px 0px #54a3f7;
-webkit-box-shadow:inset 0px 1px 0px 0px #54a3f7;
box-shadow:inset 0px 1px 0px 0px #54a3f7;
background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #007dc1), color-stop(1, #0061a7));
background:-moz-linear-gradient(top, #007dc1 5%, #0061a7 100%);
background:-webkit-linear-gradient(top, #007dc1 5%, #0061a7 100%);
background:-o-linear-gradient(top, #007dc1 5%, #0061a7 100%);
background:-ms-linear-gradient(top, #007dc1 5%, #0061a7 100%);
background:linear-gradient(to bottom, #007dc1 5%, #0061a7 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#007dc1', endColorstr='#0061a7',GradientType=0);
background-color:#007dc1;
-moz-border-radius:3px;
-webkit-border-radius:3px;
border-radius:3px;
border:1px solid #124d77;
display:inline-block;
cursor:pointer;
color:#ffffff;
font-family:Arial;
font-size:13px;
padding:6px 24px;
text-decoration:none;
text-shadow:0px 1px 0px #154682;
}
</style>
<script>
$(window).load(function(){
Totvs_CheckListCompare_Load();
});
</script>
<div id="container1" class="TotvsApiDoc-wrapper" style="position: relative;"> </div> |
HTML |
---|
<div id="containerRelyingTrusts" class="TotvsApiDoc_Tab" data-tabid="a_RelyingTrusts" data-titulo="Configurando o Aplicativo Confiável" data-current="current" style="display:none"> |
Configurando o Aplicativo Confiável no AD FS
Abaixo são demonstrados os passos para a criação da entidade confiável para a Linha RM dentro do AD FS.
Passo 1
Ao acessar a configuração do AD FS, selecione "Add Relying Party Trust" para acesso ao assistente de configuração.
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 1 - Bem vindo!
</div>
</div> |
Passo 2
Selecione a opção "Enter data about the relying party manually" para inserir os dados sobre a Linha RM.
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 2 - Selecionar Fonte de Dados
</div>
</div> |
Acione o botão "Next".
Passo 3
Informe um nome para identificar o aplicativo
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 3 - Identificação do Aplicativo
</div>
</div> |
Passo 4
Selecione a opção: "AD FS profile"
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 4 - Escolher Perfil do ADFS
</div>
</div> |
Passo 5
Neste ponto, acione "Next"
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 5 - Configurar Certificado
</div>
</div> |
Passo 6
Neste passo, deve-se informar a URL do serviço responsável por processar o SingleSignOn do RM:
https://<Endereço do Host>/RMCloudPass/SSOSaml2
O AD FS exige que este serviço esteja exposto via SSL. Mais detalhes sobre como configurar o RM Host para expor serviços via SSL em: Habilitar SSL/TLS no Host
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 6 - Configurar URL
</div>
</div> |
Passo 7
Selecione a opção: "I do not want to configure multifactor..."
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 7 - Configurar Autenticação multifator
</div>
</div> |
Passo 8
Escolha a opção "Permit all users to access thie relying party".
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 8 - Configurar Autenticação multifator
</div>
</div> |
Passo 9
Neste ponto, acione "Next"
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 9 - Tudo pronto para adicionar o Aplicativo Confiável
</div>
</div> |
Passo 10
Selecione a caixa de seleção para abrir a edição de regras
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 10 - Finalização do processo de Adicionar Aplicativo Confiável
</div>
</div> |
HTML |
---|
<div id="containerConfigurandoRegras" class="TotvsApiDoc_Tab" data-tabid="a_ConfigurandoRegras" data-titulo="Configurando as Regras de Declaração" data-current="" style="display:none"> |
HTML |
---|
<div id="containerRegrasPortal" class="TotvsApiDoc_SubTab" data-tabid="a_ConfigurandoRegrasPortal" data-titulo="Configurando o RM Portal" data-current="" data-parent="a_ConfigurandoRegras" style="display:none"> |
Configurando as Regras de Declaração (RM Portal)
Passo 1
Selecione a opção: "Add rule..."
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 1 - Adicionar Regras
</div>
</div> |
Passo 2
Selecione a opção: "Send LDAP Attributes as Claims"
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 2 - Adicionando regra do tipo "Send LDAP Attributes as Claims"
</div>
</div> |
Passo 3
Defina um nome para a regra e selecione o mapeamento conforme a imagem abaixo. O mapeamento para o SSO no RM é feito pelo e-mail do usuário.
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 3 - Mapeamento de Propriedades => [User-Principal_Name (AD)] X [Endereço de E-mail]
</div>
</div> |
Passo 4
Selecione a opção: "Add rule..."
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 4 - Adicionar Regras
</div>
</div> |
Passo 5
Selecione a opção: "Tranform an Incoming Claim"
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 5 - Adicionando regra do tipo "Trasform an Incoming Claim"
</div>
</div> |
HTML |
</div>
Passo 5
Defina um nome para a regra e selecione os parâmetros conforme a imagem abaixo.
HTML |
---|
<div idclass="containerRegrasRMexe"img-zoom-container">
<div class="TotvsApiDoc_SubTab" data-tabid="a_ConfigurandoRegrasRMexe" data-titulo="Configurando a MDI (RM.exe)" data-current="" data-parent="a_ConfigurandoRegras" style="display:none"> |
Configurando as Regras de Declaração (MDI - RM.exe)
Passo 1
Selecione a opção: "Add rule..."
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
Image Removed
HTML |
---|
</div>
<div class="img-div-description">
Passo 1 - Adicionar Regras
</div>
</div> |
Passo 2
Image Added
HTML |
---|
</div>
<div class="img-div-description">
Passo 6 - Mapeamento de Propriedades: [UPN] => [NameId | Format:Email]
</div>
</div> |
HTML |
---|
<div id="containerRegrasRMexe" class="TotvsApiDoc_SubTab" data-tabid="a_ConfigurandoRegrasRMexe" data-titulo="Configurando a MDI (RM.exe)" data-current="" data-parent="a_ConfigurandoRegras" style="display:none"> |
Configurando as Regras de Declaração (MDI - RM.exe)
Passo 1
Selecione a opção: "Add rule...Selecione a opção: "Send LDAP Attributes as Claims"
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
Image RemovedImage Added
HTML |
---|
</div>
<div class="img-div-description">
Passo 21 - Adicionando regra do tipo "Send LDAP Attributes as Claims"Adicionar Regras
</div>
</div> |
Passo
32
Selecione a opção: "Send LDAP Attributes as Claims"Defina um nome para a regra e selecione o mapeamento conforme a imagem abaixo. O mapeamento para o SSO no RM é feito pelo e-mail do usuário.
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
Image Added
HTML |
---|
</div>
<div class="img-div-description">
Passo 3
</div>
</div> |
HTML |
---|
2 - Adicionando regra do tipo "Send LDAP Attributes as Claims"
</div>
</div> |
Passo 3
Defina um nome para a regra e selecione o mapeamento conforme a imagem abaixo. O mapeamento para o SSO no RM é feito pelo e-mail do usuário.
HTML |
---|
<div class="img-zoom-container">
<div class="img-div"> |
HTML |
---|
</div>
<div class="img-div-description">
Passo 3
</div>
</div> |
HTML |
---|
</div> |
Deck of Cards |
---|
|
Card |
---|
|
id | Passo 15 |
---|
label | Passo 15 |
---|
title | Passo 15 |
---|
|
Selecione a opção: "Tranform an Incoming Claim"
Image Removed
Card |
---|
id | Passo 16 |
---|
label | Passo 16 |
---|
title | Passo 16 |
---|
|
Defina um nome para a regra e selecione os parâmetros conforme a imagem abaixo.
Image Removed
Abaixo temos um exemplo do metadados SAML que deve ser importado no RM:
Bloco de código |
---|
language | xml |
---|
firstline | 1 |
---|
title | Metadata |
---|
linenumbers | true |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="http://<URI do Portal Corpore .NET>" ID="_32a417e2-1378-405d-8757-94bcba2db823">
<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor use="signing">
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>MIIC4DCCAcigAwIBAg...</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
<SingleSignOnService Location="https://<Servidor AD FS>/adfs/ls/idpinitiatedsignon.aspx?loginToRp=<Identificador do RP>" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
<SingleSignOnService Location="https://<Servidor AD FS>/adfs/ls/idpinitiatedsignon.aspx?loginToRp=Totvs" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/>
<SingleLogoutService Location="https://<Servidor AD FS>/adfs/ls/?wa=wsignout1.0" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/>
<SingleLogoutService Location="https://<Servidor AD FS>/adfs/ls/?wa=wsignout1.0" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" />
</IDPSSODescriptor>
</EntityDescriptor> |
Repare que as URI's devem estar configuradas de acordo com seu ambiente.
Aviso |
---|
|
- O atributo entityID do elemento EntityDescriptor deve estar definido com a URL do Portal Corpore.NET.
- Nas URI's de SingleSignOnService, o parâmetros LoginToRp deve receber o nome da Relying Party configurado no Passo 3 do Item "Configurando o aplicativo confiável no AD FS".
|
Após obter o metadados personalizado, ele deve ser importado no RM em: Ambiente → Parâmetros → Parâmetros Globais → Integração SAML
Aviso |
---|
|
Até o momento, a integração com o AD FS foi homologada somente com o Portal Corpore.NET |