Criar Parceiros SAML 2.0 IdP no OAM e no SP

Este artigo explica como configurar um acordo de Federação entre o OAM atuando como SAML 2.0 SP e um Parceiro SAML 2.0 IdP remoto, incluindo:

O artigo descreve como executar as tarefas acima na IU ou por meio do uso dos comandos WLST do OAM.

Estabelecendo Confiança Federada

Estabelecer a Confiança entre parceiros da Federação é um pré-requisito antes de poder executar qualquer operação SSO da Federação entre os servidores da Federação.

O estabelecimento de confiança envolve a troca de informações de certificado, se o protocolo usado depender de certificados PKI X.509 para proteger trocas de mensagens, bem como os locais/URLs dos serviços que implementam o protocolo de federação.

Mapeamento de Asserções

Com o OAM atuando como um Provedor de Serviços e delegando a autenticação de usuários a um IdP remoto, o administrador precisa concordar com o administrador do IdP sobre como o usuário é identificado na Asserção SAML (informações do usuário armazenadas no NameID, ou como um Atributo SAML, ou em vários Atributos SAML..), e então o OAM/SP precisa ser configurado para mapear a Asserção SAML recebida para um registro de usuário LDAP, usando o(s) Atributo(s) NameID e/ou SAML.

O OAM requer que a Asserção de entrada seja mapeada para um registro de usuário LDAP para criar uma sessão do OAM.

O OAM/SP pode mapear uma Asserção SAML recebida para um registro de usuário LDAP via:

O OAM/SP também fornece os recursos para usar um Armazenamento de Identidades específico e um DN base de pesquisa do usuário ao mapear a Asserção para um registro de usuário LDAP. É opcional e:

SAML 2.0 com Metadados

Console de Administração do OAM

Para criar um novo Parceiro SAML 2.0 IdP com Metadados, execute as seguintes etapas:

  1. Vá para a Console de Administração do OAM: http(s)://oam-admin-host:oam-adminport/oamconsole

  2. Navegue até Federação de Identidades, Administração do Provedor de Serviços

  3. Clique no botão Criar Parceiro do Provedor de Identidades

  4. Na tela Criar:

    1. Informe um nome para o parceiro

    2. Verifique se esse parceiro deve ou não ser usado como o IdP por padrão ao iniciar uma operação SSO de Federação, se nenhum parceiro IdP for especificado.

    3. Selecionar SAML 2.0 como o Protocolo

    4. Clique em Carregar Metadados e faça upload do arquivo de Metadados SAML 2.0 para a seção Mapeamento de Asserção IdP:

      1. Como opção, defina o Armazenamento de Identidades do OAM que deve ser usado Observação: No exemplo, deixamos o campo em branco para usar o Armazenamento de Identidades do OAM padrão

      2. Opcionalmente, defina o DN base de pesquisa do usuário Observação: No exemplo, deixamos o campo em branco para usar o DN base de pesquisa do usuário configurado no Armazenamento de Identidades.

    5. Selecione como o mapeamento ocorre Observação: No exemplo, estamos mapeando a Asserção via NameID para o atributo de e-mail LDAP

    6. Selecione o Perfil do Atributo que é usado para mapear os nomes dos atributos na Asserção SAML de entrada para nomes locais.

  5. Clique em Salvar

Descrição da ilustração Create_IDP_Partner.jpg

Depois que o parceiro é criado, a tela Editar Parceiro é mostrada com:

WLST

Para criar um novo Parceiro SAML 2.0 IdP com Metadados usando os comandos WLST do OAM, execute as seguintes etapas:

  1. Informe o ambiente WLST executando: $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Conecte-se ao servidor de Administração WLS: connect()

  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()

  4. Crie um Parceiro SAML 2.0 IdP com Metadados chamados acmeIdP no OAM: addSAML20IdPFederationPartner("acmeIdP", "/tmp/acme-idp-metadata-saml20.xml")

  5. Por padrão, o novo parceiro IdP é configurado para:

    1. Usar o OAM Identity Store padrão

    2. Usar o DN base de pesquisa do usuário do Armazenamento de Identidades (não substituído)

    3. Mapear a Asserção SAML usando o NameID, correspondendo ao atributo de e-mail LDAP

    4. Definir o Formato NameID da Solicitação de Autenticação como Nenhum

    5. Usar HTTP-POST como o Bind de Resposta SSO Padrão

    6. Usar o Perfil do Atributo do Provedor de Identidades padrão

  6. Saia do ambiente WLST: exit()

SAML 2.0 sem Metadados

Console de Administração do OAM

Para criar um novo Parceiro SAML 2.0 IdP sem Metadados, execute as seguintes etapas (certifique-se primeiro de ter todos os dados do parceiro IdP, como certificados, identificadores IdP e URLs):

  1. Vá para a Console de Administração do OAM: http(s)://oam-admin-host:oam-adminport/oamconsole

  2. Navegue até Federação de Identidades, Administração do Provedor de Serviços

  3. Clique no botão Criar Parceiro do Provedor de Identidades

  4. Na tela Criar:

    1. Informe um nome para o parceiro

    2. Verifique se esse parceiro deve ou não ser usado como o IdP por padrão ao iniciar uma operação SSO de Federação, se nenhum parceiro IdP for especificado.

    3. Selecionar SAML 2.0 como o Protocolo

    4. Selecionar Entrada Manual

    5. Informe o Issuer/ProviderID do Parceiro IdP

    6. Se SuccinctID for deixado em branco, o OAM/SP o calculará digitando o ID do Provedor usando o algoritmo SHA-1 (deve ser deixado em branco)

    7. Informe o URL do Serviço SSO desse Parceiro IdP: Esse é o URL para o qual o usuário é redirecionado do OAM/SP com um SAML AuthnRequest para o IdP.

    8. Se o parceiro suportar o protocolo de Artefato SAML 2.0, informe o URL do Serviço SOAP em que o OAM/SP se conecta para recuperar a Asserção SAML durante uma operação de Artefato SSO

    9. Se o parceiro suportar o protocolo de logout SAML 2.0:

      1. Informe o URL da Solicitação de Log-out SAML 2.0 em que o parceiro pode processar uma mensagem SAML 2.0 LogoutRequest

      2. Informe o URL de Resposta de Log-out SAML 2.0 no qual o parceiro pode processar uma mensagem SAML 2.0 LogoutResponse

    10. Faça upload do arquivo IdP Signing Certificate:

      1. no formato PEM (em que o arquivo contém a primeira linha --BEGIN CERTIFICATE--, o certificado no formato codificado em Base64 e, em seguida, a última linha como --END CERTIFICATE--)

      2. ou em formato DER onde o certificado é armazenado na codificação binária

    11. Se o IdP tiver um Certificado de Criptografia, faça upload do arquivo:

      1. no formato PEM (em que o arquivo contém a primeira linha --BEGIN CERTIFICATE--, o certificado no formato codificado em Base64 e, em seguida, a última linha como --END CERTIFICATE--)

      2. ou em formato DER onde o certificado é armazenado na codificação binária

    12. Seção Mapeamento de Asserções:

      1. Como opção, defina o Armazenamento de Identidades do OAM que deve ser usado Observação: No exemplo, deixamos o campo em branco para usar o Armazenamento de Identidades do OAM padrão

      2. Opcionalmente, defina o DN base de pesquisa do usuário Observação: No exemplo, deixamos o campo em branco para usar o DN base de pesquisa do usuário configurado no Armazenamento de Identidades.

    13. Selecione como o mapeamento ocorre Observação: No exemplo, estamos mapeando a Asserção via NameID para o atributo de e-mail LDAP

    14. Selecione o Perfil do Atributo que é usado para mapear os nomes dos atributos na Asserção SAML de entrada para nomes locais.

  5. Clique em Salvar

Descrição da ilustração Create_IDP_Provider_Partner.jpg

Depois que o parceiro é criado, a tela Editar Parceiro é mostrada com:

WLST

Para criar um novo Parceiro SAML 2.0 IdP sem Metadados usando os comandos WLST do OAM, execute as seguintes etapas (certifique-se primeiro de ter todos os dados do parceiro IdP, como certificados, identificadores IdP e URLs):

  1. Informe o ambiente WLST executando: $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Conecte-se ao servidor de Administração WLS: connect()

  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()

  4. Crie o Parceiro SAML 2.0 IdP sem Metadados que chama acmeIdP no OAM: addSAML20IdPFederationPartnerWithoutMetadata("acmeIdP","https://acme.com/idp", "https://acme.com/saml20/sso", "https://acme.com/saml20/soap")

  5. Por padrão, o novo parceiro SP é configurado para:

    1. Usar o OAM Identity Store padrão

    2. Usar o DN base de pesquisa do usuário do Armazenamento de Identidades (não substituído)

    3. Mapear a Asserção SAML usando o NameID, correspondendo ao atributo de e-mail LDAP

    4. Definir o Formato NameID da Solicitação de Autenticação como Nenhum

    5. Usar HTTP-POST como o Bind de Resposta SSO Padrão

    6. Usar o Perfil do Atributo do Provedor de Identidades padrão

    7. Nenhum upload de certificado foi feito para este parceiro IdP

  6. Saia do ambiente WLST: exit()

Modificando Definições de Federação via WLST

Esta seção lista como alterar as configurações comuns do Parceiro SP por meio dos comandos WLST do OAM:

Suponha que você já esteja no ambiente WLST e conectado usando:

  1. Informe o ambiente WLST executando: $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Conecte-se ao servidor de Administração WLS: connect()

  3. Navegue até a ramificação Runtime do Domínio: domainRuntime()

Definição de Mapeamento de Asserção SAML

Para configurar definições de mapeamento para um Parceiro SAML IdP:

  1. Use o seguinte comando para mapear a Asserção por meio do 1: setIdPPartnerMappingNameID(partnerName, userstoreAttr)

    1. partnerName é o nome que foi usado para criar o Parceiro IdP

    2. userstoreAttr: Atributo do usuário LDAP para corresponder ao valor NameID.

  2. Use o seguinte comando para mapear a Asserção por meio de um Atributo SAML: setIdPPartnerMappingAttribute(partnerName, assertionAttr, userstoreAttr)

    1. partnerName é o nome que foi usado para criar o Parceiro IdP

    2. assertionAttr: Nome do Atributo SAML.

    3. userstoreAttr: Atributo do usuário LDAP para corresponder ao valor do Atributo SAML.

  3. Use o seguinte comando para mapear a Asserção por meio de uma consulta LDAP: setIdPPartnerMappingAttributeQuery(partnerName, attrQuery)

    1. partnerName é o nome que foi usado para criar o Parceiro IdP

    2. attrQuery: A consulta LDAP a ser usada (por exemplo, (&(givenname=%firstname%) (sn=%lastname%))).

DN da Base do Armazenamento de Identidades e da Pesquisa de Usuários do OAM

Para configurar o OAM/SP para usar um Armazenamento de Identidades do OAM e/ou um DN Base de Pesquisa de Usuário específico ao mapear a Asserção SAML de entrada, execute o seguinte comando setPartnerIDStoreAndBaseDN():

Logout do SAML 2.0

Para ativar o Log-out do SAML 2.0 e especificar os URLs de log-out do SAML 2.0 do parceiro IdP, execute:

Para desativar o Logout do SAML 2.0 para o parceiro IdP, execute:

Certificados SAML

Existem vários comandos WLST disponíveis para gerenciar certificados de assinatura e criptografia:

IdP Parceiro AMribute ProQl

Para configurar o Perfil de Atributo de Parceiro IdP para um Parceiro IdP específico, use os seguintes comandos:

Para configurar um Parceiro IdP para usar um Perfil de Atributo de Parceiro IdP específico, execute:

Associações de Solicitação e Resposta SSO SAML

Para configurar as associações SAML para um Parceiro IdP específico, use os seguintes comandos:

Para configurar o parceiro IdP, execute: configureSAMLBinding(partnerName, partnerType, binding, ssoResponseBinding="httppost")

Exemplos

Os comandos abaixo podem ser usados para adicionar um parceiro IdP sem Metadados SAML 2.0:

addSAML20IdPFederationPartnerWithoutMetadata("acmeIdP","https://acme.com/idp", "https://acme.com/saml2 /sso", "https://acme.com/saml20/soap" configureSAML20Logout("acmeIdP", "idp", "true","https://acme.com/saml20/logoutReq" "https://acme.com/saml20/logoutResp" setFederationPartnerSigningCert("acmeIdP", "idp", "/tmp/acme-idp-cert.pem") setPartnerIDStoreAndBaseDN("acmeIdP", "idp", "oid") setIdPPartnerMappingNameID("acmeIdP", "mail")

Os comandos abaixo podem ser usados para adicionar um parceiro IdP com Metadados SAML 2.0 (neste exemplo, estamos usando o Armazenamento de Identidades do OAM padrão):

addSAML20IdPFederationPartner("acmeIdP", "/tmp/acme-idp-metadata-saml20.xml" setIdPPartnerMappingNameID("acmeIdP", "mail")

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.