Créer des partenaires SAML 2.0 IdP dans OAM et SP

Cet article explique comment configurer un accord de fédération entre OAM agissant en tant que fournisseur de services SAML 2.0 et un partenaire SAML 2.0 IdP distant, notamment :

L'article explique comment effectuer les tâches ci-dessus via l'interface utilisateur ou via l'utilisation des commandes WLST OAM.

Etablir la confiance de fédération

L'établissement d'une relation de confiance entre les partenaires Federation est un prérequis préalable à toute opération SSO de fédération entre les serveurs Federation.

L'établissement de confiance implique l'échange d'informations de certificat, si le protocole utilisé repose sur les certificats PKI X.509 pour sécuriser les échanges de messages, ainsi que les emplacements/URL des services implémentant le protocole de fédération.

Correspondance d'assertion

OAM agissant en tant que fournisseur de services et déléguant l'authentification utilisateur à un IdP distant, l'administrateur doit accepter avec l'administrateur du fournisseur d'identités la façon dont l'utilisateur est identifié dans l'assertion SAML (informations utilisateur stockées dans NameID, soit en tant qu'attribut SAML, ou dans plusieurs attributs SAML, puis OAM/SP doit être configuré pour mettre en correspondance l'assertion SAML entrante avec un enregistrement utilisateur LDAP, à l'aide des attributs NameID et/ou SAML.

OAM requiert que l'assertion entrante soit mise en correspondance avec un enregistrement utilisateur LDAP afin de créer une session OAM.

OAM/SP peut mettre en correspondance une assertion SAML entrante avec un enregistrement utilisateur LDAP via :

OAM/SP permet également d'utiliser un nom distinctif de base de recherche d'utilisateur et une banque d'identités spécifiques lors de la mise en correspondance de l'assertion avec un enregistrement utilisateur LDAP. Facultatif :

SAML 2.0 avec métadonnées

Console d'administration OAM

Pour créer un partenaire SAML 2.0 IdP avec métadonnées, procédez comme suit :

  1. Accédez à la console d'administration OAM : http(s)://oam-admin-host:oam-adminport/oamconsole

  2. Accédez à Fédération d'identités, Administration de fournisseur de services

  3. Cliquez sur le bouton Créer un partenaire de fournisseur d'identités.

  4. Sur l'écran Créer :

    1. Entrer le nom du partenaire

    2. Vérifiez si ce partenaire doit être utilisé en tant que IdP par défaut lors du démarrage d'une opération SSO de fédération, si aucun partenaire IdP n'est spécifié.

    3. Sélectionner le protocole SAML 2.0

    4. Cliquez sur Charger les métadonnées et téléchargez le fichier de métadonnées SAML 2.0 pour la section Correspondance d'assertion IdP :

      1. Définissez éventuellement la banque d'identités OAM à utiliser Remarque : dans l'exemple, nous avons laissé le champ vide pour utiliser la banque d'identités OAM par défaut.

      2. Définissez éventuellement le DN de base de recherche d'utilisateurs Remarque : dans l'exemple, nous avons laissé le champ vide pour utiliser le DN de base de recherche d'utilisateurs configuré dans la banque d'identités.

    5. Sélectionnez le mode de mise en correspondance Remarque : dans l'exemple, nous mettons en correspondance l'assertion via NameID avec l'attribut de messagerie LDAP.

    6. Sélectionnez le profil d'attribut utilisé pour mettre en correspondance les noms des attributs de l'assertion SAML entrante avec les noms locaux.

  5. Cliquez sur Enregistrer.

Description de l'image Create_IDP_Partner.jpg

Une fois le partenaire créé, l'écran Modifier le partenaire apparaît avec :

WLST

Pour créer un partenaire SAML 2.0 IdP avec métadonnées à l'aide des commandes WLST OAM, procédez comme suit :

  1. Entrez dans l'environnement WLST en exécutant : $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Connectez-vous au serveur d'administration WLS : connect()

  3. Accédez au branchement d'exécution de domaine : domainRuntime()

  4. Créer un partenaire SAML 2.0 IdP avec des métadonnées appelées acmeIdP dans OAM : addSAML20IdPFederationPartner("acmeIdP", "/tmp/acme-idp-metadata-saml20.xml")

  5. Par défaut, le nouveau partenaire IdP est configuré pour :

    1. Utiliser la banque d'identités OAM par défaut

    2. Utiliser le nom distinctif de base de recherche d'utilisateur de la banque d'identités (non remplacé)

    3. Mappez l'assertion SAML à l'aide de NameID, correspondant à l'attribut de messagerie LDAP

    4. Définir le format NameID de la demande d'authentification sur Aucun

    5. Utiliser HTTP-POST en tant que liaison de réponse SSO par défaut

    6. Utiliser le profil d'attribut de fournisseur d'identités par défaut

  6. Quittez l'environnement WLST : exit()

SAML 2.0 sans métadonnées

Console d'administration OAM

Pour créer un partenaire SAML 2.0 IdP sans métadonnées, exécutez la procédure suivante (assurez-vous d'abord que vous disposez de toutes les données du partenaire IdP, telles que les certificats, les identificateurs IdP et les URL) :

  1. Accédez à la console d'administration OAM : http(s)://oam-admin-host:oam-adminport/oamconsole

  2. Accédez à Fédération d'identités, Administration des fournisseurs de services.

  3. Cliquez sur le bouton Créer un partenaire de fournisseur d'identités.

  4. Sur l'écran Créer :

    1. Entrer le nom du partenaire

    2. Vérifiez si ce partenaire doit être utilisé en tant que IdP par défaut lors du démarrage d'une opération SSO de fédération, si aucun partenaire IdP n'est spécifié.

    3. Sélectionner le protocole SAML 2.0

    4. Sélectionnez Enter Manually.

    5. Entrez les valeurs Issuer/ProviderID du partenaire IdP

    6. Si SuccinctID est laissé vide, OAM/SP le calcule en condensant l'ID de fournisseur à l'aide de l'algorithme SHA-1 (doit être laissé vide).

    7. Entrez l'URL du service SSO pour ce partenaire IdP : il s'agit de l'URL vers laquelle l'utilisateur est redirigé d'OAM/SP avec un SAML AuthnRequest vers IdP.

    8. Si le partenaire prend en charge le protocole d'artefact SAML 2.0, entrez l'URL de service SOAP à laquelle OAM/SP se connecte pour extraire l'assertion SAML au cours d'une opération d'artefact SSO

    9. Si le partenaire prend en charge le protocole de déconnexion SAML 2.0 :

      1. Entrez l'URL de demande de déconnexion SAML 2.0 à partir de laquelle le partenaire peut traiter un message SAML 2.0 LogoutRequest

      2. Entrez l'URL de réponse de déconnexion SAML 2.0 à partir de laquelle le partenaire peut traiter un message SAML 2.0 LogoutResponse

    10. Téléchargez le fichier de certificat de signature IdP :

      1. soit au format PEM (où le fichier contient comme première ligne --BEGIN CERTIFICATE--, puis le certificat au format encodé Base64, puis la dernière ligne comme --END CERTIFICATE--)

      2. ou au format DER où le certificat est stocké en codage binaire

    11. Si IdP dispose d'un certificat de cryptage, téléchargez le fichier :

      1. soit au format PEM (où le fichier contient comme première ligne --BEGIN CERTIFICATE--, puis le certificat au format encodé Base64, puis la dernière ligne comme --END CERTIFICATE--)

      2. ou au format DER où le certificat est stocké en codage binaire

    12. Section Correspondance d'assertion :

      1. Définissez éventuellement la banque d'identités OAM à utiliser Remarque : dans l'exemple, nous avons laissé le champ vide pour utiliser la banque d'identités OAM par défaut.

      2. Définissez éventuellement le DN de base de recherche d'utilisateurs Remarque : dans l'exemple, nous avons laissé le champ vide pour utiliser le DN de base de recherche d'utilisateurs configuré dans la banque d'identités.

    13. Sélectionnez le mode de mise en correspondance Remarque : dans l'exemple, nous mettons en correspondance l'assertion via NameID avec l'attribut de messagerie LDAP.

    14. Sélectionnez le profil d'attribut utilisé pour mettre en correspondance les noms des attributs de l'assertion SAML entrante avec les noms locaux.

  5. Cliquez sur Enregistrer.

Description de l'image Create_IDP_Provider_Partner.jpg

Une fois le partenaire créé, l'écran Modifier le partenaire apparaît avec :

WLST

Pour créer un partenaire SAML 2.0 IdP sans métadonnées à l'aide des commandes WLST OAM, exécutez les étapes suivantes (assurez-vous d'abord que vous disposez de toutes les données du partenaire IdP, telles que les certificats, les identificateurs IdP et les URL) :

  1. Entrez dans l'environnement WLST en exécutant : $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Connectez-vous au serveur d'administration WLS : connect()

  3. Accédez au branchement d'exécution de domaine : domainRuntime()

  4. Créer un partenaire SAML 2.0 IdP sans métadonnées qui appelle acmeIdP dans OAM : addSAML20IdPFederationPartnerWithoutMetadata("acmeIdP","https://acme.com/idp", "https://acme.com/saml20/sso", "https://acme.com/saml20/soap")

  5. Par défaut, le nouveau partenaire SP est configuré pour :

    1. Utiliser la banque d'identités OAM par défaut

    2. Utiliser le nom distinctif de base de recherche d'utilisateur de la banque d'identités (non remplacé)

    3. Mappez l'assertion SAML à l'aide de NameID, correspondant à l'attribut de messagerie LDAP

    4. Définir le format NameID de la demande d'authentification sur Aucun

    5. Utiliser HTTP-POST en tant que liaison de réponse SSO par défaut

    6. Utiliser le profil d'attribut de fournisseur d'identités par défaut

    7. Aucun certificat n'a été téléchargé pour ce partenaire IdP

  6. Quittez l'environnement WLST : exit()

Modifier les paramètres de fédération via WLST

Cette section explique comment modifier les paramètres communs du partenaire de fournisseur de services via les commandes WLST OAM :

Supposons que vous êtes déjà dans l'environnement WLST et connecté à l'aide des éléments suivants :

  1. Entrez dans l'environnement WLST en exécutant : $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Connectez-vous au serveur d'administration WLS : connect()

  3. Accédez au branchement d'exécution de domaine : domainRuntime()

Paramètre de mise en correspondance d'assertion SAML

Pour configurer les paramètres de mise en correspondance d'un partenaire SAML IdP :

  1. Utilisez la commande suivante pour mettre en correspondance l'assertion via le 1 : setIdPPartnerMappingNameID(partnerName, userstoreAttr)

    1. partnerName est le nom utilisé pour créer le partenaire IdP.

    2. userstoreAttr : attribut utilisateur LDAP devant correspondre à la valeur NameID.

  2. Utilisez la commande suivante pour mettre en correspondance l'assertion via un attribut SAML : setIdPPartnerMappingAttribute(partnerName, assertionAttr, userstoreAttr)

    1. partnerName est le nom utilisé pour créer le partenaire IdP.

    2. assertionAttr : nom de l'attribut SAML.

    3. userstoreAttr : attribut utilisateur LDAP devant correspondre à la valeur de l'attribut SAML.

  3. Utilisez la commande suivante pour mettre en correspondance l'assertion via une requête LDAP : setIdPPartnerMappingAttributeQuery(partnerName, attrQuery)

    1. partnerName est le nom utilisé pour créer le partenaire IdP.

    2. attrQuery : requête LDAP à utiliser (par exemple, (&(givenname=%firstname%) (sn=%lastname%))).

DN de base de recherche d'utilisateurs et de banque d'identités OAM

Pour configurer OAM/SP afin qu'il utilise une banque d'identités OAM spécifique et/ou un nom distinctif de base de recherche d'utilisateur spécifique lors de la mise en correspondance de l'assertion SAML entrante, exécutez la commande suivante setPartnerIDStoreAndBaseDN() :

Déconnexion SAML 2.0

Pour activer la déconnexion SAML 2.0 et indiquer les URL de déconnexion SAML 2.0 du partenaire IdP, exécutez la commande suivante :

Pour désactiver la déconnexion SAML 2.0 pour le partenaire IdP, exécutez la commande suivante :

Certificats SAML

Il existe différentes commandes WLST pour gérer les certificats de signature et de cryptage :

IdP Partenaire AMribute ProQl

Pour configurer le profil d'attribut de partenaire IdP pour un partenaire IdP spécifique, utilisez les commandes suivantes :

Pour configurer un partenaire IdP afin qu'il utilise un profil d'attribut de partenaire IdP spécifique, exécutez la commande suivante :

Liaisons demande/réponse SSO SAML

Pour configurer les liaisons SAML pour un partenaire IdP spécifique, utilisez les commandes suivantes :

Pour configurer le partenaire IdP, exécutez la commande suivante : configureSAMLBinding(partnerName, partnerType, binding, ssoResponseBinding="httppost")

Exemples

Les commandes ci-dessous peuvent être utilisées pour ajouter un partenaire IdP sans métadonnées 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")

Les commandes ci-dessous peuvent être utilisées pour ajouter un partenaire IdP avec des métadonnées SAML 2.0 (dans cet exemple, nous utilisons le style d'identité OAM par défaut) :

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

Ressources de formation supplémentaires

Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuite sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour consulter la documentation du produit, visitez le site Oracle Help Center.