Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
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
- Configura SSO nelle applicazioni Oracle APEX utilizzando i domini di Identity IAM OCI come provider di identità (IdP) che fornisce controlli di sicurezza quali l'autenticazione a più fattori (MFA), la sicurezza adattiva, la generazione di report e così via.
Prerequisiti
-
Accesso amministratore IAM OCI di qualsiasi dominio di Identity per l'impostazione dell'applicazione partner.
-
Oracle APEX 18.1 e versioni successive con un'applicazione per l'impostazione dell'autenticazione.
Task 1: installare un'applicazione di esempio in Oracle APEX
-
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.
-
Fare clic su Crea applicazione.
-
Selezionare Da un file.
-
Fare clic su Copia e incolla e selezionare Vendite come mostrato nelle immagini seguenti.
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.
-
Eseguire il login a OCI Console e passare a Identità e sicurezza. In Identità fare clic su Domini e Applicazioni.
-
Selezionare Confidential Application e fare clic su Launch workflow.
-
Immettere un Nome per l'applicazione e fare clic su Successivo.
-
Selezionare Codice autorizzazione come Tipo di autorizzazione consentito e fare clic su Successivo.
-
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
. -
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
. -
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.
-
Fare clic su Fine.
-
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).
-
Fare clic su Attiva applicazione.
-
Copiare l'ID client e il segreto client che verranno utilizzati nella configurazione sul lato Oracle APEX.
Task 3: Creare una nuova credenziale Web nell'area di lavoro Oracle APEX
-
Aprire l'area di lavoro di Oracle APEX. Nell'applicazione creata nel task 1, fare clic su Oggetti condivisi.
-
Fare clic su Credenziali.
-
Fare clic su Crea.
-
Immettere le informazioni seguenti e fare clic su Crea.
Nota: utilizzare ID client e Segreto client dall'applicazione riservata nel task 2.
-
Assegnare un utente a questa applicazione.
Task 4: creare un nuovo schema di autenticazione in Oracle APEX per l'applicazione di esempio
-
Aprire l'area di lavoro di Oracle APEX e fare clic su Oggetti condivisi. In Sicurezza fare clic su Schemi di autenticazione e Crea.
-
Selezionare In base a uno schema preconfigurato dalla raccolta e fare clic su Avanti.
-
Immettere le informazioni seguenti e fare clic su Crea. L'URL di ricerca automatica sarà
https://[idcs-service-url]/.well-known/openid-configuration/
. -
Fare clic sullo schema di autenticazione - Corrente IDCS (Oracle Identity Cloud Service) creato.
-
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.
-
In Attributi di sicurezza aggiornare le informazioni e fare clic su Applica modifiche.
-
(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;
-
(Facoltativo utilizzato per il passo 7) In Elaborazione login, immettere le informazioni riportate di seguito e salvare.
Task 5: eseguire il test del login all'applicazione Oracle APEX
-
Fare clic su Pagina Esegui.
-
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.
-
Fare clic su Consenti.
Viene visualizzata la pagina di arrivo dell'applicazione.
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.
Collegamenti correlati
Riconoscimenti
- Autore - Aqib Javid Bhat (ingegnere senior del cloud)
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.
Integrate Oracle APEX with Oracle Cloud Infrastructure Identity and Access Management Identity Domains
F78523-02
May 2024