Provisioning e deprovisioning degli utenti del database Oracle
Che cos'è Oracle Database User Provisioning?
Provisioning degli utenti del database Oracle è una soluzione automatizzata per Gestione dell'accesso all'identità (IAM) e manutenzione dei dati degli utenti su varie istanze di Oracle DB (11g, 12c, 18c+). In Database Oracle vettovagliamento, ogni volta che un utente viene creato (nuova assunzione), aggiornato (cambio di ruolo) o eliminato (licenziamento) dal database, l'accesso Oracle Database pertinente viene automaticamente sincronizzato con la Directory Esterna e le applicazioni integrate concedono autorizzazioni e accesso in base all'ultima modifica. La sincronizzazione degli utenti e la sincronizzazione dei dati sono le principali funzionalità di provisioning degli utenti.
Il deprovisioning comporta la rimozione automatica dei privilegi di accesso degli utenti da tutte le risorse e servizi quali Active Directory, Google, AWS o da diverse applicazioni downstream integrate e sistemi mirati ogni volta che un utente viene eliminato dal database. Il deprovisioning degli utenti di Oracle DB aiuta a mitigare i gravi rischi per la sicurezza dell'accesso non autorizzato a miniOrange fornisce il deprovisioning automatico degli utenti di Oracle Database degli account utente quando l'utente lascia il team o l'organizzazione.
Questa guida dettagliata ti aiuterà a configurare il provisioning degli utenti per Oracle Database , automatizzando il provisioning in tutte le applicazioni integrate.
Provisioning degli utenti tra miniOrange e database diversi
Ci sono tre parti principali per configurare la sincronizzazione utente tra Oracle DB e miniOrange IdP. Sono le seguenti:
- A: Aggiungere uno qualsiasi dei tuoi database Oracle come directory esterna in miniOrange IdP
- B: Configurazione delle query per il provisioning degli utenti
- C: Configurazione del provisioning degli utenti e del mapping degli attributi
Considerate il seguente schema per impostare il provisioning/deprovisioning degli utenti del database Oracle. Abbiamo utilizzato questo schema per illustrare come configurare le opzioni per un database semplice. Potete utilizzare questo esempio per configurare il vostro database Oracle come Directory esterna in miniOrange.
Configurazione di esempio:
| Tipo di database |
Oracle DB 12c |
| Nome del database |
APPLICAZIONI |
| URL JDBC del database (per Oracle) |
jdbc:oracle:thin:@serverdomain:1521/APPSDB |
| Tabella in cui sono archiviate le informazioni dell'utente |
UTENTI |
Descrizione della tabella UTENTI:
| Column |
Tipo |
Descrizione |
| USERNAME |
VARCHAR |
Colonna Nome utente |
| PASSWORD |
VARCHAR |
Memorizza la password dell'utente; memorizzerà la password predefinita durante la creazione dell'utente |
| NOME DI BATTESIMO |
VARCHAR |
Nome dell'utente |
| COGNOME |
VARCHAR |
Cognome dell'utente |
| INDIRIZZO E-MAIL |
VARCHAR |
Indirizzo email dell'utente |
A. Aggiungere Oracle Database come directory esterna in miniOrange IdP
- Fare riferimento ai passaggi 1-3 da questo documento. per aggiungere il tuo database Oracle.
B. Configurare le query di provisioning degli utenti per Oracle Database
Il provisioning degli utenti può essere configurato in due direzioni: in entrata (ad esempio dal tuo Oracle DB a miniOrange) e in uscita (da miniOrange al tuo Oracle DB).
Il provisioning in entrata si occupa dell'importazione degli utenti, mentre l'outbound si occupa della creazione/eliminazione/aggiornamento degli utenti. In entrambi i casi, è necessario il mapping degli attributi. Il mapping degli attributi tra le colonne del database e gli attributi miniOrange IdP viene eseguito tramite una notazione speciale. I valori delle colonne vengono dedotti dal miniOrange IdP tramite questa notazione.
- Per configurare il provisioning degli utenti per il tuo database Oracle, dovrai prima andare alla sezione Directory esterna. Qui, vedrai l'elenco delle Directory esterne configurate.
- Fare clic sul menu a discesa vicino al database Oracle configurato e selezionare Modifica.

- Verrà aperta la pagina di modifica della directory esterna configurata.

- Ora sei pronto per configurare tutte le funzionalità di provisioning richieste.
1. Importa utenti
- Questo è un esempio di provisioning in entrata. Gli utenti vengono importati dal database nella directory esterna predefinita di miniOrange. Gli attributi da selezionare sono specificati nella sezione attributi di Database come archivio utente. Per ogni attributo (tranne username e password) che si desidera importare e mappare a un utente nell'archivio utente predefinito di miniOrange, è necessario specificare una query SELECT.
- Non è necessario specificare una query SELECT per i valori delle colonne nome utente e password; vengono importati automaticamente utilizzando i nomi di colonna utilizzati durante la configurazione del database come archivio utenti.
- Nella pagina di modifica dell'archivio utenti, scorri verso il basso fino a visualizzare l'opzione per aggiungere attributi al database.

- Aggiungi tutti i campi di input che ti servono. Per questo esempio, abbiamo 3 colonne del database - FIRSTNAME, LASTNAME e EMAIL_ADDRESS - escludendo le colonne USERNAME e PASSWORD. Le query per queste colonne saranno le seguenti:
- Query per Nome →
SELECT ‘##FIRSTNAME##’, FIRSTNAME FROM USERS WHERE USERNAME=?
- Query per Cognome →
SELECT ‘##LASTNAME##’, LASTNAME FROM USERS WHERE USERNAME=?
- Richiesta indirizzo email →
SELECT ‘##EMAIL_ADDRESS##’, EMAIL_ADDRESS FROM USERS WHERE USERNAME=?
- La notazione [ '##COLUMN_NAME##', COLUMN_NAME ] nella query indica a miniOrange che questo campo deve essere popolato con il valore della colonna dal database, in base all'identificativo univoco del nome utente.
- Dopo aver aggiunto le query, la configurazione dovrebbe apparire così:

2. Controlla gli utenti
- Questa query viene utilizzata per verificare se un particolare utente esiste già nel database. Un utente che esiste già nel database non verrà creato di nuovo. La struttura di questa query dovrebbe essere tale da verificare tutte le colonne nella tabella che definiscono un utente distinto.

- Nel nostro esempio confronteremo il valore della colonna USERNAME con il campo pertinente in miniOrange:
SELECT * FROM USERS WHERE USERNAME='##USERNAME##'

3. Crea utente
- Queste query creano un utente nel database ogni volta che un utente viene creato in miniOrange. La query dovrebbe contenere i nomi di colonna appropriati. Qui, la password è impostata su una stringa predefinita (che deve essere modificata in seguito).
- Queste query utilizzano la stessa notazione per specificare gli attributi che devono essere mappati da miniOrange IdP a Oracle DB. Questo è un esempio di provisioning in uscita.

- Nel nostro esempio, sincronizzeremo username, firstname, lastname e indirizzo email dell'utente appena creato da miniOrange al database. Passeremo una stringa di password predefinita ('defaultPassword123#') a Oracle DB:
INSERT INTO USERS (USERNAME, PASSWORD, FIRSTNAME, LASTNAME, EMAIL_ADDRESS) VALUES
('##USERNAME##', 'defaultPassword123#', '##FIRSTNAME##','##LASTNAME##','##EMAIL_ADDRESS##')

- In questo esempio, le stringhe [ '##USERNAME##', '##FIRSTNAME##', '##LASTNAME##' ] verranno sostituite dai valori username, firstname e lastname del nuovo utente creato in miniOrange.
4. Aggiorna utente
- Queste query aggiornano un utente nel database ogni volta che i dettagli utente rilevanti vengono modificati in miniOrange. Questo è un esempio di provisioning in uscita.

- In questo esempio, tutti i campi per un utente specifico vengono aggiornati nel database quando viene attivato un aggiornamento in miniOrange. Il valore username è immutabile in miniOrange, quindi è stato utilizzato nella clausola WHERE:
UPDATE USERS SET FIRSTNAME='##FIRSTNAME##', LASTNAME='##LASTNAME##',EMAIL_ADDRESS='##EMAIL_ADDRESS##' WHERE USERNAME='##USERNAME##'
- In questo esempio, vengono aggiornati solo i dettagli degli utenti il cui nome utente è lo stesso sia in miniOrange che nel database.
5. Elimina utenti
- Queste query eliminano un utente dal database ogni volta che un utente viene eliminato in miniOrange. Questo è un esempio di provisioning in uscita.

- In questo esempio, elimineremo dal database quegli utenti il cui valore della colonna nome utente corrisponde al valore del campo nome utente in miniOrange:
DELETE FROM USERS WHERE USERNAME='##USERNAME##'

- In questo esempio, vengono eliminati dal database solo gli utenti il cui nome utente, nome e cognome corrispondono esattamente sia nel database che in miniOrange.
Dopo aver inserito i valori richiesti, scorri verso il basso e fai clic su Salva per salvare la configurazione corrente.
C. Configurare il provisioning degli utenti e la mappatura degli attributi
Abbiamo impostato con successo il nostro Oracle DB come Directory Esterna e inserito tutte le query per il provisioning in entrata e in uscita. Ora, dobbiamo configurare la sezione di provisioning utente per attivare il provisioning utente per il nostro database.
1. Imposta Oracle Database come directory esterna predefinita
- Vai alla sezione Directory esterna. Ti verrà mostrato un elenco di tutte le tue Directory esterne configurate. Controlla se riesci a vedere la Directory esterna che hai impostato nella Parte A.
- Fare clic sul menu a discesa per la voce del database e selezionare Rendere predefinito.

- Una volta fatto questo, dovresti vedere il seguente messaggio di conferma e il tuo database verrà contrassegnato come directory esterna predefinita.

2. Passare alla sezione provisioning utente.
- Seleziona vettovagliamento nella barra di navigazione a sinistra.
- Dal menu a tendina, seleziona Banca Dati.
- Dovresti essere in grado di vedere gli attributi del database che abbiamo configurato nella Parte B. Questi attributi del database non sono ancora mappati, quindi i valori della colonna 'Attributi miniOrange' saranno vuoti.
3. Mappare gli attributi del database ai rispettivi nomi di campo in miniOrange
- Gli attributi del database Oracle possono essere mappati su 3 diversi tipi di attributi:
- Attributi predefiniti del profilo utente
- Attributi del profilo utente personalizzato
- Attributi personalizzati
- In questo esempio, tutti i campi configurati per il nostro database vengono mappati sugli attributi predefiniti del profilo utente.

- L'elenco degli attributi predefiniti viene visualizzato quando un attributo del database viene mappato a un attributo del profilo utente predefinito:

- Mappa tutti gli attributi richiesti ai loro valori nel miniOrange IdP. Ecco come apparirà la mappatura per il nostro esempio.

4. Abilitare le funzionalità di provisioning
- Qui devi scegliere quali funzionalità di provisioning desideri abilitare per il tuo database Oracle.
- Puoi scegliere alcune o tutte queste funzionalità, a seconda delle tue esigenze. Per questo esempio, sceglieremo le funzionalità di provisioning inbound e outbound di base:

5. Salvare la configurazione del database
- Una volta mappati gli attributi del tuo database agli attributi miniOrange IdP e abilitate le funzionalità desiderate, puoi procedere e salvare questa configurazione. Se tutto è configurato correttamente, dovresti vedere il seguente messaggio di successo:

6. Configurazione di prova
- Puoi testare la tua configurazione eseguendo una delle azioni per cui hai abilitato la funzionalità di provisioning. In questo esempio, la testeremo importando uno qualsiasi dei tuoi utenti del database Oracle in miniOrange.
- Inizialmente, questi sono gli utenti presenti nel database:

- E questi sono gli utenti presenti in miniOrange:

- Ora importeremo gli utenti da Oracle DB in miniOrange. Vai su Provisioning → Import Users e seleziona Banca Dati dal menu a discesa.

- Fare clic su ImportareSe la configurazione è stata impostata correttamente, dovresti vedere il seguente messaggio: Importazione utenti riuscita
- Puoi verificare se l'importazione è andata a buon fine andando su Utenti → Elenco utenti
Visualizza i report di provisioning
Come accedere ai report di provisioning?
- Accedere a Report nel riquadro di navigazione a sinistra, cerca vettovagliamentoe selezionare Rapporto di provisioning.

- Filtra i report specificando Identificatore dell'utente finale and Nome dell'applicazione criteri. Inoltre, scegli il desiderato arco di tempo per i report. Una volta fatto, clicca su Cerca.

- In alternativa, puoi cliccare direttamente su Cerca per recuperare tutti i report di provisioning in base al tempo senza applicare filtri specifici.
Risorse addizionali