Riferimento integrazione tabelle applicazione database
Componenti delle tabelle dell'applicazione di database certificati per l'integrazione con Oracle Access Governance
Di seguito sono elencati i componenti delle tabelle applicazioni di database con cui è possibile eseguire l'integrazione.
Componenti certificati
| Tipo di componente | Componente |
|---|---|
| Requisiti specifici di Oracle | |
| Di sistema | Il sistema di destinazione può essere costituito da tabelle di database provenienti da uno dei seguenti RDBMS:
|
| JDK | JDK 1.6 o versione successiva |
| Requisiti specifici di Microsoft SQL Server | |
| Di sistema | Microsoft SQL Server 2016, 2017 |
| Driver JDBC | Per Microsoft SQL Server 2014: sqljdbc4 versione 4.0 |
| Requisiti specifici di Microsoft MySQL | |
| Di sistema | MySQL 5.x, MySQL 8.x |
| Driver JDBC | mysql-connector-java-5.1.12-bin |
| Requisiti generali | |
| Formato in cui vengono memorizzati i dati utente nel sistema |
È possibile utilizzare un connettore Tabelle applicazioni di database solo se i dati utente sono memorizzati nel sistema di destinazione in uno dei formati seguenti:
|
| Altri requisiti del sistema |
Il sistema deve soddisfare i requisiti indicati di seguito.
|
Modalità di configurazione supportate per le integrazioni delle tabelle dell'applicazione di database
Le integrazioni di Oracle Access Governance possono essere impostate in diverse modalità di configurazione a seconda delle esigenze di inserimento dei dati di identità e degli account di provisioning.
Modalità supportate
Database Application Tables Orchestrated System supporta le modalità riportate di seguito.
-
Origine affidabile
È possibile utilizzare le tabelle dell'applicazione di database come origine affidabile delle informazioni di identità per Oracle Access Governance, dove:
- Tutti i dati utente si trovano in un'unica tabella o vista OR
- Tutti i dati utente si trovano in una singola vista aggiornabile (basata su una o più tabelle)
-
Sistema gestito
È possibile gestire le autorizzazioni delle tabelle applicazioni di database dove:
- Tutti i dati utente si trovano in un'unica tabella o vista OR
- Tutti i dati utente si trovano in un'unica vista aggiornabile (basata su una o più tabelle) OPPURE
- I dati utente vengono distribuiti in una tabella padre e in una o più tabelle figlio. O
- I dati utente vengono distribuiti in una vista aggiornabile (basata su una o più tabelle) e in una o più viste figlio (basate su una o più tabelle).
Configurare un utente servizio con privilegi minimi
Configurare un utente di servizio con privilegi minimi per le tabelle dell'applicazione di database (Oracle)
Per abilitare una connessione sicura tra Oracle Access Governance e il database Oracle (Database Application Tables), è possibile creare un utente di servizio con i privilegi minimi necessari per configurare l'integrazione.
Autorizzazioni richieste per la modalità di origine affidabile
Se si configurano le tabelle dell'applicazione di database (Oracle) nel sistema orchestrato in modalità affidabile, è necessario concedere autorizzazioni di lettura all'utente del servizio sulla tabella contenente le identità, in modo che possano essere caricate in Oracle Access Governance. Il set minimo di autorizzazioni richiesto in questo caso è l'autorizzazione SELECT nella tabella contenente informazioni sull'identità o sulla persona.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; dove:-
MYDBAT_PERSON: tabella nel database Oracle (Database Application Tables) contenente le informazioni di identità. -
SERVICEUSER: l'utente dell'account di servizio.
Autorizzazioni necessarie per la modalità Sistema gestito
Se si configurano le tabelle dell'applicazione di database (Oracle) nel sistema orchestrato in modalità sistema gestito, è necessario concedere autorizzazioni di lettura e scrittura per le tabelle dei conti e delle autorizzazioni, per consentire la riconciliazione, la creazione, l'aggiornamento e l'eliminazione dei conti e delle autorizzazioni dei conti. Il set minimo di autorizzazioni richiesto in questo caso è SELECT, INSERT, UPDATE e DELETE nelle tabelle di autorizzazione dell'account e dell'account.
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_ROLES TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_GROUPS TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_ROLE TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_GROUP TO SERVICEUSER;
dove-
MYDBAT_PERSON: tabella nel database Oracle (Database Application Tables) contenente le informazioni sull'account. -
MYDBAT_ROLES: la tabella nel database Oracle (Database Application Tables) contiene informazioni sui ruoli. -
MYDBAT_GROUPS: tabella nel database Oracle (Database Application Tables) contenente informazioni di gruppo. -
MYDBAT_PERSON_ROLE: tabella nel database Oracle (Database Application Tables) contenente le informazioni sul ruolo delle persone. -
MYDBAT_PERSON_GROUP: tabella nel database Oracle (Database Application Tables) contenente informazioni sul ruolo di gruppo. -
SERVICEUSER: l'utente dell'account di servizio.
Autorizzazioni richieste per gli script personalizzati
Per sviluppare script personalizzati per operazioni sull'integrazione delle tabelle dell'applicazione di database (Oracle), come descritto in Sviluppo di script personalizzati per le tabelle dell'applicazione di database (Oracle) mediante Groovy, sarà necessario aggiungere le autorizzazioni a qualsiasi stored procedure o ad altri oggetti di database a cui viene fatto riferimento negli script personalizzati. Se si creano le stored procedure utilizzando l'utente del servizio, non è necessario richiedere autorizzazioni. Se le stored procedure o altri oggetti di database vengono creati in un altro utente, è necessario concedere le autorizzazioni in base alle esigenze.
GRANT EXECUTE ON MYDBAT_CUSTOMDEV.GET_USERROLE TO SERVICEUSER;dove:-
MYDBAT_CUSTOMDEV: l'utente utilizzato per creare la stored procedure. -
GET_USERROLEè il nome della stored procedure. -
SERVICEUSER: l'utente dell'account di servizio.
Configurare un utente di servizio con privilegi minimi per le tabelle dell'applicazione di database (MSSQL)
Per abilitare una connessione sicura tra Oracle Access Governance e il database MSSQL (Database Application Tables), è possibile creare un utente di servizio con i privilegi minimi necessari per configurare l'integrazione.
Autorizzazioni richieste per la modalità di origine affidabile
Se si configurano le tabelle dell'applicazione di database (MSSQL) nel sistema orchestrato in modalità affidabile, è necessario concedere autorizzazioni di lettura all'utente del servizio nella tabella contenente le identità, in modo che possano essere caricate in Oracle Access Governance. Il set minimo di autorizzazioni richiesto in questo caso è l'autorizzazione SELECT nella tabella contenente informazioni sull'identità o sulla persona.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; dove:-
MYDBAT_PERSON: la tabella nel database MSQL (Database Application Tables) contenente le informazioni di identità. -
SERVICEUSER: l'utente dell'account di servizio.
Autorizzazioni necessarie per la modalità Sistema gestito
Se si configura il sistema orchestrato delle tabelle applicazioni di database (MSSQL) in modalità sistema gestito, è necessario concedere autorizzazioni di lettura e scrittura per le tabelle dei conti e delle autorizzazioni, per consentire la riconciliazione, la creazione, l'aggiornamento e l'eliminazione dei conti e delle autorizzazioni dei conti. Il set minimo di autorizzazioni richiesto in questo caso è SELECT, INSERT, UPDATE e DELETE nelle tabelle di autorizzazione dell'account e dell'account.
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_ROLES TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_GROUPS TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_ROLE TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_GROUP TO SERVICEUSER;
dove-
MYDBAT_PERSON: la tabella nel database MSSQL (Database Application Tables) contiene informazioni sull'account. -
MYDBAT_ROLES: la tabella nel database MSSQL (Database Application Tables) contiene informazioni sul ruolo. -
MYDBAT_GROUPS: la tabella nel database MSSQL (Database Application Tables) contiene informazioni sul gruppo. -
MYDBAT_PERSON_ROLE: la tabella nel database delle tabelle dell'applicazione di database (MSSQL) contiene informazioni sul ruolo delle persone. -
MYDBAT_PERSON_GROUP: la tabella nel database MSSQL (Database Application Tables) contiene informazioni sul ruolo di gruppo. -
SERVICEUSER: l'utente dell'account di servizio.
Autorizzazioni richieste per gli script personalizzati
Se si desidera sviluppare script personalizzati per operazioni sull'integrazione di Database Application Tables (MSSQL), come descritto in Sviluppo di script personalizzati per tabelle di applicazioni di database (Oracle) mediante Groovy, sarà necessario aggiungere le autorizzazioni a qualsiasi stored procedure o ad altri oggetti di database a cui viene fatto riferimento negli script personalizzati. Se si creano le stored procedure utilizzando l'utente del servizio, non è necessario richiedere autorizzazioni. Se le stored procedure o altri oggetti di database vengono creati in un altro utente, è necessario concedere le autorizzazioni in base alle esigenze.
GRANT EXECUTE ON OBJECT::dbo.GET_USERROLE TO SERVICEUSER;dove:-
OBJECT::dbo: è l'oggetto di database Microsoft MSSQL. -
GET_USERROLEè il nome della stored procedure. -
SERVICEUSER: l'utente dell'account di servizio.
Configurare un utente di servizio con privilegi minimi per le tabelle dell'applicazione di database (MySQL)
Per abilitare una connessione sicura tra Oracle Access Governance e il database delle tabelle applicazioni di database (MySQL), è possibile creare un utente del servizio con i privilegi minimi necessari per configurare l'integrazione.
Autorizzazioni richieste per la modalità di origine affidabile
Se si configurano le tabelle dell'applicazione di database (MySQL) nel sistema orchestrato in modalità affidabile, è necessario concedere autorizzazioni di lettura all'utente del servizio nella tabella contenente le identità, in modo che possano essere caricate in Oracle Access Governance. Il set minimo di autorizzazioni richiesto in questo caso è l'autorizzazione SELECT nella tabella contenente informazioni sull'identità o sulla persona.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; dove:-
MYDBAT_PERSON: la tabella nel database delle tabelle dell'applicazione di database (MySQL) contiene informazioni sull'identità. -
SERVICEUSER: l'utente dell'account di servizio.
Autorizzazioni necessarie per la modalità Sistema gestito
Se si configurano le tabelle dell'applicazione di database (MySQL) nel sistema orchestrato in modalità sistema gestito, è necessario concedere autorizzazioni di lettura e scrittura per le tabelle dei conti e delle autorizzazioni, per consentire la riconciliazione, la creazione, l'aggiornamento e l'eliminazione dei conti e delle autorizzazioni dei conti. Il set minimo di autorizzazioni richiesto in questo caso è SELECT, INSERT, UPDATE e DELETE nelle tabelle di autorizzazione dell'account e dell'account.
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_ROLES TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_GROUPS TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_ROLE TO SERVICEUSER;
GRANT SELECT, INSERT, UPDATE, DELETE ON MYDBAT_PERSON_GROUP TO SERVICEUSER;
dove-
MYDBAT_PERSON: la tabella nel database delle tabelle dell'applicazione di database (MySQL) contiene informazioni sull'account. -
MYDBAT_ROLES: la tabella nel database delle tabelle dell'applicazione di database (MySQL) contiene informazioni sui ruoli. -
MYDBAT_GROUPS: la tabella nel database delle tabelle dell'applicazione del database (MySQL) contiene informazioni sul gruppo. -
MYDBAT_PERSON_ROLE: la tabella nel database delle tabelle dell'applicazione di database (MySQL) contiene informazioni sul ruolo delle persone. -
MYDBAT_PERSON_GROUP: la tabella nel database delle tabelle dell'applicazione di database (MySQL) contiene informazioni sul ruolo di gruppo. -
SERVICEUSER: l'utente dell'account di servizio.
Autorizzazioni richieste per gli script personalizzati
Se si desidera sviluppare script personalizzati per operazioni sull'integrazione delle tabelle dell'applicazione di database (MySQL), come descritto in Sviluppo di script personalizzati per tabelle dell'applicazione di database (Oracle) mediante Groovy, sarà necessario aggiungere le autorizzazioni a qualsiasi stored procedure o ad altri oggetti di database a cui viene fatto riferimento negli script personalizzati. Se si creano le stored procedure utilizzando l'utente del servizio, non è necessario richiedere autorizzazioni. Se le stored procedure o altri oggetti di database vengono creati in un altro utente, è necessario concedere le autorizzazioni in base alle esigenze.
GRANT EXECUTE ON MYSQLDB.GET_USERROLE TO 'SERVICEUSER';dove:-
MYSQLDB: il database MySQL in cui è stata creata la stored procedure. -
GET_USERROLEè il nome della stored procedure. -
SERVICEUSER: l'utente dell'account di servizio.
Operazioni supportate durante il provisioning nelle tabelle dell'applicazione di database
Quando si esegue il provisioning di un account da Oracle Access Governance alle tabelle dell'applicazione di database, sono supportate alcune operazioni.
- Crea account
- Abilita account
- Disabilita account
- Revoca conto
- Assegna permesso
- Rimuovi l'autorizzazione
Tipi di dati supportati
I tipi di dati supportati per le operazioni di riconciliazione e provisioning sono elencati nella sezione riportata di seguito.
Per il database Oracle
I tipi di dati supportati per le operazioni di riconciliazione e provisioning per un sistema orchestrato da Oracle Database sono riportati di seguito:
- VARCHAR2
- CARTA
- NUMERO
- NUMERICO
- INTEGER
- INT.
- SMALLINT
- DOPPIA
- FLOAT
- DECIMAL
- DEC
- REAL
- DATE
- INDICATORE DATA/ORA
Per Microsoft SQL Server
I tipi di dati supportati per le operazioni di riconciliazione e provisioning per un sistema orchestrato di database Microsoft SQL Server sono elencati di seguito.
- CARTA
- VARCHAR
- SMALLINT
- INT.
- BIGINT
- DECIMAL
- NUMERICO
- NVARCHAR
- FLOAT
- REAL
- DATA/ORA PICCOLE
- DATA/ORA
Per MySQL
I tipi di dati supportati per le operazioni di riconciliazione e provisioning per un sistema orchestrato di database MySQL sono i seguenti:
- BOOL
- SMALLINT
- MEDIO
- INT.
- BIGINT
- FLOAT
- DOPPIA
- DECIMAL
- CARTA
- VARCHAR
- TINYTEXT
- DATE
- DATA/ORA
- INDICATORE DATA/ORA
Attributi supportati predefiniti
Poiché l'integrazione delle tabelle dell'applicazione di database richiede la ricerca automatica dello schema e lo schema trovato non è corretto, non esistono attributi supportati predefiniti specifici. È possibile modificare schema.json per aggiungere attributi di base e personalizzati in base alle esigenze. Come minimo, è necessario includere gli attributi uid e name necessari per un'identità di Oracle Access Governance come definito in Attributi di identità di base.
Regole di corrispondenza predefinite
Per mappare gli account alle identità in Oracle Access Governance, è necessario disporre di una regola di corrispondenza per ogni sistema orchestrato.
La regola di corrispondenza predefinita per il sistema orchestrato delle tabelle dell'applicazione di database è:
| Modalità | Regola di corrispondenza predefinita |
|---|---|
|
Origine autorevole
Verifica della corrispondenza delle identità se le identità in entrata corrispondono a un'identità esistente o sono nuove |
Valore schermata:
Nome attributo:
|
|
Sistema gestito
Verifica della corrispondenza degli account se gli account in entrata corrispondono alle identità esistenti. |
Valore schermata:
Nome attributo:
|
Linee guida tabella applicazioni database
Quando si utilizzano le tabelle di accesso al database con Oracle Access Governance, è necessario prendere in considerazione le linee guida riportate di seguito nella progettazione e nella struttura delle tabelle.
Linee guida generali
- Le colonne Nome e Chiave per qualsiasi entità devono essere configurate come NOT NULL.
- Per un'entità specifica, è possibile configurare la stessa colonna di database come Nome e Chiave. È inoltre possibile utilizzare colonne diverse per queste, se necessario.
- Qualsiasi attributo di base incluso nell'entità ACCOUNT deve essere conforme alle seguenti regole:
- Il tipo di dati della colonna deve essere compatibile con il tipo di dati lato Oracle Access Governance.
- Qualsiasi attributo configurato come
"nature":["REQUIRED"]nel file JSON dello schema deve corrispondere a un campo di database NOT NULL.
- Le tabelle ENTITLEMENT e LOOKUP devono avere un vincolo di chiave primaria sulle colonne chiave.
- Se le colonne correlate nelle tabelle ENTITLEMENT e LOOKUP corrispondono, non è necessario definire una relazione di chiave esterna tra le tabelle ACCOUNT/TARGETACCOUNT e le tabelle ENTITLEMENT e LOOKUP. Per ulteriori informazioni, vedere la sezione seguente.
Relazioni tabella
CREATE TABLE MYDBAT_PERSON
(USERID VARCHAR2 NOT NULL ENABLE,
USERNAME VARCHAR2 NOT NULL ENABLE,
FIRSTNAME VARCHAR2,
LASTNAME VARCHAR2,
EMAIL VARCHAR2 NOT NULL ENABLE,
HOMECOUNTRY VARCHAR2,
FOREIGN KEY (HOMECOUNTRY) REFERENCES MYDBAT_COUNTRY(COUNTRYCODE));
CREATE TABLE MYDBAT_COUNTRY
(COUNTRYCODE VARCHAR2 NOT NULL ENABLE,
COUNTRYNAME VARCHAR2 NOT NULL ENABLE,
CONSTRAINT MYDBAT_COUNTRY_PK PRIMARY KEY (COUNTRYCODE)
CREATE TABLE MYDBAT_PERSON
(USERID VARCHAR2 NOT NULL ENABLE,
USERNAME VARCHAR2 NOT NULL ENABLE,
FIRSTNAME VARCHAR2,
LASTNAME VARCHAR2,
EMAIL VARCHAR2 NOT NULL ENABLE,
COUNTRYCODE VARCHAR2);
CREATE TABLE MYDBAT_COUNTRY
(COUNTRYCODE VARCHAR2 NOT NULL ENABLE,
COUNTRYNAME VARCHAR2 NOT NULL ENABLE,
CONSTRAINT MYDBAT_COUNTRY_PK PRIMARY KEY (COUNTRYCODE)
CREATE TABLE MYDBAT_PERSON
(USERID VARCHAR2 NOT NULL ENABLE,
USERNAME VARCHAR2 NOT NULL ENABLE,
FIRSTNAME VARCHAR2,
LASTNAME VARCHAR2,
EMAIL VARCHAR2 NOT NULL ENABLE,
HOMECOUNTRY VARCHAR2);
CREATE TABLE MYDBAT_COUNTRY
(COUNTRYCODE VARCHAR2 NOT NULL ENABLE,
COUNTRYNAME VARCHAR2 NOT NULL ENABLE,
CONSTRAINT MYDBAT_COUNTRY_PK PRIMARY KEY (COUNTRYCODE)
Gli stessi principi descritti in precedenza per la relazione tra un utente e una ricerca si applicherebbero quando si definiscono le tabelle per la relazione tra un utente e le abilitazioni.
Associa attributo identità ad attributo account
È possibile associare un attributo di identità a un attributo di account modificando le impostazioni degli attributi di account.
- Connettersi alla console di Oracle Access Governance e andare a Service Administration → Orchestrated Systems.
- Selezionare Gestisci integrazione per il sistema orchestrato DBAT in cui si desidera associare un attributo di identità a un attributo di account.
- Selezionare Gestisci dalla casella Attributi conto.
- Per l'attributo conto che si desidera mappare, selezionare Modifica attributo identità associato dal menu Azioni.
- Selezionare l'attributo di identità che si desidera associare all'attributo account e fare clic su Salva. Il valore verrà ora visualizzato nelle colonne Attributo identità associato per l'attributo account.
Supporto dell'affiliazione DBAT per attributi identità con più valori personalizzati
I sistemi orchestrati DBAT forniscono supporto per i dati di affiliazione attraverso l'implementazione di attributi multivalore personalizzati (completi).
L'affiliazione viene abilitata aggiungendo una tabella personalizzata per l'affiliazione richiesta e collegandola alla tabella dei conti. Ad esempio, è possibile disporre di una tabella dei conti Utenti simile alla seguente:
| USER_ID | USER_NAME | FIRST_NAME | LAST_NAME | STATO | |
|---|---|---|---|---|---|
| 1 | USR001 | Utente | uno | userone@email.com | ATTIVO |
| 2 | USR002 | Utente | Due | usertwo@email.com | ATTIVO |
Successivamente, è necessario creare una tabella personalizzata per l'affiliazione che si desidera rappresentare. Ad esempio, potrebbe essere necessario disporre di un'affiliazione che consenta di assegnare più titoli mansione a un'identità. A tale scopo, creare una tabella Job simile alla seguente:
| CODICE LAVORO | USER_ID | NOME MANSIONE | DESCRIZIONE |
|---|---|---|---|
| JB001 | 1 | Un lavoro | Questo è un lavoro |
| 1 | Altra mansione | Questo è un altro lavoro | |
| 2 | Un nuovo job | Questo è un nuovo lavoro |
La tabella Conto è collegata direttamente alla tabella Affiliazione mediante la chiave primaria composta (USER_ID, JOBCODE).
Infine, è necessario aggiungere l'affilazione al riempimento schema.json come mostrato nello snippet seguente.
[
{
"type": "ACCOUNT",
"name": "ACCOUNT",
"displayName": "Account",
"attributes": [
{
"name": "JOBS",
"targetName": "JOBS",
"displayName": "",
"dataType": "",
"nature": ["MULTIVALUED"],
"usage": [
"READ"
],
"relationship": {
"relatedTo": "__CUSTOM_COMPLEX__", // Indicates the custom relationship
"relatedBy": "",
"relationshipProperties": [
{
"name": "JOBCODE",
"dataType": "TEXT",
"nature": ["REQUIRED"]
},
{
"name": "JOBNAME",
"dataType": "TEXT",
"nature": ["REQUIRED"]
},
{
"name": "DESCRIPTION",
"dataType": "TEXT",
"nature": []
}
]
}
}
]
}
]
Includere il nome di questa tabella insieme ad altre tabelle di affiliazione nelle impostazioni di integrazione. Per ulteriori informazioni, vedere Affiliazioni.