Référence d'intégration des tables d'application de base de données
Composants de tables d'application de base de données certifiés pour l'intégration à Oracle Access Governance
Les composants Database Application Tables que vous pouvez intégrer sont répertoriés ci-dessous.
Composants certifiés
| Type de composant | Composant |
|---|---|
| Exigences spécifiques à Oracle | |
| Système | Le système cible peut être une table de base de données à partir de l'un des SGBDR suivants :
|
| JDK | JDK 1.6 ou version ultérieure |
| Exigences spécifiques à Microsoft SQL Server | |
| Système | Microsoft SQL Server 2016, 2017 |
| Pilotes JDBC | Pour Microsoft SQL Server 2014 : sqljdbc4 version 4.0 |
| Exigences spécifiques de Microsoft MySQL | |
| Système | MySQL 5.x, MySQL 8.x |
| Pilotes JDBC | mysql-connector-java-5.1.12-bin |
| Conditions générales | |
| Format dans lequel les données utilisateur sont stockées dans le système |
Vous ne pouvez utiliser un connecteur Database Application Tables que si les données utilisateur sont stockées dans le système cible dans l'un des formats suivants :
|
| Autres exigences du système |
Le système doit répondre aux exigences suivantes :
|
Modes de configuration pris en charge pour les intégrations de tables d'application de base de données
Les intégrations Oracle Access Governance peuvent être configurées dans différents modes de configuration en fonction de vos besoins en matière de données d'identité d'intégration et de comptes de provisionnement.
Modes pris en charge
Le système orchestré de tables d'application de base de données prend en charge les modes suivants :
-
Source faisant autorité
Vous pouvez utiliser les tables d'application de base de données comme source d'informations d'identité faisant autorité (de confiance) pour Oracle Access Governance dans les cas suivants :
- Toutes les données utilisateur se trouvent dans une seule table ou vue OU
- Toutes les données utilisateur se trouvent dans une vue unique pouvant être mise à jour (basée sur une ou plusieurs tables).
-
Système géré
Vous pouvez gérer les droits d'accès Database Application Tables dans les cas suivants :
- Toutes les données utilisateur se trouvent dans une seule table ou vue OU
- Toutes les données utilisateur se trouvent dans une vue unique pouvant être mise à jour (basée sur une ou plusieurs tables) OU
- Les données utilisateur sont réparties entre une table parent et une ou plusieurs tables enfant. OU
- Les données utilisateur sont réparties entre une vue pouvant être mise à jour (qui repose sur une ou plusieurs tables) et une ou plusieurs vues enfant (qui sont basées sur une ou plusieurs tables).
Configuration d'un utilisateur de service avec privilèges minimum
Configurer un utilisateur de service avec privilèges minimum pour les tables d'application de base de données (Oracle)
Pour activer une connexion sécurisée entre Oracle Access Governance et la base de données Database Application Tables (Oracle), vous pouvez créer un utilisateur de service disposant des privilèges minimum requis pour configurer l'intégration.
Autorisations requises pour le mode source faisant autorité
Si vous configurez votre système orchestré Database Application Tables (Oracle) en mode faisant autorité, vous devez accorder des droits d'accès en lecture à votre utilisateur de service sur la table contenant vos identités, afin qu'ils puissent être chargés dans Oracle Access Governance. Dans ce cas, l'ensemble minimal de droits d'accès requis est le droit d'accès SELECT sur la table contenant les informations d'identité ou de personne.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; où :-
MYDBAT_PERSON: table de la base de données Oracle Database Application Tables contenant les informations d'identité. -
SERVICEUSER: utilisateur du compte de service.
Droits d'accès requis pour le mode Système géré
Si vous configurez votre système orchestré Database Application Tables (Oracle) en mode système géré, vous devez accorder des droits d'accès en lecture et en écriture pour les tables de comptes et les tables de droits d'accès, afin de permettre le rapprochement, la création, la mise à jour et la suppression de comptes et de droits d'accès de compte. L'ensemble minimal de droits d'accès requis dans ce cas est le droit d'accès SELECT, INSERT, UPDATE et DELETE sur les tables de droits d'accès de compte et de compte.
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;
où-
MYDBAT_PERSON: table de la base de données Oracle Database Application Tables contenant les informations de compte. -
MYDBAT_ROLES: table de la base de données Oracle Database Application Tables contenant les informations sur les rôles. -
MYDBAT_GROUPS: table de la base de données Oracle Database Application Tables contenant les informations de groupe. -
MYDBAT_PERSON_ROLE: table de la base de données Oracle Database Application Tables contenant des informations sur les rôles de personnes. -
MYDBAT_PERSON_GROUP: table de la base de données Oracle Database Application Tables contenant des informations sur les rôles de groupe. -
SERVICEUSER: utilisateur du compte de service.
Droits d'accès requis pour les scripts personnalisés
Pour développer des scripts personnalisés pour les opérations sur l'intégration des tables d'application de base de données (Oracle), comme décrit dans Développement de scripts personnalisés pour les tables d'application de base de données (Oracle) à l'aide de Groovy, vous devez ajouter des droits d'accès aux procédures stockées ou aux autres objets de base de données référencés dans les scripts personnalisés. Si vous créez les procédures stockées à l'aide de l'utilisateur de service, vous ne devez pas exiger de droits d'accès. Si des procédures stockées ou d'autres objets de base de données sont créés dans un autre utilisateur, vous devez accorder les droits d'accès appropriés.
GRANT EXECUTE ON MYDBAT_CUSTOMDEV.GET_USERROLE TO SERVICEUSER;où :-
MYDBAT_CUSTOMDEV: utilisateur que vous avez utilisé pour créer la procédure stockée. -
GET_USERROLEest le nom de la procédure stockée. -
SERVICEUSER: utilisateur du compte de service.
Configurer un utilisateur de service avec privilèges minimaux pour les tables d'application de base de données (MSSQL)
Pour activer une connexion sécurisée entre Oracle Access Governance et la base de données MSSQL (Database Application Tables), vous pouvez créer un utilisateur de service disposant des privilèges minimum requis pour configurer l'intégration.
Autorisations requises pour le mode source faisant autorité
Si vous configurez votre système orchestré Database Application Tables (MSSQL) en mode faisant autorité, vous devez accorder des droits d'accès en lecture à l'utilisateur de service sur la table contenant vos identités, afin qu'ils puissent être chargés dans Oracle Access Governance. Dans ce cas, l'ensemble minimal de droits d'accès requis est le droit d'accès SELECT sur la table contenant les informations d'identité ou de personne.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; où :-
MYDBAT_PERSON: table de la base de données MSSQL (Database Application Tables) contenant les informations d'identité. -
SERVICEUSER: utilisateur du compte de service.
Droits d'accès requis pour le mode Système géré
Si vous configurez votre système orchestré Database Application Tables (MSSQL) en mode système géré, vous devez accorder des droits d'accès en lecture et en écriture pour les tables de comptes et les tables de droits d'accès, afin de permettre le rapprochement, la création, la mise à jour et la suppression de comptes et de droits d'accès de compte. L'ensemble minimal de droits d'accès requis dans ce cas est le droit d'accès SELECT, INSERT, UPDATE et DELETE sur les tables de droits d'accès de compte et de compte.
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;
où-
MYDBAT_PERSON: table de la base de données MSSQL (Database Application Tables) contenant les informations de compte. -
MYDBAT_ROLES: table de la base de données MSSQL (Database Application Tables) contenant des informations sur les rôles. -
MYDBAT_GROUPS: table de la base de données MSSQL (Database Application Tables) contenant les informations de groupe. -
MYDBAT_PERSON_ROLE: table de la base de données MSSQL (Database Application Tables) contenant des informations sur les rôles de personnes. -
MYDBAT_PERSON_GROUP: table de la base de données MSSQL (Database Application Tables) contenant des informations sur les rôles de groupe. -
SERVICEUSER: utilisateur du compte de service.
Droits d'accès requis pour les scripts personnalisés
Si vous souhaitez développer des scripts personnalisés pour les opérations sur l'intégration MSSQL (Database Application Tables) comme décrit dans Développement de scripts personnalisés pour les tables d'application de base de données (Oracle) à l'aide de Groovy, vous devez ajouter des droits d'accès aux procédures stockées ou aux autres objets de base de données référencés dans vos scripts personnalisés. Si vous créez les procédures stockées à l'aide de l'utilisateur de service, vous ne devez pas exiger de droits d'accès. Si des procédures stockées ou d'autres objets de base de données sont créés dans un autre utilisateur, vous devez accorder les droits d'accès appropriés.
GRANT EXECUTE ON OBJECT::dbo.GET_USERROLE TO SERVICEUSER;où :-
OBJECT::dbo: objet de base de données Microsoft MSSQL. -
GET_USERROLEest le nom de la procédure stockée. -
SERVICEUSER: utilisateur du compte de service.
Configuration d'un utilisateur de service avec privilèges minimum pour les tables d'application de base de données (MySQL)
Pour activer une connexion sécurisée entre Oracle Access Governance et la base de données Database Application Tables (MySQL), vous pouvez créer un utilisateur de service disposant des privilèges minimum requis pour configurer l'intégration.
Autorisations requises pour le mode source faisant autorité
Si vous configurez le système orchestré Database Application Tables (MySQL) en mode faisant autorité, vous devez accorder des droits d'accès en lecture à l'utilisateur de service sur la table contenant vos identités, afin qu'ils puissent être chargés dans Oracle Access Governance. Dans ce cas, l'ensemble minimal de droits d'accès requis est le droit d'accès SELECT sur la table contenant les informations d'identité ou de personne.
GRANT SELECT ON MYDBAT_PERSON TO SERVICEUSER; où :-
MYDBAT_PERSON: table de la base de données Database Application Tables (MySQL) contenant les informations d'identité. -
SERVICEUSER: utilisateur du compte de service.
Droits d'accès requis pour le mode Système géré
Si vous configurez votre système orchestré Database Application Tables (MySQL) en mode système géré, vous devez accorder des droits d'accès en lecture et en écriture pour les tables de comptes et les tables de droits d'accès, afin de permettre le rapprochement, la création, la mise à jour et la suppression de comptes et de droits d'accès de compte. L'ensemble minimal de droits d'accès requis dans ce cas est le droit d'accès SELECT, INSERT, UPDATE et DELETE sur les tables de droits d'accès de compte et de compte.
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;
où-
MYDBAT_PERSON: table de la base de données Database Application Tables (MySQL) contenant les informations de compte. -
MYDBAT_ROLES: table de la base de données Database Application Tables (MySQL) contenant des informations sur les rôles. -
MYDBAT_GROUPS: table de la base de données Database Application Tables (MySQL) contenant les informations de groupe. -
MYDBAT_PERSON_ROLE: table de la base de données Database Application Tables (MySQL) contenant des informations sur les rôles de personnes. -
MYDBAT_PERSON_GROUP: table de la base de données Database Application Tables (MySQL) contenant des informations sur les rôles de groupe. -
SERVICEUSER: utilisateur du compte de service.
Droits d'accès requis pour les scripts personnalisés
Pour développer des scripts personnalisés pour les opérations sur l'intégration des tables d'application de base de données (MySQL), comme décrit dans Développement de scripts personnalisés pour les tables d'application de base de données (Oracle) à l'aide de Groovy, vous devez ajouter des droits d'accès aux procédures stockées ou aux autres objets de base de données référencés dans vos scripts personnalisés. Si vous créez les procédures stockées à l'aide de l'utilisateur de service, vous ne devez pas exiger de droits d'accès. Si des procédures stockées ou d'autres objets de base de données sont créés dans un autre utilisateur, vous devez accorder les droits d'accès appropriés.
GRANT EXECUTE ON MYSQLDB.GET_USERROLE TO 'SERVICEUSER';où :-
MYSQLDB: base de données MySQL dans laquelle vous avez créé la procédure stockée. -
GET_USERROLEest le nom de la procédure stockée. -
SERVICEUSER: utilisateur du compte de service.
Opérations prises en charge lors du provisionnement des tables d'application de base de données
Lorsque vous provisionnez un compte d'Oracle Access Governance vers des tables d'application de base de données, certaines opérations sont prises en charge.
- Créer un compte
- Activer le compte
- Désactiver le compte
- Révoquer le compte
- Affecter un droit d'accès
- Retirer l'autorisation
Types de données pris en charge
Les types de données pris en charge pour les opérations de rapprochement et de provisionnement sont répertoriés dans la section suivante :
Pour Oracle Database
Les types de données pris en charge pour les opérations de rapprochement et de provisionnement d'un système orchestré Oracle Database sont les suivants :
- VARCHAR2
- CHAR
- NUMBER
- NUMERIC
- INTEGER
- INT
- SMALLINT
- DOUBLE
- FLOAT
- DECIMAL
- Déc.
- REAL
- DATE
- TIMESTAMP
Pour Microsoft SQL Server
Les types de données pris en charge pour les opérations de rapprochement et de provisionnement d'un système orchestré de base de données Microsoft SQL Server sont les suivants :
- CHAR
- VARCHAR
- SMALLINT
- INT
- BIGINT
- DECIMAL
- NUMERIC
- NVARCHAR
- FLOAT
- REAL
- SMALLDATETIME
- DATETIME
Pour MySQL
Les types de données pris en charge pour les opérations de rapprochement et de provisionnement d'un système orchestré de base de données MySQL sont les suivants :
- BOOL
- SMALLINT
- MEDIUMINT
- INT
- BIGINT
- FLOAT
- DOUBLE
- DECIMAL
- CHAR
- VARCHAR
- TINYTEXT
- DATE
- DATETIME
- TIMESTAMP
Attributs pris en charge par défaut
Etant donné que l'intégration des tables d'application de base de données nécessite le repérage de schéma et que le schéma repéré n'est pas corrigé, il n'existe aucun attribut pris en charge par défaut spécifique en tant que tel. Vous pouvez modifier schema.json pour ajouter des attributs de base et personnalisés, le cas échéant. Vous devez inclure au minimum les attributs uid et name requis pour une identité Oracle Access Governance telle que définie dans Attributs d'identité de base.
Règles de correspondance par défaut
Pour mettre en correspondance des comptes avec des identités dans Oracle Access Governance, vous devez disposer d'une règle de mise en correspondance pour chaque système orchestré.
La règle de correspondance par défaut pour le système orchestré Tables d'application de base de données est la suivante :
| Mode | Règle de correspondance par défaut |
|---|---|
|
Source faisant autorité
Vérification de la correspondance des identités si les identités entrantes correspondent à une identité existante ou sont nouvelles |
Valeur d'écran :
Nom d'attribut :
|
|
Système géré
La mise en correspondance des comptes vérifie si les comptes entrants correspondent aux identités existantes. |
Valeur d'écran :
Nom d'attribut :
|
Instructions relatives aux tables d'application de base de données
Lorsque vous utilisez des tables d'accès à la base de données avec Oracle Access Governance, vous devez tenir compte des directives suivantes dans la conception et la structure de vos tables.
Instructions générales
- Les colonnes Nom et Clé d'une entité doivent être configurées avec la valeur NOT NULL.
- Pour une entité spécifique, la même colonne de base de données peut être configurée en tant que nom et clé. Vous pouvez également utiliser différentes colonnes si nécessaire.
- Tout attribut de base inclus dans l'entité ACCOUNT doit respecter les règles suivantes :
- Le type de données de colonne doit être compatible avec le type de données côté gouvernance d'Oracle Access.
- Tout attribut configuré en tant que
"nature":["REQUIRED"]dans le fichier JSON de schéma doit correspondre à un champ de base de données NOT NULL.
- Les tables ENTITLEMENT et LOOKUP doivent avoir une contrainte de clé primaire sur les colonnes de clé.
- Si les colonnes associées des tables ENTITLEMENT et LOOKUP correspondent, il n'est pas nécessaire de définir une relation de clé étrangère entre vos tables ACCOUNT/TARGETACCOUNT et les tables ENTITLEMENT et LOOKUP. Pour plus d'informations, reportez-vous à la section suivante.
Relations de table
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)
Les mêmes principes que ceux décrits ci-dessus pour la relation entre un utilisateur et une consultation s'appliquent lors de la définition de tables pour la relation entre un utilisateur et des habilitations.
Associer un attribut d'identité à un attribut de compte
Vous pouvez associer un attribut d'identité à un attribut de compte en modifiant les paramètres d'attribut de compte.
- Connectez-vous à la console Oracle Access Governance et accédez à Administration des services → Systèmes orchestrés.
- Sélectionnez Gérer l'intégration pour le système orchestré DBAT où vous voulez associer un attribut d'identité à un attribut de compte.
- Sélectionnez Gérer dans la mosaïque des attributs de compte.
- Pour l'attribut de compte à mapper, sélectionnez Modifier l'attribut d'identité associé dans le menu d'actions.
- Sélectionnez l'attribut d'identité à associer à l'attribut de compte, puis cliquez sur Enregistrer. La valeur s'affiche désormais dans les colonnes Attribut d'identité associé de l'attribut de compte.
Prise en charge de l'affiliation DBAT pour les attributs d'identité personnalisés à valeurs multiples
Les systèmes orchestrés DBAT prennent en charge les données d'affiliation via l'implémentation d'attributs à valeurs multiples (complexes) personnalisés.
L'affiliation est activée en ajoutant une table personnalisée pour l'affiliation requise et en la liant à la table des comptes. Par exemple, vous pouvez avoir une table de comptes, Users, semblable à la suivante :
| USER_ID | USER_NAME | FIRST_NAME | LAST_NAME | Statut | |
|---|---|---|---|---|---|
| 1 | USR001 | Utilisateur | Un | userone@email.com | ACTIVE |
| 2 | USR002 | Utilisateur | Two | usertwo@email.com | ACTIVE |
Ensuite, vous devez créer une table personnalisée pour l'affiliation que vous souhaitez représenter. Par exemple, vous pouvez avoir une affiliation qui vous permet d'affecter plusieurs intitulés de poste à une identité. Pour ce faire, créez une table Jobs similaire à la suivante :
| CODE EMPLOI | USER_ID | NOM DU TRAVAIL | DESCRIPTION |
|---|---|---|---|
| JB001 | 1 | Un travail | Ceci est un travail |
| 1 | Autre fonction | Ceci est un autre travail | |
| 2 | Un nouveau travail | Ceci est un nouveau travail |
La table Compte est directement liée à la table Affiliation par la clé primaire composite (USER_ID, JOBCODE).
Enfin, vous devez ajouter l'affilation au remplissage schema.json comme indiqué dans le fragment de code suivant.
[
{
"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": []
}
]
}
}
]
}
]
Incluez ce nom de table avec d'autres tables d'affiliation dans les paramètres d'intégration. Pour plus d'informations, voir Affiliations.