Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction au niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. A la fin de l'exercice, remplacez ces valeurs par des valeurs propres à votre environnement cloud.
Intégration d'Oracle APEX aux domaines d'identité Oracle Cloud Infrastructure Identity and Access Management
Introduction
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) fournit des fonctionnalités de gestion des identités et des accès telles que l'authentification, l'accès avec connexion unique (SSO) et la gestion du cycle de vie des identités pour Oracle Cloud Infrastructure, ainsi que pour les applications Oracle et non Oracle, qu'elles soient SaaS, hébergées sur le cloud ou sur site.
Objectif
- Configurez SSO sur les applications Oracle APEX à l'aide des domaines d'identité OCI IAM en tant que fournisseur d'identités (IdP), qui fournit des contrôles de sécurité tels que l'authentification à plusieurs facteurs (MFA), la sécurité adaptative, le reporting, etc.
Prérequis
-
Accès administrateur OCI IAM de n'importe quel domaine d'identité pour la configuration de l'application partenaire.
-
Oracle APEX 18.1 et versions ultérieures avec une application pour la configuration de l'authentification.
Tâche 1 : installation d'un exemple d'application dans Oracle APEX
-
Connectez-vous à votre espace de travail APEX pour créer un exemple d'application pour laquelle nous utiliserons OCI IAM en tant que IdP pour SSO. Pour créer une application sur Oracle APEX, cliquez sur App Builder.
-
Cliquez sur Créer une application.
-
Sélectionnez From a File.
-
Cliquez sur Copier et coller et sélectionnez Ventes comme indiqué dans les images suivantes.
Tâche 2 : inscription d'une application confidentielle dans OCI IAM
Nous allons inscrire une application confidentielle dans le domaine OCI IAM. Pour ce tutoriel, nous avons utilisé le domaine par défaut.
-
Connectez-vous à la console OCI et accédez à Identité et sécurité. Sous identité, cliquez sur domaines et sur applications.
-
Sélectionnez Confidential Application et cliquez sur Launch workflow.
-
Entrez un nom pour votre application et cliquez sur Suivant.
-
Sélectionnez Code d'autorisation dans le champ Type d'autorisation autorisé et cliquez sur Suivant.
-
Entrez l'URL de réacheminement au format suivant :
https://guid-demodb.adb.region.oraclecloudapps.com/ords/apex_authentication.callback
. Par exemple,https://guid-demodb.adb.us-ashburn-1.oraclecloudapps.com/ords/apex_authentication.callback
. -
Entrez l'URL de réacheminement après déconnexion au format suivant :
https://guid-demodb.adb.region.oraclecloudapps.com/ords/f?p=your_apex_number_here
. -
Laissez l'URL de déconnexion vide.
Remarque : cette URL doit correspondre exactement lorsqu'elle est ajoutée ultérieurement à l'URL de post-déconnexion du modèle d'authentification Oracle APEX.
-
Cliquez sur Fin.
-
Cliquez sur Modifier l'application et sélectionnez Imposer l'octroi en tant qu'autorisation sous Authentification et autorisation (cette option sera utilisée ultérieurement pour contrôler l'accès à l'application Oracle APEX).
-
Cliquez sur Activate Application.
-
Copiez l'ID client et la clé secrète client que nous allons utiliser dans la configuration côté Oracle APEX.
Tâche 3 : création d'informations d'identification Web dans l'espace de travail Oracle APEX
-
Ouvrez l'espace de travail Oracle APEX. Dans l'application créée dans la tâche 1, cliquez sur Objets partagés.
-
Cliquez sur Credentials.
-
Cliquez sur Créer.
-
Entrez les informations suivantes et cliquez sur Créer.
Remarque : utilisez l'ID client et la clé secrète client de l'application confidentielle dans la tâche 2.
-
Affectez un utilisateur à cette application.
Tâche 4 : créer un modèle d'authentification dans Oracle APEX pour l'exemple d'application
-
Ouvrez l'espace de travail Oracle APEX et cliquez sur Objets partagés. Sous Sécurité, cliquez sur Schémas d'authentification et sur Créer.
-
Sélectionnez Basé sur un modèle prédéfini dans la galerie et cliquez sur Suivant.
-
Entrez les informations suivantes et cliquez sur Créer. L'URL de repérage sera
https://[idcs-service-url]/.well-known/openid-configuration/
. -
Cliquez sur le schéma d'authentification en cours Oracle Identity Cloud Service (IDCS) créé.
-
Cliquez sur l'onglet URL après déconnexion, sélectionnez Accéder à et URL. Dans l'URL, collez l'URL de l'application Oracle APEX à partir de la tâche 2.6. Cette URL doit correspondre à l'URL de réacheminement IDCS après la déconnexion.
-
Sous Attributs de sécurité, mettez à jour les informations et cliquez sur Appliquer les modifications.
-
(Facultatif) Dans la section Source, entrez le code PL/SQL suivant.
Remarque : cette option n'est requise que si vous souhaitez contrôler l'autorisation, dans les cas où nous voulons modifier les fonctionnalités ou le comportement d'une application en fonction des groupes auxquels appartient un utilisateur. Pour plus d'informations, reportez-vous à la section Controlling Authorization à la fin de ce tutoriel.
procedure load_dynamic_groups as l_group_names apex_t_varchar2; begin -- -- add all group names to l_group_names -- for i in 1 .. apex_json.get_count('groups') loop apex_string.push ( p_table => l_group_names, p_value => apex_json.get_varchar2 ( p_path => 'groups[%d].name', p0 => i )); end loop; -- -- save group names in session -- apex_authorization.enable_dynamic_groups ( p_group_names => l_group_names ); end;
-
(Facultatif, utilisé pour l'étape 7) Sous Traitement de la connexion, entrez les informations suivantes et enregistrez.
Tâche 5 : test de la connexion à l'application Oracle APEX
-
Cliquez sur Page d'exécution.
-
Entrez les informations d'identification sur l'écran de connexion à l'invite. Pour ce tutoriel, le compte utilisé pour l'authentification est synchronisé à partir du répertoire actif local et le mot de passe réside dans le répertoire actif. OCI IAM collectera le nom utilisateur et le mot de passe et les fera valider par rapport à l'annuaire actif.
-
Cliquez sur Autoriser.
La page de renvoi de l'application s'affiche.
Contrôle de l'autorisation
Vous pouvez contrôler l'autorisation en activant Imposer l'octroi en tant qu'autorisation sur l'application confidentielle configurée pour SSO, ce qui autorisera uniquement les utilisateurs ou les groupes affectés à cette application à accéder à l'application Oracle APEX. Cela est indiqué dans la tâche 2.9.
L'autre façon de contrôler l'autorisation consiste à utiliser une procédure PL/SQL dans le modèle d'authentification, comme indiqué dans les tâches 4.7 et 4.8. Une fois l'authentification réussie, userinfo_endpoint
est appelé et les résultats sont mis à la disposition de la procédure de post-authentification. Les résultats JSON sont convertis en liste de groupes et stockés dans une session Oracle APEX intégrée pour la gestion des groupes, qui peut ensuite être liée au modèle d'autorisation sous des composants partagés pour fournir l'accès à l'application en fonction de l'appartenance des utilisateurs au groupe.
Liens connexes
Remerciements
- Auteur - Aqib Javid Bhat (ingénieur cloud senior)
Ressources de formation supplémentaires
Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, rendez-vous sur education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.
Integrate Oracle APEX with Oracle Cloud Infrastructure Identity and Access Management Identity Domains
F78522-02
May 2024