Data Access Control dans Agent Observability
Ce produit n'est pas pris en charge par le
site Datadog que vous avez sélectionné. (
).
Présentation
Les projets Agent Observability peuvent contenir des éléments sensibles, notamment des prompts de jeux de données et les sorties attendues, des traces issues d’exécutions d’expériences, des résultats d’évaluation et des traces en cours d’examen dans les files d’attente d’annotation. Data Access Control vous permet de restreindre un projet afin que seules les équipes ou les rôles que vous spécifiez puissent le voir.
Lorsqu’un projet est restreint, les utilisateurs en dehors des équipes ou des rôles auxquels vous avez accordé l’accès ne peuvent pas :
- Voir le projet, ou ses expériences, jeux de données et files d’attente d’annotation, dans n’importe quelle vue de liste ou résultat de recherche
- Lire les enregistrements du jeu de données du projet, y compris les entrées et les sorties attendues
- Lire les métriques d’évaluation produites par les exécutions d’expériences du projet
- Lire les spans produits par ces exécutions, à l’exception des expériences exécutées via le SDK (voir Limitations)
- Lire les files d’attente d’annotation du projet, y compris les traces en cours d’examen et les étiquettes qui leur sont appliquées
- Créer, modifier ou supprimer tout élément à l’intérieur du projet, même avec un ID obtenu précédemment
Les utilisateurs en dehors de ces équipes ou rôles reçoivent une réponse non trouvé lorsqu’ils ouvrent un lien direct vers le projet ou vers tout élément à l’intérieur de celui-ci.
Les restrictions s’appliquent dans l’interface utilisateur Datadog et dans l’API. Les clés d’application sont soumises aux mêmes restrictions que l’utilisateur qui les possède.
Prérequis
- Data Access Control est configuré pour votre organisation. Voir Data Access Control.
- Vous disposez du rôle Datadog Admin, ou d’un autre rôle comportant l’autorisation
user_access_manage permission. - Le projet que vous souhaitez restreindre existe déjà dans Agent Observability.
Restreindre un projet dans l’interface utilisateur
Datadog déploie une page de contrôle d'accès repensée. Votre organisation dispose soit de la page Data Access Controls, soit de la page Access Control repensée. Le lien de l'étape 1 vous dirige vers celle dont vous disposez, et les deux configurent la même restriction.
Accédez à Organization Settings > Data Access Controls.
Créez une restriction qui couvre un sous-ensemble de données :
- Sur la page Data Access Controls, cliquez sur New Restricted Dataset.
- Sur la page Access Control, cliquez sur New Policy > Sensitive Data Partition.
Donnez-lui un nom qui identifie le projet qu’il protège, par exemple Experiments - Fraud Detection.
Ajoutez un filtre sur le produit Agent Observability, puis spécifiez le projet :
Sur la page Access Control, sélectionnez le projet dans la liste des valeurs. La liste comporte deux groupes : vos projets et les applications qui envoient des traces à Agent Observability. Sélectionnez dans le groupe des projets.
- Saisir le nom du projet, même partiellement ou avec une faute de frappe, ne correspond à aucune donnée Experiments. Le projet reste visible pour tout le monde et la restriction semble fonctionner.
- Les projets déjà couverts par un autre Restricted Dataset n'apparaissent pas dans la liste. Un projet ne peut appartenir qu'à un seul Restricted Dataset à la fois.
Sur la page Data Access Controls, saisissez l’ID du projet comme valeur ml_app. Consultez Trouver l’ID d’un projet.
Accordez l’accès aux équipes ou aux rôles qui doivent conserver l’accès au projet. Un maximum de 50 équipes ou rôles peut être associé à un seul Restricted Dataset.
Enregistrez le jeu de données restreint.
Remarque : La clé de filtre peut être verrouillée. Agent Observability utilise une clé de tag, ml_app, pour les applications et les projets, et Data Access Control autorise une clé de tag par type de télémétrie. Si votre organisation possède déjà un jeu de données restreint pour Agent Observability, les nouveaux jeux de données réutilisent la même clé.
La restriction prend effet dès son enregistrement. Le projet ainsi que ses expériences, jeux de données, enregistrements de jeux de données et files d’attente d’annotation sont immédiatement masqués, quelle que soit leur date de création. Les spans et les métriques d’évaluation sont soumis aux exceptions mentionnées dans Limitations.
Restreindre un projet via l’API
Vous pouvez également créer une restriction avec l’API Datasets de Data Access Control. Le filtre de produit ml_obs utilise l’ID de projet comme valeur ml_app :
{
"data": {
"type": "dataset",
"attributes": {
"name": "Experiments - Fraud Detection",
"product_filters": [
{
"product": "ml_obs",
"filters": ["ml_app:3547f4ac-3af4-4733-9a70-8fe596e1e76d"]
}
],
"principals": ["team:f771276e-0847-4c24-a277-6744f8520bb4"]
}
}
}
Files d’attente d’annotation
Une file d’attente d’annotation appartenant à un projet hérite de la restriction de ce projet. La restriction d’un projet masque ses files d’attente, les traces qu’elles contiennent pour examen, les étiquettes appliquées par les examinateurs et le schéma d’étiquetage de chaque file d’attente. Les utilisateurs extérieurs aux équipes ou aux rôles autorisés ne peuvent pas annoter, modifier ou supprimer une file d’attente, et ne peuvent pas exporter ses interactions annotées vers un jeu de données ou au format CSV.
Les paramètres d’accès propres à une file d’attente sont distincts : les restrictions sur l’examinateur et le responsable contrôlent qui peut annoter une file d’attente qu’un utilisateur peut déjà voir. Data Access Control détermine qui peut voir la file d’attente.
Chaque file d’attente d’annotation que vous créez doit appartenir à un projet. Les files d’attente créées avant l’entrée en vigueur de cette exigence peuvent ne pas avoir de projet. Voir Limitations.
Trouver l’ID d’un projet
La page Data Access Control et l’API Datasets utilisent un ID de projet comme valeur ml_app, et non un nom de projet. Récupérez l’ID de projet depuis l’URL du projet dans Experiments, ou depuis le champ id renvoyé par l’Experiments API lors de la liste des projets.
Accorder et révoquer l’accès
Accordez l’accès en modifiant les équipes ou les rôles sur le Restricted Dataset. La suppression d’une équipe ou d’un rôle prend effet immédiatement. La suppression du Restricted Dataset supprime entièrement la restriction, et le projet redevient visible pour tous les membres de l’organisation ayant un accès en lecture à Agent Observability.
Être administrateur ne vous dispense pas d’une restriction. L’autorisation user_access_manage vous permet de créer et de modifier des Restricted Datasets, mais l’accès à un projet restreint suit uniquement l’appartenance aux équipes et aux rôles. Un administrateur qui ne fait pas partie d’une équipe ou d’un rôle autorisé voit le projet comme introuvable, exactement comme n’importe quel autre utilisateur.
Limitations
- Les spans provenant d’une exécution d’expérience via le SDK ne sont pas restreints par un Restricted Dataset sur le projet. Ces spans sont attribués à l’application qui a exécuté l’expérience, et non au projet. Un Restricted Dataset sur le projet masque le projet et ses jeux de données, enregistrements de jeux de données et métriques d’évaluation, mais pas les entrées et sorties de ces spans. Pour restreindre également ces spans, ajoutez un second filtre pour la valeur
ml_app de l’application au même Restricted Dataset. - Les spans et les métriques d’évaluation qui n’ont pas été marqués avec le projet lors de l’ingestion ne sont pas restreints. Le projet est attaché à ces événements en tant que tag au moment de l’ingestion, et les événements passés ne sont pas re-tagués. Les événements qui portent le tag sont masqués dès que la restriction est enregistrée. Les vues de liste, les métadonnées et les enregistrements de jeux de données sont masqués indépendamment de leur date de création.
- Les prompts gérés ne sont pas pris en charge par Data Access Control. Consultez Data Access Control pour obtenir la liste complète de la télémétrie prise en charge.
- Une file d’attente d’annotation qui n’appartient pas à un projet est visible par tous ceux ayant un accès en lecture à Agent Observability, et aucun Restricted Dataset ne peut la masquer. Déplacez la file d’attente dans un projet, ou recréez-la dans un projet, pour la soumettre à une restriction.
- Un projet sans Restricted Dataset est visible par tout le monde disposant d’un accès en lecture à Agent Observability. Data Access Control est permissif par défaut, sauf si votre organisation attribue aux données d’Agent Observability situées en dehors des Restricted Datasets la mention Restricted. Un Restricted Dataset dont la valeur ne correspond à aucun projet ne restreint rien silencieusement. Confirmez chaque nouvelle restriction auprès d’un utilisateur extérieur aux équipes ou aux rôles autorisés.
- Lorsque Agent Observability est configuré sur Restricted, un projet n’est visible que si un Restricted Dataset indique son ID de projet. Une valeur
ml_app qui est un nom d’application n’accorde rien dans Experiments, de sorte que le projet reste masqué pour tout le monde, y compris pour les équipes et les rôles sur vos autres Restricted Datasets. Consultez Trouver l’ID d’un projet.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: