Note :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, voir Introduction au niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeurs pour les données d'identification, la location et les compartiments Oracle Cloud Infrastructure. À la fin de votre laboratoire, remplacez ces valeurs par celles propres à votre environnement en nuage.
Intégrer Oracle APEX aux domaines d'identité d'Oracle Cloud Infrastructure Identity and Access Management
Présentation
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) fournit des fonctions de gestion des identités et des accès telles que l'authentification, l'authentification unique et la gestion du cycle de vie des identités pour Oracle Cloud Infrastructure ainsi que pour les applications Oracle et non Oracle, que ce soit SaaS, hébergé dans le nuage ou sur place.
Objectif
- Configurez l'authentification unique sur les applications Oracle APEX à l'aide des domaines d'identité IAM OCI en tant que fournisseur d'identités (IdP) qui fournit des contrôles de sécurité tels que l'authentification multifacteur, la sécurité adaptative, la production de rapports, etc.
Préalables
-
Accès administrateur IAM OCI pour tout domaine d'identité pour la configuration de l'application partenaire.
-
Oracle APEX 18.1 et versions supérieures avec une application pour la configuration de l'authentification.
Tâche 1 : Installer 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 comme IdP pour l'authentification unique. Pour créer une application sur Oracle APEX, cliquez sur Générateur d'applications.
-
Cliquez sur Créer une application.
-
Sélectionnez À partir d'un fichier.
-
Cliquez sur Copier et coller et sélectionnez Ventes comme illustré dans les images suivantes.
Tâche 2 : Enregistrer une application confidentielle dans OCI IAM
Nous enregistrerons une application confidentielle dans le domaine IAM OCI. Pour ce tutoriel, nous avons utilisé le domaine par défaut.
-
Connectez-vous à la console OCI et naviguez jusqu'à Identité et sécurité. Sous Identité, cliquez sur Domaines et sur Applications.
-
Sélectionnez Application confidentielle et cliquez sur Lancer le flux de travail.
-
Entrez un nom pour votre application et cliquez sur Suivant.
-
Sélectionnez le code d'autorisation comme type d'autorisation autorisé et cliquez sur Suivant.
-
Entrez l'URL de redirection dans le 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 redirection après déconnexion dans le format suivant :
https://guid-demodb.adb.region.oraclecloudapps.com/ords/f?p=your_apex_number_here
. -
Laissez le champ URL de déconnexion vide.
Note : Notez que cette URL doit correspondre exactement lorsqu'elle est ajoutée ultérieurement dans l'URL de post-déconnexion du modèle d'authentification Oracle APEX.
-
Cliquez sur Terminer.
-
Cliquez sur Modifier l'application et sélectionnez Appliquer l'autorisation en tant qu'autorisation sous Authentification et autorisation (Cette option sera utilisée plus tard pour contrôler l'accès à l'application Oracle APEX).
-
Cliquez sur Activer l'application.
-
Copiez l'ID client et la clé secrète client que nous utiliserons dans la configuration côté Oracle APEX.
Tâche 3 : Créer des données d'identification Web dans votre espace de travail Oracle APEX
-
Ouvrez l'espace de travail Oracle APEX. Dans l'application créée au cours de la tâche 1, cliquez sur Objets partagés.
-
Cliquez sur Données d'identification.
-
Cliquez sur Créer.
-
Entrez les informations suivantes et cliquez sur Créer.
Note : Utilisez l'ID client et la clé secrète client de l'application confidentielle de la tâche 2.
-
Affecter un utilisateur à cette application.
Tâche 4 : Créer un nouveau 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 Selon un schéma préconfiguré dans la galerie et cliquez sur Suivant.
-
Entrez les informations suivantes et cliquez sur Créer. L'URL de détection sera
https://[idcs-service-url]/.well-known/openid-configuration/
. -
Cliquez sur le Schéma d'authentification - Courant Oracle Identity Cloud Service (IDCS) créé.
-
Cliquez sur l'onglet URL après déconnexion, sélectionnez Aller à 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 après déconnexion IDCS.
-
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.
Note : Cela n'est requis que si vous voulez contrôler l'autorisation, dans les cas où nous voulons modifier les fonctions ou le comportement d'une application en fonction des groupes auxquels un utilisateur appartient. Pour plus d'informations, voir la section Contrôle de l'autorisation à 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 connexion, entrez les informations suivantes et enregistrez.
Tâche 5 : Tester la connexion à l'application Oracle APEX
-
Cliquez sur Exécuter la page.
-
Entrez les données d'identification dans l'écran de connexion invité. 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 d'utilisateur et le mot de passe et les validera par rapport au répertoire actif.
-
Cliquez sur Allow.
La page de renvoi de l'application s'affiche.
Contrôle de l'autorisation
Vous pouvez contrôler l'autorisation en activant Appliquer l'octroi en tant qu'autorisation sur l'application confidentielle configurée pour l'authentification unique, ce qui permet uniquement aux utilisateurs ou aux groupes affectés à cette application d'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
sera appelé et les résultats seront mis à la disposition de la procédure 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 permettre l'accès à l'application en fonction de l'appartenance aux groupes des utilisateurs.
Liens connexes
Remerciements
- Auteur - Aqib Javid Bhat (ingénieur en nuage principal)
Autres ressources d'apprentissage
Explorez d'autres laboratoires sur docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez 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
F97124-01
May 2024