Créer, gérer et surveiller des hyperliens de table
Affiche les étapes de création, de gestion et de surveillance des hyperliens de table.
- Créer un hyperlien de table pour une table ou une vue
Affiche les étapes de création d'un hyperlien de table que vous pouvez utiliser pour partager l'accès à un objet de schéma (table ou vue). - Créer un hyperlien de table avec un énoncé Select
Affiche les étapes de création d'un hyperlien de table qui fournit l'accès aux données à l'aide d'un énoncé d'interrogation SQL. - Créer un hyperlien de table avec les fonctions d'interface utilisateur spécifiées sur les colonnes
Lorsque vous créez un hyperlien de table, vous pouvez utiliser le paramètrecolumn_listspour spécifier les fonctions d'interface utilisateur pour les colonnes spécifiées. - Créer un hyperlien de table protégée par mot de passe
Lorsque vous créez un hyperlien de table, vous pouvez spécifier un mot de passe d'hyperlien de table. - Hyperliens de table non validés
À tout moment, un utilisateur disposant des privilèges appropriés peut invalider un hyperlien de table. - Définir une politique de base de données privée virtuelle pour sécuriser les données d'hyperlien de table
En définissant des politiques Oracle Virtual Private Database (VPD) pour les données que vous partagez avec un hyperlien de table, vous pouvez fournir un contrôle d'accès détaillé afin que seul un sous-ensemble de données, rangées, soit visible pour un hyperlien de table spécifique. - Surveiller et voir l'utilisation des hyperliens de table
La base de données autonome d'IA fournit des vues qui vous permettent de surveiller l'utilisation des hyperliens de table. - Notes pour la création d'un hyperlien de table ou d'un groupe d'hyperliens de table
Créer un hyperlien de table pour une table ou une vue
Affiche les étapes de création d'un hyperlien de table que vous pouvez utiliser pour partager l'accès à un objet de schéma (table ou vue).
Lorsqu'un hyperlien de table est exécuté, il utilise les privilèges accordés à l'utilisateur de base de données qui génère l'hyperlien de table. L'utilisateur qui génère un hyperlien de table doit disposer des privilèges minimum requis pour fournir l'accès aux données. Pour assurer la sécurité, Oracle recommande de ne pas exécuter DBMS_DATA_ACCESS.CREATE_URL en tant qu'utilisateur ADMIN.
Pour utiliser un hyperlien de table pour fournir l'accès aux données en tant qu'objet de schéma (table ou vue) :
Rubrique parent : Créer, gérer et surveiller des hyperliens de table
Créer un hyperlien de table avec un énoncé Select
Affiche les étapes de création d'un hyperlien de table qui permet d'accéder aux données à l'aide d'un énoncé d'interrogation SQL.
Lorsqu'un hyperlien de table est exécuté, il utilise les privilèges accordés à l'utilisateur de base de données qui génère l'hyperlien de table. L'utilisateur qui génère un hyperlien de table doit disposer des privilèges minimum requis pour fournir l'accès aux données. Pour assurer la sécurité, Oracle recommande de ne pas exécuter DBMS_DATA_ACCESS.CREATE_URL en tant qu'utilisateur ADMIN.
Pour utiliser un hyperlien de table pour fournir l'accès aux données en tant qu'énoncé d'interrogation SQL arbitraire :
Rubrique parent : Créer, gérer et surveiller des hyperliens de table
Créer un hyperlien de table avec les fonctions d'interface utilisateur spécifiées dans les colonnes
Lorsque vous créez un hyperlien de table, vous pouvez utiliser le paramètre column_lists pour spécifier des fonctions d'interface utilisateur pour les colonnes spécifiées.
Le paramètre column_lists est une valeur JSON qui spécifie les options par colonne. Les valeurs prises en charge dans column_lists sont une ou plusieurs des valeurs suivantes :
| Valeur column_lists | Description |
|---|---|
order_by_columns |
Spécifie les colonnes qui prennent en charge le tri. Les colonnes sont spécifiées dans un tableau JSON. |
filter_columns |
Spécifie les colonnes qui prennent en charge le filtrage. Les colonnes sont spécifiées dans un tableau JSON. |
default_color_columns |
Spécifie d'utiliser uniquement la coloration par défaut pour les colonnes spécifiées. Les colonnes sont spécifiées dans un tableau JSON. |
group_by_columns |
Indique que le regroupement est autorisé pour les colonnes spécifiées (la consultation des données en regroupant la colonne spécifiée est autorisée). Les colonnes sont spécifiées dans un tableau JSON. |
Pour spécifier les fonctions d'interface utilisateur au niveau colonne de la vue de table pour un hyperlien de table :
Vous pouvez également :
- Utilisez
DBMS_DATA_ACCESS.LIST_ACTIVE_URLSpour afficher les hyperliens de table. Voir Lister les hyperliens de table et les groupes d'hyperliens de table pour plus de détails. - Utilisez
DBMS_DATA_ACCESS.EXTEND_URLpour prolonger la durée de vie d'un hyperlien de table. Pour plus d'informations, voir ProcédureEXTEND_URL. - Générer des hyperliens de table qui sont traités avec différentes garanties et ressources de niveau de service. Par exemple, l'accès à un objet ou à une instruction SQL peut être mappé avec les services HIGH ou MEDIUM, tandis que l'accès à un autre objet ou à une autre instruction SQL peut être mappé avec le service LOW. Pour plus d'informations, voir ProcédureCREATE_URL.
Rubrique parent : Créer, gérer et surveiller des hyperliens de table
Créer un hyperlien de table protégée par mot de passe
Lorsque vous créez un hyperlien de table, vous pouvez spécifier un mot de passe d'hyperlien de table.
Lorsqu'un utilisateur accède à un hyperlien de table protégé par mot de passe, il doit s'authentifier à l'aide du mot de passe spécifié lors de la création de l'hyperlien de table. Cela fournit une étape de sécurité supplémentaire pour éviter l'accès malveillant, dans le cas où un hyperlien de table est exposé à un public plus large que prévu.
Pour créer un hyperlien de table protégé par mot de passe :
Notez ce qui suit lorsque vous incluez le paramètre password avec DBMS_DATA_ACCESS.CREATE_URL :
-
Le résultat inclut l'attribut
urlavec la valeur d'URL d'hyperlien de table. Sans le paramètrepassword, l'attribut de résultat estpreauth_url. Cette différence vous permet de distinguer un hyperlien de table protégé par mot de passe dans le résultat. -
La longueur minimale du mot de passe est de 12 caractères et le mot de passe doit comprendre au moins une lettre majuscule, une lettre minuscule et un caractère numérique. Ces règles sont les mêmes que celles appliquées aux règles de complexité de mot de passe pour un utilisateur de base de données associé à une fonction PVF
NULL(Password Verification Function). SiCREATE_URLest appelé avec le paramètre de mot de passe et que le mot de passe fourni n'est pas conforme à ces règles, par exemple, le mot de passe contient moins de 12 caractères, la création de l'URL échoue avec une erreur.Pour plus d'informations, voir Gérer la complexité des mots de passe sur la base de données d'IA autonome.
-
Il n'est pas possible de modifier ou de réinitialiser un mot de passe après avoir défini un mot de passe. Si vous exécutez
CREATE_URLet que vous n'avez pas enregistré par la suite ou que vous ne pouvez pas vous souvenir du mot de passe que vous avez défini, vous devez créer un nouvel hyperlien de table. -
Il n'y a aucune association entre le mot de passe d'un hyperlien de table protégé par mot de passe et le mot de passe de l'utilisateur qui crée l'URL. Si l'utilisateur
SCOTTcrée un hyperlien de table protégé par mot de passe avecCREATE_URL, il n'y a aucune association entre le mot de passe pour l'URL d'hyperlien de table créée et le mot de passe pour l'utilisateurSCOTT.
Rubrique parent : Créer, gérer et surveiller des hyperliens de table
Invalider les hyperliens de table
À tout moment, un utilisateur disposant des privilèges appropriés peut invalider un hyperlien de table.
Pour invalider un hyperlien de table, vous avez besoin de l'hyperlien de table id. Utilisez DBMS_DATA_ACCESS.LIST_ACTIVE_URLS pour générer une liste d'hyperliens de table et leurs id associés.
Utilisez DBMS_DATA_ACCESS.INVALIDATE_URL pour invalider un hyperlien de table. Exemple :
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.INVALIDATE_URL(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
result => status);
dbms_output.put_line(status);
END;
/
Vous pouvez également utiliser DBMS_DATA_ACCESS.INVALIDATE_URL pour invalider un groupe d'hyperliens de table.
Pour plus d'informations, voir Invalider un groupe d'hyperliens de table et Procédure INVALIDATE_URL.
Rubrique parent : Créer, gérer et surveiller des hyperliens de table
Définir une politique de base de données privée virtuelle pour sécuriser les données d'hyperlien de table
Oracle Virtual Private Database (VPD) est une fonctionnalité de sécurité qui vous permet de contrôler dynamiquement l'accès aux données au niveau ligne pour les utilisateurs et les applications en appliquant des filtres sur le même jeu de données. Lors de l'accès à un hyperlien de table, la valeur application_user_id spécifiée lors de la génération de l'hyperlien de table est disponible au moyen de sys_context('DATA_ACCESS_CONTEXT$', 'USER_IDENTITY'). Vous pouvez définir des stratégies de BDVP qui utilisent la valeur de ce contexte applicatif pour limiter l'affichage des données et des lignes à l'utilisateur de l'application.
Tout utilisateur autorisé à lire des données à l'aide d'un hyperlien de table peut accéder aux données et les utiliser (table, vue ou données fournies avec une instruction SELECT). En définissant une politique de BDVP sur la base de données qui a généré un hyperlien de table, vous pouvez utiliser la valeur application_user_id dans une règle SYS_CONTEXT pour fournir un contrôle plus détaillé. Prenons un exemple où les données sont mises à disposition avec un hyperlien de table. Si vous souhaitez restreindre l'accès à certaines données, vous pouvez ajouter une stratégie de BDVP.
Exemple :
Pour plus d'informations, voir Utilisation d'Oracle Virtual Private Database pour contrôler l'accès aux données.
Rubrique parent : Créer, gérer et surveiller des hyperliens de table
Surveiller et voir l'utilisation des hyperliens de table
Autonomous AI Database fournit des vues qui vous permettent de surveiller l'utilisation de l'hyperlien de table.
| Vues | Description |
|---|---|
| V$DATA_ACCESS_URL_STATS et Vues GV$DATA_ACCESS_URL_STATS |
Ces vues suivent l'utilisation des hyperliens de table, notamment le temps écoulé, le temps CPU et des informations supplémentaires. |
Rubrique parent : Créer, gérer et surveiller des hyperliens de table
Notes pour créer un hyperlien de table ou un groupe d'hyperliens de table
Notes pour créer un hyperlien de table ou un groupe d'hyperliens de table avec DBMS_DATA_ACCESS.CREATE_URL :
-
Vous pouvez utiliser le paramètre facultatif
service_namepour spécifier qu'un hyperlien de table généré est traité avec une garantie de niveau de service et des ressources spécifiques. Par exemple, utilisez le paramètreservice_namepour spécifier que l'accès à l'énoncé SQL est mappé au service HIGH. -
Vous pouvez utiliser l'un des paramètres facultatifs
inherit_acletaclou les deux pour limiter l'accès aux données de l'hyperlien de table :-
inherit_acl: Utilisez le paramètre facultatifinherit_aclpour limiter l'accès aux données de l'hyperlien de table. Réglez ce paramètre àTRUEpour hériter des listes de contrôle d'accès. Lorsque la valeur de ce paramètre estTRUE, l'adresse IP d'un consommateur d'hyperlien de table entrant est validée avec les listes de contrôle d'accès de la base de données du fournisseur avant d'autoriser l'accès aux données. Si aucune liste de contrôle d'accès n'est configurée pour la base de données du fournisseur, la valeurinherit_aclest ignorée et l'accès aux données est autorisé sans vérification de liste de contrôle d'accès. -
acl: Utilisez le paramètre facultatifaclpour spécifier une liste de contrôle d'accès qui s'applique à l'hyperlien de table. La valeur du paramètre spécifie la liste des adresses IP autorisées, des blocs CIDR ou des OCID de VCN OCI. Lorsque le paramètreaclest spécifié, un consommateur d'hyperlien de table ne peut accéder aux données qu'à partir des hôtes spécifiés dans la liste de contrôle d'accès.
Lorsque
inherit_acla la valeurTRUEet que le paramètreaclest réglé pour spécifier une liste de contrôle d'accès, un consommateur d'hyperlien de table peut accéder aux données d'un hyperlien de table à partir des hôtes spécifiés avec le paramètreaclou à partir des hôtes hérités définis dans la liste de contrôle d'accès spécifiée pour l'instance de base de données de l'IA autonome.Pour plus d'informations, voir Configuration de l'accès au réseau à l'aide de règles de contrôle d'accès (LCA).
-
-
Lorsque vous réglez le paramètre facultatif
consistentàTRUE, un producteur d'hyperliens de table produit des données de manière cohérente sur différentes pages. Cela permet au consommateur d'accéder aux données de toutes les pages associées à un hyperlien de table à l'aide du même instantané de données (SCN) que le numéro SCN associé à l'accès de la première page. Cette option permet à un fournisseur de portlets de retourner des données cohérentes à un consommateur où les réponses sont paginées et où plusieurs pages sont retournées (les données sont retournées page par page, au fur et à mesure de l'accès).Lorsque
consistentest réglé àTRUEet qu'un hyperlien de table référence des objets de schéma provenant du schéma d'un autre utilisateur, l'utilisateur de base de données qui crée l'hyperlien de table doit avoir le privilègeFLASHBACKsur tous les objets de schéma utilisés dans l'hyperlien de table qui appartiennent au schéma de l'autre utilisateur.Exemple :
GRANT FLASHBACK ON TREE_SCHEMA.TREE_DATA TO SCOTT;Remarque : si l'activité de la base de données est importante et que suffisamment de temps passe entre l'extraction de la première page et l'extraction d'une page suivante, il peut ne pas être possible d'extraire des données ultérieures cohérentes avec le premier accès. Dans ce cas, l'extraction entraîne une erreur.
Pour plus d'informations, voir Accéder aux données à l'aide d'hyperliens de table ou d'un groupe d'hyperliens de table.
-
Lorsque vous créez un hyperlien de table sur une instance de base de données du service d'intelligence artificielle autonome avec un point d'extrémité privé, le résultat inclut un nom
private_preauth_urlavec la valeur du formulaire :"https://private-endpoint/adb/p/parurl-token/data".Lorsque vous créez un hyperlien de table sur une instance de base de données du service d'intelligence artificielle autonome avec un point d'extrémité privé et que le point d'extrémité privé est configuré avec l'option Autoriser l'accès public activée, le résultat inclut
preauth_urlpour le point d'extrémité public etprivate_preauth_url.Pour plus d'informations, voir Configurer des points d'extrémité privés et Utiliser un point d'extrémité privé avec accès public autorisé.
-
Utilisez
DBMS_DATA_ACCESS.LIST_ACTIVE_URLSpour afficher les hyperliens de table. Voir Lister les hyperliens de table et les groupes d'hyperliens de table pour plus de détails. -
Utilisez
DBMS_DATA_ACCESS.EXTEND_URLpour prolonger la durée de vie d'un hyperlien de table. Pour plus d'informations, voir ProcédureEXTEND_URL.
Rubrique parent : Créer, gérer et surveiller des hyperliens de table