Skip to content

Lire un entrepôt en lecture seule, et ce que votre propre rôle décide

L’accès dont une couche de gouvernance a besoin est étroit, précis et mérite d’être nommé exactement. Ce qui est lu dans un catalogue, ce que lecture seule veut dire quand c’est structurel et non promis, pourquoi votre propre rôle d’entrepôt reste la frontière, et ce qu’hériter d’un catalogue vous apporte.

Mis à jour · 6 min de lecture

Ce qu’une couche de gouvernance lit

La première question de toute revue est ce que la chose touche réellement. La réponse est assez courte pour être lue à voix haute en réunion.

  • Les tables et les colonnes, avec leurs types et leurs commentaires.
  • Les étiquettes, qui sont là où une plateforme enregistre la propriété, le stewardship et la classification.
  • Les clés, primaires et étrangères, telles que la plateforme les détient.
  • Les droits, enregistrés pour qu’un rapport puisse dire qui pouvait voir une chose.
  • Les objets contrat eux-mêmes : le modèle sémantique, la semantic view, la metric view.

Chaque élément de cette liste est une métadonnée. C’est votre catalogue, votre vocabulaire et vos permissions, qui ensemble sont la matière dont un rapport de gouvernance est fait. Les données de lignes sont une demande à part avec une réponse à part, et elles sont couvertes par le chemin de requête gouverné, pas par la synchronisation.

Une bonne question à poser à tout outil qui demande un accès à l’entrepôt : demandez ce qu’il conserve. Ici, l’audit garde la forme d’un résultat, c’est-à-dire le nombre de lignes, et aucune des cellules.

Ce que lecture seule veut dire ici

Il y a deux façons pour un logiciel d’être en lecture seule, et elles sont loin d’être équivalentes.

La façon faible est une promesse. Le code est parfaitement capable d’écrire et s’engage à ne pas le faire, tenu par un commentaire de revue qu’un futur contributeur ne lira jamais. La façon forte est structurelle : les classes de connecteur exposent un test de connexion et une introspection, et il n’y a aucune méthode d’écriture à garder parce qu’aucune n’a jamais été écrite. La garantie survit à une refonte par quelqu’un qui n’en a jamais entendu parler.

Un second pied court à côté des API de catalogue, et il vaut la peine de savoir pourquoi il est là. Une partie de la gouvernance que vous voulez vit dans le schéma d’information et les vues système du compte, pas dans le catalogue REST. Lire les étiquettes de propriété et les contraintes de clés signifie exécuter des instructions. Ces instructions sont des lectures, elles sont bornées, et elles sont la raison pour laquelle un point de terminaison de calcul apparaît sur le formulaire de connexion.

Votre propre rôle reste la frontière

L’accès est hérité et jamais élargi. Vous fournissez un identifiant, chaque lecture s’exécute en tant que ce principal, et l’horizon du rapport est l’horizon du rôle. Ce que l’identifiant ne peut pas atteindre reste hors de portée.

Trois conséquences, toutes pratiques.

  • Deux administrateurs avec des rôles différents peuvent lancer la même synchronisation et obtenir des inventaires différents. Les deux sont corrects, et la différence entre eux est un fait sur vos droits.
  • Élargir ce que la couche voit est un droit que votre équipe entrepôt accorde, dans l’entrepôt, sous sa propre revue, et visible dans son propre audit.
  • Un identifiant limité à une base de données garde la synchronisation limitée à cette base de données, sans second réglage à retenir où que ce soit.

La valeur de cela dans une revue est que cela change la question posée. Ce qu’un outil fait de vos données est difficile à répondre et facile à mettre en doute. Ce que vous lui avez accordé est une question que votre propre équipe possède déjà, dans un système qu’elle exploite déjà, avec un audit qu’elle lit déjà.

Les hôtes qu’une connexion peut atteindre, et où vit le secret

Un formulaire de connexion qui accepte n’importe quel hôte est une surface de falsification de requête avec une étiquette aimable. Un hôte d’entrepôt doit correspondre à l’un des vrais suffixes de nom d’hôte des éditeurs avant que quoi que ce soit ne quitte le processus, et les adresses privées, de boucle locale, de lien local et de métadonnées cloud sont refoulées à la même porte.

L’effet pratique est qu’une faute de frappe produit un message d’exploitant nommant l’hôte, pas une requête dans votre propre réseau qui réussit à moitié et n’est jamais expliquée.

L’identifiant lui-même est chiffré au repos et n’est jamais renvoyé. Ce que la console affiche pour une connexion configurée est filtré par le drapeau secret de la spécification de champ, pas par une liste que quelqu’un maintient à la main. Un jeton ne peut pas atteindre une page même s’il est stocké à un champ de distance de quelque chose qui le peut. Ce que vous voyez, c’est l’hôte, le rôle, l’entrepôt, la base de données, et quel type d’identifiant s’est authentifié.

Ce dernier élément mérite sa place. Une connexion qui se rabat d’un type d’identifiant vers un autre sans le dire peut passer inaperçue et rester non réparée. Lequel a répondu est enregistré et affiché.

Hériter d’un catalogue plutôt que le ressaisir

Hériter d’un catalogue et en ressaisir un se lisent presque pareil sur une liste de fonctionnalités et ne se comportent pas du tout pareil au bout de six mois.

Ressaisir demande à quelqu’un de retaper les propriétaires, les classifications et les descriptions dans un second système. À partir du jour où ce travail se termine, il y a deux enregistrements du même fait, et l’un des deux vieillit. Hériter signifie que la première synchronisation lit ce que votre plateforme détient déjà : tables, colonnes, commentaires, étiquettes, clés et droits, rien de tout cela ressaisi par quiconque.

C’est aussi pourquoi la demande de permission reste petite. Un outil qui hérite a besoin de lectures. Un outil qui attend que vous curiez à l’intérieur a besoin d’un endroit où écrire, d’un endroit où stocker, et d’un argument pour expliquer pourquoi sa copie est celle à laquelle vous devriez faire confiance.

Les conventions de nommage sont traitées comme un enrichissement de ce qui est arrivé, pas comme une exigence. Un entrepôt qui ne correspond à aucun des motifs attendus est quand même ingéré en entier. Le nom de la couche est lu depuis le libellé qualifié de l’objet lui-même, et le vocabulaire est ouvert, si bien qu’un nom de couche que personne n’a appris à l’outil arrive intact au lieu de se réduire à inconnu.

Des lectures partielles, étiquetées comme partielles

Certaines lectures de gouvernance ont besoin d’un droit que bien des comptes n’ont jamais accordé. Lire les références d’étiquettes sur une plateforme exige un privilège sur la base de données partagée du compte lui-même, et ces données ont quelques heures de retard même une fois le droit accordé.

Là où le droit est absent, la lecture est au mieux : elle renvoie ce qu’elle a pu et signale ce qu’elle n’a pas pu. La distinction est tout l’enjeu. Un outil qui rapporte zéro propriétaire documenté quand il veut dire qu’il n’a pas pu lire les étiquettes de propriété vous a dit quelque chose de faux sur votre propre documentation, vous agirez dessus, et le travail sera gaspillé.

Une colonne vide et une colonne qui n’a pas pu être lue ont la même apparence à l’écran et signifient le contraire. L’une est un trou de documentation de votre côté. L’autre est un trou de droits sur la connexion.

La même discipline traverse le reste du produit. Une carte de traçabilité nomme ce qui a complété son grain. Une couche vide obtient zéro, pas un flatteur cent. Une première synchronisation qui revient maigre vous montre votre couverture ou vous montre vos droits, et le rapport est censé dire lequel des deux c’est.

Les droits à demander

Une courte liste à apporter à qui possède votre entrepôt.

  • Lecture sur le catalogue ou la base de données que vous voulez inventorier, et sur son schéma d’information.
  • Lecture sur l’objet contrat lui-même : le modèle sémantique, la semantic view ou la metric view.
  • Le privilège, quel qu’il soit, que votre plateforme exige pour lire les références d’étiquettes ; sans lui, la propriété et la classification s’affichent vides.
  • Un point de terminaison de calcul que le rôle est autorisé à utiliser, parce que certaines lectures de gouvernance sont des requêtes.

Demandez le plus petit ensemble qui répond à votre première question, lancez une synchronisation, puis lisez ce qui est revenu vide. Accorder sur la base de preuves est une bien meilleure conversation que d’arriver avec une liste, et cela laisse votre équipe entrepôt tenir la frontière, ce qui est exactement sa place.