Créer, gérer et surveiller des liens hypertexte de table
Présente les étapes de création, de gestion et de surveillance des liens hypertexte de table.
- Création d'un lien hypertexte de table pour une table ou une vue
Affiche les étapes de création d'un lien hypertexte de table que vous pouvez utiliser pour partager l'accès à un objet de schéma (table ou vue). - Création d'un lien hypertexte de table avec une instruction Select
Affiche les étapes de création d'un lien hypertexte de table qui permet d'accéder aux données à l'aide d'une instruction de requête SQL. - Création d'un lien hypertexte de table avec les fonctionnalités d'interface utilisateur spécifiées sur les colonnes
Lorsque vous créez un lien hypertexte de table, vous pouvez utiliser le paramètrecolumn_listspour indiquer les fonctionnalités d'interface utilisateur pour les colonnes indiquées. - Création d'un lien hypertexte de table protégée par mot de passe
Lorsque vous créez un lien hypertexte de table, vous pouvez indiquer un mot de passe de lien hypertexte de table. - Non-validation des liens hypertexte de table
A tout moment, un utilisateur disposant des privilèges appropriés peut invalider un lien hypertexte de table. - Définition d'une stratégie de base de données privée virtuelle pour sécuriser les données de lien hypertexte de table
En définissant des stratégies Oracle Virtual Private Database (VPD) pour les données que vous partagez avec un lien hypertexte de table, vous pouvez fournir un contrôle d'accès de niveau fin afin qu'un seul sous-ensemble de données, lignes, soit visible pour un lien hypertexte de table spécifique. - Surveillance et affichage de l'utilisation des liens hypertexte de table
La base de données Autonomous AI fournit des vues qui vous permettent de surveiller l'utilisation des liens hypertexte de table. - Remarques concernant la création d'un lien hypertexte de table ou d'un groupe de liens hypertexte de table
Créer un lien hypertexte de table pour une table ou une vue
Affiche les étapes de création d'un lien hypertexte de table que vous pouvez utiliser pour partager l'accès à un objet de schéma (table ou vue).
Lorsqu'un lien hypertexte de table est exécuté, il utilise les privilèges accordés à l'utilisateur de base de données qui génère le lien hypertexte de table. L'utilisateur qui génère un lien hypertexte de table doit disposer des privilèges minimum requis pour fournir l'accès aux données. Pour maintenir la sécurité, Oracle recommande de ne pas exécuter DBMS_DATA_ACCESS.CREATE_URL en tant qu'utilisateur ADMIN.
Pour utiliser un lien hypertexte de table afin de fournir un accès aux données en tant qu'objet de schéma (table ou vue), procédez comme suit :
Rubrique parent : Création, gestion et surveillance de liens hypertexte de table
Créer un lien hypertexte de table avec une instruction Select
Présente les étapes de création d'un lien hypertexte de table qui permet d'accéder aux données à l'aide d'une instruction de requête SQL.
Lorsqu'un lien hypertexte de table est exécuté, il utilise les privilèges accordés à l'utilisateur de base de données qui génère le lien hypertexte de table. L'utilisateur qui génère un lien hypertexte de table doit disposer des privilèges minimum requis pour fournir l'accès aux données. Pour maintenir la sécurité, Oracle recommande de ne pas exécuter DBMS_DATA_ACCESS.CREATE_URL en tant qu'utilisateur ADMIN.
Pour utiliser un lien hypertexte de table afin de fournir un accès aux données en tant qu'instruction de requête SQL arbitraire :
Rubrique parent : Création, gestion et surveillance de liens hypertexte de table
Créer un lien hypertexte de table avec les fonctionnalités d'interface utilisateur spécifiées sur les colonnes
Lorsque vous créez un lien hypertexte de table, vous pouvez utiliser le paramètre column_lists pour indiquer les fonctionnalités d'interface utilisateur pour les colonnes indiqué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 les suivantes :
| Valeur column_lists | Description |
|---|---|
order_by_columns |
Indique les colonnes qui prennent en charge le tri. Les colonnes sont indiquées dans un tableau JSON. |
filter_columns |
Indique les colonnes qui prennent en charge le filtrage. Les colonnes sont indiquées dans un tableau JSON. |
default_color_columns |
Indique que la coloration par défaut doit être utilisée uniquement pour les colonnes indiquées. Les colonnes sont indiqué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 indiquées dans un tableau JSON. |
Pour spécifier les fonctionnalités d'interface utilisateur de niveau colonne de vue de table pour un lien hypertexte de table :
Vous pouvez également effectuer les opérations suivantes :
- Utilisez
DBMS_DATA_ACCESS.LIST_ACTIVE_URLSpour afficher les liens hypertexte de table. Pour plus de détails, reportez-vous à Liste des liens hypertexte de table et des groupes de liens hypertexte de table. - Utilisez
DBMS_DATA_ACCESS.EXTEND_URLpour prolonger la durée de vie d'un lien hypertexte de table. Pour plus d'informations, reportez-vous à Procédure EXTEND_URL. - Générez des liens hypertexte de table qui sont traités avec des garanties et des ressources de niveau de service différentes. Par exemple, l'accès à un objet ou à une instruction SQL peut être mis en correspondance avec les services HIGH ou MEDIUM, tandis que l'accès à un autre objet ou à une autre instruction SQL peut être mis en correspondance avec le service LOW. Pour plus d'informations, reportez-vous à Procédure CREATE_URL.
Rubrique parent : Création, gestion et surveillance de liens hypertexte de table
Créer un lien hypertexte de table protégée par mot de passe
Lorsque vous créez un lien hypertexte de table, vous pouvez indiquer un mot de passe de lien hypertexte de table.
Lorsqu'un utilisateur accède à un lien hypertexte 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 du lien hypertexte de table. Cela fournit une étape de sécurité supplémentaire pour éviter les accès malveillants, dans le cas où un lien hypertexte de table est exposé à un public plus large que prévu.
Pour créer un lien hypertexte de table protégé par mot de passe :
Lorsque vous incluez le paramètre password avec DBMS_DATA_ACCESS.CREATE_URL, tenez compte des points suivants :
-
Le résultat inclut l'attribut
urlavec la valeur d'URL de lien hypertexte de table. Sans le paramètrepassword, l'attribut de résultat estpreauth_url. Cette différence vous permet de distinguer un lien hypertexte 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 inclure au moins une lettre majuscule, une lettre minuscule et un caractère numérique. Ces règles sont identiques à celles appliquées pour les règles de complexité de mot de passe pour un utilisateur de base de données associé à une fonction de vérification de mot de passe (PVF)
NULL. 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, reportez-vous à Gestion de la complexité des mots de passe sur une 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 par la suite vous n'avez pas enregistré ou que vous ne pouvez pas mémoriser le mot de passe que vous avez défini, vous devez créer un lien hypertexte de table. -
Il n'existe aucune association entre le mot de passe d'un lien hypertexte 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 lien hypertexte de table protégé par mot de passe avecCREATE_URL, il n'existe aucune association entre le mot de passe de l'URL de lien hypertexte de table créée et le mot de passe de l'utilisateurSCOTT.
Rubrique parent : Création, gestion et surveillance de liens hypertexte de table
Invalider les liens hypertexte de table
A tout moment, un utilisateur disposant des privilèges appropriés peut invalider un lien hypertexte de table.
Pour invalider un lien hypertexte de table, vous avez besoin du lien hypertexte de table id. Utilisez DBMS_DATA_ACCESS.LIST_ACTIVE_URLS pour générer la liste des liens hypertexte de table et des liens id associés.
Utilisez DBMS_DATA_ACCESS.INVALIDATE_URL pour invalider un lien hypertexte de table. Par 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 de liens hypertexte de table.
Pour plus d'informations, reportez-vous à Invalidate a Table Hyperlink Group et à INVALIDATE_URL Procedure.
Rubrique parent : Création, gestion et surveillance de liens hypertexte de table
Définir une stratégie de base de données privée virtuelle pour sécuriser les données de lien hypertexte 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 ensemble de données. Lorsqu'un lien hypertexte de table est accessible, la valeur de application_user_id indiquée lors de la génération du lien hypertexte de table est disponible via sys_context('DATA_ACCESS_CONTEXT$', 'USER_IDENTITY'). Vous pouvez définir des stratégies VPD qui utilisent la valeur de ce contexte d'application pour restreindre les données et les lignes visibles par l'utilisateur de l'application.
Tout utilisateur disposant d'un accès en lecture avec un lien hypertexte 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 stratégie VPD sur la base de données qui a généré un lien hypertexte 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 lien hypertexte de table. Si vous souhaitez restreindre l'accès à certaines données, vous pouvez ajouter une stratégie VPD.
Par exemple :
Pour plus d'informations, reportez-vous à Utilisation d'Oracle Virtual Private Database pour contrôler l'accès aux données.
Rubrique parent : Création, gestion et surveillance de liens hypertexte de table
Surveiller et afficher l'utilisation des liens hypertexte de table
Autonomous AI Database fournit des vues qui vous permettent de surveiller l'utilisation des liens hypertexte de table.
| Vues | Description |
|---|---|
| Vues V$DATA_ACCESS_URL_STATS et GV$DATA_ACCESS_URL_STATS |
Ces vues permettent de suivre l'utilisation des liens hypertexte de table, notamment le temps écoulé, le temps CPU et des informations supplémentaires. |
Rubrique parent : Création, gestion et surveillance de liens hypertexte de table
Remarques concernant la création d'un lien hypertexte de table ou d'un groupe de liens hypertexte de table
Remarques concernant la création d'un lien hypertexte de table ou d'un groupe de liens hypertexte de table avec DBMS_DATA_ACCESS.CREATE_URL :
-
Vous pouvez utiliser le paramètre facultatif
service_namepour indiquer qu'un lien hypertexte de table généré est traité avec une garantie et des ressources de niveau de service spécifiques. Par exemple, utilisez le paramètreservice_namepour indiquer que l'accès à l'instruction SQL est mis en correspondance avec le service HIGH. -
Vous pouvez utiliser l'un des paramètres facultatifs
inherit_acletaclou les deux si vous voulez limiter l'accès aux données de lien hypertexte de table :-
inherit_acl: utilisez le paramètre facultatifinherit_aclsi vous voulez limiter l'accès aux données de lien hypertexte de table. Définissez ce paramètre surTRUEpour hériter des listes de contrôle d'accès. Lorsque la valeur de ce paramètre estTRUE, l'adresse IP d'un destinataire de lien hypertexte de table entrant est validée avec les listes de contrôle d'accès de la base de données du producteur 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 aucune vérification d'ACL. -
acl: utilisez le paramètre facultatifaclpour indiquer une liste de contrôle d'accès qui s'applique au lien hypertexte de table. La valeur du paramètre indique la liste des adresses IP autorisées, des blocs CIDR ou des OCID de VCN OCI. Lorsque le paramètreaclest spécifié, un destinataire de lien hypertexte de table peut uniquement accéder aux données à partir des hôtes spécifiés dans l'ACL.
Lorsque
inherit_acla la valeurTRUEet que le paramètreaclest défini pour indiquer une liste de contrôle d'accès, un destinataire de lien hypertexte de table peut accéder aux données d'un lien hypertexte de table à partir des hôtes indiqués avec le paramètreaclou des hôtes hérités définis dans la liste de contrôle d'accès indiquée pour l'instance de base de données Autonomous AI.Pour plus d'informations, reportez-vous à Configuration de l'accès réseau avec des règles de contrôle d'accès (ACL).
-
-
Lorsque vous définissez le paramètre facultatif
consistentsurTRUE, un fournisseur de liens hypertexte de table génère des données de manière cohérente sur différentes pages. Cela permet à un consommateur d'accéder aux données de toutes les pages associées à un lien hypertexte de table en utilisant le même cliché de données (SCN) que le SCN associé à l'accès à la première page. Cette option permet à un émetteur de renvoyer des données cohérentes à un destinataire où les réponses sont paginées et où plusieurs pages sont renvoyées (les données sont renvoyées page par page lors de l'accès).Lorsque
consistentest défini surTRUEet qu'un lien hypertexte de table référence des objets de schéma à partir du schéma d'un autre utilisateur, l'utilisateur de base de données qui crée le lien hypertexte de table doit disposer du privilègeFLASHBACKsur tous les objets de schéma utilisés dans le lien hypertexte de table qui appartiennent au schéma de l'autre utilisateur.Par exemple :
GRANT FLASHBACK ON TREE_SCHEMA.TREE_DATA TO SCOTT;Remarque : Si l'activité de la base de données est importante et que le temps écoulé entre l'extraction de la première page et l'extraction d'une page suivante est suffisant, il se peut qu'il ne soit pas possible d'extraire les données suivantes cohérentes avec le premier accès. Dans ce cas, l'extraction génère une erreur.
Pour plus d'informations, reportez-vous à Accès aux données avec des liens hypertexte de table ou avec un groupe de liens hypertexte de table.
-
Lorsque vous créez un lien hypertexte de table sur une instance de base de données Autonomous AI avec une adresse privée, le résultat inclut un nom
private_preauth_urlavec la valeur du format :"https://private-endpoint/adb/p/parurl-token/data".Lorsque vous créez un lien hypertexte de table sur une instance de base de données Autonomous AI avec une adresse privée et que l'adresse privée est configurée avec l'option Autoriser l'accès public activée, le résultat inclut à la fois l'adresse
preauth_urlpour l'adresse publique etprivate_preauth_url.Pour plus d'informations, reportez-vous à Configuration des adresses privées et à Utilisation d'une adresse privée avec accès public autorisé.
-
Utilisez
DBMS_DATA_ACCESS.LIST_ACTIVE_URLSpour afficher les liens hypertexte de table. Pour plus de détails, reportez-vous à Liste des liens hypertexte de table et des groupes de liens hypertexte de table. -
Utilisez
DBMS_DATA_ACCESS.EXTEND_URLpour prolonger la durée de vie d'un lien hypertexte de table. Pour plus d'informations, reportez-vous à Procédure EXTEND_URL.
Rubrique parent : Création, gestion et surveillance de liens hypertexte de table