- Vue d'ensemble (Overview)
- Construction de modèles
- Validation du modèle
- Déploiement du modèle
- API
- Événements d'audit d'API
- Questions fréquemment posées

Guide de l'utilisateur des documents complexes et non structurés
Vous pouvez interroger les événements d'audit pour récupérer un enregistrement détaillé des actions des utilisateurs et du système au sein de la plate-forme.
/api/v1/audit_events/query
Bash
curl -X POST 'https://<my_api_endpoint>/api/v1/audit_events/query' \
-H "Authorization: Bearer $REINFER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"timestamp": {
"maximum": "2021-07-10T00:00:00Z",
"minimum": "2021-06-10T00:00:00Z"
}
}
}'
curl -X POST 'https://<my_api_endpoint>/api/v1/audit_events/query' \
-H "Authorization: Bearer $REINFER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"filter": {
"timestamp": {
"maximum": "2021-07-10T00:00:00Z",
"minimum": "2021-06-10T00:00:00Z"
}
}
}'
Nœud
const request = require("request");
request.post(
{
url: "https://<my_api_endpoint>/api/v1/audit_events/query",
headers: {
Authorization: "Bearer " + process.env.REINFER_TOKEN,
},
json: true,
body: {
filter: {
timestamp: {
maximum: "2021-07-10T00:00:00Z",
minimum: "2021-06-10T00:00:00Z",
},
},
},
},
function (error, response, json) {
// digest response
console.log(JSON.stringify(json, null, 2));
}
);const request = require("request");
request.post(
{
url: "https://<my_api_endpoint>/api/v1/audit_events/query",
headers: {
Authorization: "Bearer " + process.env.REINFER_TOKEN,
},
json: true,
body: {
filter: {
timestamp: {
maximum: "2021-07-10T00:00:00Z",
minimum: "2021-06-10T00:00:00Z",
},
},
},
},
function (error, response, json) {
// digest response
console.log(JSON.stringify(json, null, 2));
}
);Python
import json
import os
import requests
response = requests.post(
"https://<my_api_endpoint>/api/v1/audit_events/query",
headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
json={
"filter": {
"timestamp": {
"minimum": "2021-06-10T00:00:00Z",
"maximum": "2021-07-10T00:00:00Z",
}
}
},
)
print(json.dumps(response.json(), indent=2, sort_keys=True))
import json
import os
import requests
response = requests.post(
"https://<my_api_endpoint>/api/v1/audit_events/query",
headers={"Authorization": "Bearer " + os.environ["REINFER_TOKEN"]},
json={
"filter": {
"timestamp": {
"minimum": "2021-06-10T00:00:00Z",
"maximum": "2021-07-10T00:00:00Z",
}
}
},
)
print(json.dumps(response.json(), indent=2, sort_keys=True))
Réponse
{
"audit_events": [
{
"actor_user_id": "e2148a6625225593",
"dataset_ids": ["1fe230edc85ffc1a"],
"event_id": "2555880060c23eb5",
"event_type": "get_datasets",
"project_ids": ["ce3c61dcf210f425", "274400867ab17af9"],
"tenant_ids": ["c59b6e209da438a8"],
"timestamp": "2021-06-10T16:32:53Z"
}
],
"continuation": "2555880060c23eb5",
"datasets": [
{
"id": "1fe230edc85ffc1a",
"name": "collateral-sharing",
"project_id": "ce3c61dcf210f425",
"title": "Collateral Sharing"
},
{
"id": "274400867ab17af9",
"name": "Customer-Feedback",
"project_id": "ce3c61dcf210f425",
"title": "Customer Feedback"
}
],
"projects": [
{
"id": "ce3c61dcf210f425",
"name": "bank-collateral",
"tenant_id": "c59b6e209da438a8"
}
],
"status": "ok",
"tenants": [
{
"id": "c59b6e209da438a8",
"name": "acme"
}
],
"users": [
{
"display_name": "Alice",
"email": "alice@acme.example",
"id": "e2148a6625225593",
"tenant_id": "c59b6e209da438a8",
"username": "alice"
}
]
}{
"audit_events": [
{
"actor_user_id": "e2148a6625225593",
"dataset_ids": ["1fe230edc85ffc1a"],
"event_id": "2555880060c23eb5",
"event_type": "get_datasets",
"project_ids": ["ce3c61dcf210f425", "274400867ab17af9"],
"tenant_ids": ["c59b6e209da438a8"],
"timestamp": "2021-06-10T16:32:53Z"
}
],
"continuation": "2555880060c23eb5",
"datasets": [
{
"id": "1fe230edc85ffc1a",
"name": "collateral-sharing",
"project_id": "ce3c61dcf210f425",
"title": "Collateral Sharing"
},
{
"id": "274400867ab17af9",
"name": "Customer-Feedback",
"project_id": "ce3c61dcf210f425",
"title": "Customer Feedback"
}
],
"projects": [
{
"id": "ce3c61dcf210f425",
"name": "bank-collateral",
"tenant_id": "c59b6e209da438a8"
}
],
"status": "ok",
"tenants": [
{
"id": "c59b6e209da438a8",
"name": "acme"
}
],
"users": [
{
"display_name": "Alice",
"email": "alice@acme.example",
"id": "e2148a6625225593",
"tenant_id": "c59b6e209da438a8",
"username": "alice"
}
]
}Un événement d'audit est l'enregistrement d'une action qu'un utilisateur effectue sur la plate-forme IXP. Exemples d'événements auditables :
- Un utilisateur qui se connecte.
- Un utilisateur qui modifie son mot de passe.
- Un utilisateur qui modifie les autorisations d'un autre utilisateur.
| Nom | Saisie de texte | Requis | Description |
|---|---|---|---|
continuation | string | non | Si une requête précédente a renvoyé un continuation dans la réponse, une autre page d'événements est disponible. Définissez la valeur de poursuite renvoyée ici pour extraire la page suivante.
|
limit | Numérique | non | Le nombre d'événements d'audit à renvoyer par page. La valeur par défaut est 128. |
filter | Filtrer (Filter) | non | Un filtre qui spécifie les événements d'audit à renvoyer. |
filter a le format suivant :
| Nom | Saisie de texte | Requis | Description |
|---|---|---|---|
timestamp | FiltreHorodatage | non | Un filtre qui spécifie la plage de temps dans laquelle renvoyer les événements. |
TimestampFilter a le format suivant :
| Nom | Saisie de texte | Requis | Description |
|---|---|---|---|
minimum | string | non | Horodatage ISO-8601. Si fourni, il ne renvoie un événement d'audit qu'après ou en incluant cet horodatage. |
maximum | string | non | Horodatage ISO-8601. Si fourni, seul un événement d'audit est renvoyé avant cet horodatage. |
Cette section contient tous les types d'événement d'audit qui s'appliquent aux documents complexes et non structurés.
Gestion de projet
| Type d'événement | Description |
|---|---|
ucd_project_created | Un projet Documents complexes et non structurés est créé. |
ucd_project_deleted | Un projet Documents complexes et non structurés est supprimé. |
Gestion des modèles
| Type d'événement | Description |
|---|---|
model_version_published | Un modèle est publié. |
model_version_unpublished | Une balise de modèle est mise à jour. |
model_tag_deleted | Un modèle publié est supprimé. |
Gestion des ensembles de données
| Type d'événement | Description |
|---|---|
get_datasets | Les ensembles de données sont récupérés. |
get_datasets_by_owner | Les ensembles de données sont récupérés par le propriétaire. |
get_dataset | Un ensemble de données spécifique est récupéré. |
export_dataset | Un ensemble de données est exporté. |
Gestion des utilisateurs
| Type d'événement | Description |
|---|---|
create_user | Un nouvel utilisateur est créé. |
delete_user | Un utilisateur est supprimé. |
get_users | Les informations de l'utilisateur sont extraites. |
update_user | Les informations de l'utilisateur sont modifiées. |
Authentification et sécurité
| Type d'événement | Description |
|---|---|
login_success | Connexion de l'utilisateur réussie. |
authentication_failed_password | Connexion échouée en raison d'un mot de passe incorrect. |
authentication_failed_totp | Connexion échouée en raison d'un code TOTP erroné. |
login_failed_ip_address | Connexion échouée en raison de restrictions de l'adresse IP. |
revoke_api_tokens | Les jetons d'API sont révoqués. |
revoke_login_tokens | Les jetons de connexion sont révoqués. |
revoke_current_login_token | Le jeton de session actuel est révoqué. |
replace_api_token | Le jeton d'API est remplacé. |
authentication_failed_totp_lockout | Connexion échouée en raison du verrouillage de TOTP. |
Réinitialisation du mot de passe
| Type d'événement | Description |
|---|---|
send_password_reset_success | E-mail de réinitialisation de mot de passe envoyé avec succès. |
send_password_reset_failed_ip_address | Réinitialisation de mot de passe bloquée par une IP. |
verify_password_reset_success | Vérification réussie de la réinitialisation du mot de passe. |
verify_password_reset_failed_ip_address | Vérification de la réinitialisation du mot de passe bloquée par IP. |
change_password_success | Modification de mot de passe réussie. |
change_password_failed_totp | Échec de la modification du mot de passe en raison de TOTP. |
change_password_failed_ip_address | Modification du mot de passe bloqué par IP. |
verify_password_reset_failed_signature | Signature de réinitialisation de mot de passe non valide. |
verify_password_reset_failed_timestamp | Lien de réinitialisation du mot de passe expiré. |
change_password_failed_current_password | Mot de passe actuel incorrectement fourni. |
Requête concernant les commentaires.
| Type d'événement | Description |
|---|---|
comment_query_text | Requêtes de commentaires basées sur du texte. |
comment_query_sample | Exemples de requêtes de commentaire. |
comment_query_learning | Requêtes de commentaires liées à l'apprentissage. |
comment_query_any_label_asc | Requêtes basées sur des étiquettes dans l'ordre croissant. |
comment_query_recent | Requêtes de commentaires récents. |
comment_query_by_label | Requêtes filtrées par des étiquettes spécifiques. |
comment_query_diagnostic | Requêtes de commentaires de diagnostic. |
comment_query_label_property | Requêtes de propriété d'étiquettes. |
comment_query_attachment_text | Requêtes de Text de pièce jointe. |
Annotations
| Type d'événement | Description |
|---|---|
get_annotations | Les annotations sont extraites. |
update_annotation | Une Annotation est modifiée. |
Gestion des quotas
| Type d'événement | Description |
|---|---|
quota_set | Un quota est défini. |
quota_reset | Un quota est réinitialisé. |
quotas_get | Les quotas sont récupérés. |
Système et administration
| Type d'événement | Description |
|---|---|
audit_event_query | Les événements d'audit sont interrogés directement. |