Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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();
});

CloseSubMenus = function(){
 if($("#a_ConfigurandoRegras").hasClass("TotvsApiDoc-show"))
	TotvsApiDoc.CommonFunctions.Open('a_ConfigurandoRegras');
}
</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>
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>
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>

Passo 6

Defina um nome para a regra e selecione os parâmetros conforme a imagem abaixo.


HTML
<div class="img-zoom-container">
<div class="img-div">

HTML
</div>
<div class="img-div-description">
Passo 6 -  Mapeamento de Propriedades: [UPN] => [NameId | Format:Email] 
</div>
</div>
HTML
</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..."


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 [E-Mail-Addresses (AD)] x [E-Mail Address]
</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>

Passo 6

Defina um nome para a regra e selecione os parâmetros conforme a imagem abaixo.


HTML
<div class="img-zoom-container">
<div class="img-div">

HTML
</div>
<div class="img-div-description">
Passo 6 -  Mapeamento de Propriedades: [E-Mail Address] => [NameId | Format:Email] 
</div>
</div>

Passo 7

Selecione a opção: "Add rule..."


HTML
<div class="img-zoom-container">
<div class="img-div">

HTML
</div>
<div class="img-div-description">
Passo 7 - Adicionar Regras
</div>
</div>

Passo 8

Selecione a opção "Send Claims Using a Custom Rule"


HTML
<div class="img-zoom-container">
<div class="img-div">

 

HTML
</div>
<div class="img-div-description">
Passo 8 -  Adicionando regra do tipo "Send Claims Using a Custom Rule"
</div>
</div>

Passo 9

Defina um nome para a regra e escreva a regra de declaração customizada conforme a imagem abaixo:


HTML
<div class="img-zoom-container">
<div class="img-div">

HTML
</div>
<div class="img-div-description">
Passo 9 -  Regra de declaração customizada para a propriedade [RelayState]
</div>
</div>
Bloco de código
languagec#
titleRelayState
linenumberstrue
=> issue(Type = "RelayState", Value = "samlexecutable");

Passo 10

Selecione a opção: "Add rule..."


HTML
<div class="img-zoom-container">
<div class="img-div">

HTML
</div>
<div class="img-div-description">
Passo 10 - Adicionar Regras
</div>
</div>

Passo 11

Selecione a opção "Send Claims Using a Custom Rule"


HTML
<div class="img-zoom-container">
<div class="img-div">

 

HTML
</div>
<div class="img-div-description">
Passo 11 -  Adicionando regra do tipo "Send Claims Using a Custom Rule"
</div>
</div>

Passo 12

Defina um nome para a regra e escreva a regra de declaração customizada conforme a imagem abaixo:


HTML
<div class="img-zoom-container">
<div class="img-div">

HTML
</div>
<div class="img-div-description">
Passo 12 -  Regra de declaração customizada para a propriedade [ExecutablePath]
</div>
</div>
Bloco de código
languagec#
titleRelayState
linenumberstrue
=> issue(Type = "ExecutablePath", Value = "C:\totvs\CorporeRM\RM.Net\RM.exe");
HTML
</div>
HTML
<div id="containerMetadataADFS" class="TotvsApiDoc_Tab" data-tabid="a_MetadataADFS" data-titulo="Integração SAML no RM" data-current="" style="display:none">

Integração SAML no RM


Metadado do ADFS

Abaixo temos um exemplo do metadados SAML que deve ser importado no RM:


Bloco de código
languagexml
firstline1
titleMetadata
linenumberstrue
<?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
titleAtenção
  • 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".

Importando o metadado do AD FS no RM

 Após obter o metadados personalizado, ele deve ser importado no RM em: Ambiente → Parâmetros → Parâmetros Globais → Integração SAML


HTML
</div>
Informações
iconfalse
Informações
iconfalse

Produto: Framework

Informações
iconfalse

Versão: 12.1.18 e superiores

Informações
iconfalse

Processo: Integração SAML

Informações
iconfalse
Informações
iconfalse

Status: Finalizado

Informações
iconfalse

Data:  

Informações
iconfalse

Autores:

Carlos Roberto Pereira Garcia

Carlos Philippe de Farias Marques

Diogo Damiani Ferreira

Stella Gleyse Macedo Vilaca

Informações
iconfalse
titleTópicos Gerais

HTML
<ul>
<li><a href="#IntegraçãodoRMcomADFSviaSAML-Objetivo" onclick="CloseSubMenus()">Objetivo</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-Introdução" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras');CloseSubMenus()">Introdução</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-ConfigurandooAplicativoConfiávelnoADFS" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras'CloseSubMenus();TotvsApiDoc.CommonFunctions.ShowContent(document.getElementById('a_RelyingTrusts'), TotvsApiDoc.CommonFunctions.GetIsTopMenuSettings(false));">Configurando o Aplicativo Confiável</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-ConfigurandoasRegrasdeDeclaração(RMPortal)" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.Open('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.ShowContent(document.getElementById('a_ConfigurandoRegrasPortal'), TotvsApiDoc.CommonFunctions.GetIsTopMenuSettings(false));">Configurando as Regras de Declaração (RM Portal)</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-ConfigurandoasRegrasdeDeclaração(MDI-RM.exe)" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.Open('a_ConfigurandoRegras');TotvsApiDoc.CommonFunctions.ShowContent(document.getElementById('a_ConfigurandoRegrasRMexe'), TotvsApiDoc.CommonFunctions.GetIsTopMenuSettings(false));">Configurando as Regras de Declaração (MDI - RM.exe)</a></li>
HTML
<li><a href="#IntegraçãodoRMcomADFSviaSAML-IntegraçãoSAMLnoRM" onclick="TotvsApiDoc.CommonFunctions.HideAll('a_ConfigurandoRegras'CloseSubMenus();TotvsApiDoc.CommonFunctions.ShowContent(document.getElementById('a_MetadataADFS'), TotvsApiDoc.CommonFunctions.GetIsTopMenuSettings(false));">Integração SAML no RM</a></li>
</ul>