Nota

Integra Oracle APEX con i domini di Identity di Oracle Cloud Infrastructure Identity and Access Management

Introduzione

Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) offre funzioni di gestione delle identità e degli accessi come autenticazione, Single Sign-On (SSO) e gestione del ciclo di vita delle identità per Oracle Cloud Infrastructure, nonché per applicazioni Oracle e non Oracle, SaaS, ospitate nel cloud o on-premise.

Obiettivo

Prerequisiti

Task 1: installare un'applicazione di esempio in Oracle APEX

  1. Eseguire il login all'area di lavoro APEX per creare un'applicazione di esempio per la quale verrà utilizzato IAM OCI come IdP per SSO. Per creare un'applicazione in Oracle APEX, fare clic su App Builder.

  2. Fare clic su Crea applicazione.

    Immagine 1

  3. Selezionare Da un file.

    Immagine 2

  4. Fare clic su Copia e incolla e selezionare Vendite come mostrato nelle immagini seguenti.

    Immagine 3

    Immagine 4

Task 2: registrare un'applicazione riservata in IAM OCI

Registreremo un'applicazione riservata nel dominio IAM OCI. Per questo tutorial, abbiamo usato il dominio predefinito.

  1. Eseguire il login a OCI Console e passare a Identità e sicurezza. In Identità fare clic su Domini e Applicazioni.

    Immagine 4

  2. Selezionare Confidential Application e fare clic su Launch workflow.

    Immagine 5

  3. Immettere un Nome per l'applicazione e fare clic su Successivo.

    Immagine 6

  4. Selezionare Codice autorizzazione come Tipo di autorizzazione consentito e fare clic su Successivo.

    Immagine 7

  5. Immettere l'URL di reindirizzamento nel seguente formato: https://guid-demodb.adb.region.oraclecloudapps.com/ords/apex_authentication.callback. Ad esempio, https://guid-demodb.adb.us-ashburn-1.oraclecloudapps.com/ords/apex_authentication.callback.

  6. Immettere l'URL di reindirizzamento successivo al logout nel seguente formato: https://guid-demodb.adb.region.oraclecloudapps.com/ords/f?p=your_apex_number_here.

  7. Lasciare vuoto l'URL di logout.

    Nota: tenere presente che questo URL deve corrispondere esattamente quando viene aggiunto in un secondo momento nell'URL successivo al logout dello schema di autenticazione Oracle APEX.

    Immagine 31

  8. Fare clic su Fine.

    Immagine 8

  9. Fare clic su Modifica applicazione e selezionare Applica privilegio come autorizzazione in Autenticazione e autorizzazione (verrà utilizzata in seguito per controllare l'accesso all'applicazione Oracle APEX).

    Immagine 10

  10. Fare clic su Attiva applicazione.

    Immagine 9

  11. Copiare l'ID client e il segreto client che verranno utilizzati nella configurazione sul lato Oracle APEX.

    Immagine 11

Task 3: Creare una nuova credenziale Web nell'area di lavoro Oracle APEX

  1. Aprire l'area di lavoro di Oracle APEX. Nell'applicazione creata nel task 1, fare clic su Oggetti condivisi.

    Immagine 12

  2. Fare clic su Credenziali.

    Immagine 13

  3. Fare clic su Crea.

    Immagine 14

  4. Immettere le informazioni seguenti e fare clic su Crea.

    Nota: utilizzare ID client e Segreto client dall'applicazione riservata nel task 2.

    Immagine 15

  5. Assegnare un utente a questa applicazione.

    Immagine 22

Task 4: creare un nuovo schema di autenticazione in Oracle APEX per l'applicazione di esempio

  1. Aprire l'area di lavoro di Oracle APEX e fare clic su Oggetti condivisi. In Sicurezza fare clic su Schemi di autenticazione e Crea.

    Immagine 16

    Immagine 17

  2. Selezionare In base a uno schema preconfigurato dalla raccolta e fare clic su Avanti.

    Immagine 18

  3. Immettere le informazioni seguenti e fare clic su Crea. L'URL di ricerca automatica sarà https://[idcs-service-url]/.well-known/openid-configuration/.

    Immagine 19

  4. Fare clic sullo schema di autenticazione - Corrente IDCS (Oracle Identity Cloud Service) creato.

  5. Fare clic sulla scheda URL successivo al logout, selezionare Vai a e URL. In URL incollare l'URL dell'applicazione Oracle APEX dal task 2.6. Questo URL deve corrispondere all'URL di reindirizzamento successivo al logout IDCS.

    Immagine 30

  6. In Attributi di sicurezza aggiornare le informazioni e fare clic su Applica modifiche.

    Immagine 27

    Immagine 28

  7. (Facoltativo) Nella sezione Origine immettere il codice PL/SQL seguente.

    Nota: questa opzione è necessaria solo se si desidera controllare l'autorizzazione, nei casi in cui si desidera modificare le funzioni o il comportamento di un'applicazione in base ai gruppi a cui appartiene un utente. Per ulteriori informazioni, vedere la sezione Controllo dell'autorizzazione alla fine di questa esercitazione.

    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;
    
    

    Immagine 20

  8. (Facoltativo utilizzato per il passo 7) In Elaborazione login, immettere le informazioni riportate di seguito e salvare.

    Immagine 29

Task 5: eseguire il test del login all'applicazione Oracle APEX

  1. Fare clic su Pagina Esegui.

    Immagine 23

  2. Immettere le credenziali nella schermata di login richiesta. Per questa esercitazione, l'account utilizzato per l'autenticazione viene sincronizzato dalla directory attiva locale e la password risiede nella directory attiva. IAM OCI raccoglierà il nome utente e la password e li farà convalidare in base alla directory attiva.

    Immagine 24

  3. Fare clic su Consenti.

    Immagine 25

Viene visualizzata la pagina di arrivo dell'applicazione.

Immagine 26

Autorizzazione di controllo

È possibile controllare l'autorizzazione abilitando Applica autorizzazione come autorizzazione nell'applicazione riservata configurata per SSO, che consentirà solo agli utenti o ai gruppi assegnati a questa applicazione di accedere all'applicazione Oracle APEX. Questo è mostrato nel Task 2.9.

L'altro modo per controllare l'autorizzazione è quello di utilizzare una procedura PL/SQL all'interno dello schema di autenticazione come mostrato nei task 4.7 e 4.8. Dopo l'autenticazione riuscita, verrà richiamato userinfo_endpoint e i risultati verranno resi disponibili per la procedura successiva all'autenticazione. I risultati JSON vengono convertiti in lista di gruppi e memorizzati in una sessione Oracle APEX integrata per la gestione dei gruppi, che in seguito può essere collegata allo schema di autorizzazione dei componenti condivisi per fornire l'accesso all'applicazione in base all'appartenenza ai gruppi degli utenti.

Riconoscimenti

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.