Remarques :

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

Prérequis

Tâche 1 : installation d'un exemple d'application dans Oracle APEX

  1. 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.

  2. Cliquez sur Créer une application.

    Image  1

  3. Sélectionnez From a File.

    Image  2

  4. Cliquez sur Copier et coller et sélectionnez Ventes comme indiqué dans les images suivantes.

    Image  3

    Image  4

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.

  1. Connectez-vous à la console OCI et accédez à Identité et sécurité. Sous identité, cliquez sur domaines et sur applications.

    Image 4

  2. Sélectionnez Confidential Application et cliquez sur Launch workflow.

    Image 5

  3. Entrez un nom pour votre application et cliquez sur Suivant.

    Image 6

  4. Sélectionnez Code d'autorisation dans le champ Type d'autorisation autorisé et cliquez sur Suivant.

    Image 7

  5. 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.

  6. 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.

  7. 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.

    Image 31

  8. Cliquez sur Fin.

    Image 8

  9. 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).

    Image 10

  10. Cliquez sur Activate Application.

    Image 9

  11. Copiez l'ID client et la clé secrète client que nous allons utiliser dans la configuration côté Oracle APEX.

    Image 11

Tâche 3 : création d'informations d'identification Web dans l'espace de travail Oracle APEX

  1. Ouvrez l'espace de travail Oracle APEX. Dans l'application créée dans la tâche 1, cliquez sur Objets partagés.

    Image 12

  2. Cliquez sur Credentials.

    Image 13

  3. Cliquez sur Créer.

    Image 14

  4. 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.

    Image 15

  5. Affectez un utilisateur à cette application.

    Image 22

Tâche 4 : créer un modèle d'authentification dans Oracle APEX pour l'exemple d'application

  1. 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.

    Image 16

    Image 17

  2. Sélectionnez Basé sur un modèle prédéfini dans la galerie et cliquez sur Suivant.

    Image 18

  3. Entrez les informations suivantes et cliquez sur Créer. L'URL de repérage sera https://[idcs-service-url]/.well-known/openid-configuration/.

    Image 19

  4. Cliquez sur le schéma d'authentification en cours Oracle Identity Cloud Service (IDCS) créé.

  5. 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.

    Image 30

  6. Sous Attributs de sécurité, mettez à jour les informations et cliquez sur Appliquer les modifications.

    Image 27

    Image 28

  7. (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;
    
    

    Image 20

  8. (Facultatif, utilisé pour l'étape 7) Sous Traitement de la connexion, entrez les informations suivantes et enregistrez.

    Image 29

Tâche 5 : test de la connexion à l'application Oracle APEX

  1. Cliquez sur Page d'exécution.

    Image 23

  2. 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.

    Image 24

  3. Cliquez sur Autoriser.

    Image 25

La page de renvoi de l'application s'affiche.

Image 26

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.

Remerciements

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.