Omni Admin
Gérez votre instance Omni — connexions, utilisateurs, groupes, attributs utilisateur, permissions, planifications et actualisations de schéma.
Conseil : La plupart des endpoints admin nécessitent une clé API d'organisation (pas un jeton d'accès personnel).
Prérequis
# Vérifiez que Omni CLI est installé — sinon, demandez à l'utilisateur de l'installer
# Voir : https://github.com/exploreomni/cli#readme
command -v omni >/dev/null || echo "ERROR: Omni CLI is not installed."
# Affichez les profils disponibles et sélectionnez celui approprié
omni config show
# S'il existe plusieurs profils, demandez à l'utilisateur lequel utiliser, puis basculez :
omni config use <profile-name>
Découvrir les commandes
omni scim --help # Gestion des utilisateurs et groupes
omni schedules --help # Opérations de planification
omni connections --help # Gestion des connexions
omni documents --help # Permissions sur les documents
omni folders --help # Permissions sur les dossiers
Conseil : Utilisez
-o jsonpour forcer une sortie structurée adaptée à l'analyse programmatique, ou-o humanpour des tableaux lisibles. Par défaut, c'estauto(human dans un TTY, JSON en redirection).
Connexions
# Lister les connexions
omni connections list
# Planifications d'actualisation de schéma
omni connections schedules-list <connectionId>
# Environnements de connexion
omni connections connection-environments-list
Gestion des utilisateurs (SCIM 2.0)
# Lister les utilisateurs
omni scim users-list
# Chercher par e-mail
omni scim users-list --filter 'userName eq "user@company.com"'
# Créer un utilisateur
omni scim users-create --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "newuser@company.com",
"displayName": "New User",
"active": true,
"emails": [{ "primary": true, "value": "newuser@company.com" }]
}'
# Désactiver un utilisateur
omni scim users-update <userId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"Operations": [{ "op": "replace", "path": "active", "value": false }]
}'
# Supprimer un utilisateur
omni scim users-delete <userId>
Gestion des groupes (SCIM 2.0)
# Lister les groupes
omni scim groups-list
# Créer un groupe
omni scim groups-create --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"displayName": "Analytics Team",
"members": [{ "value": "user-uuid-1" }]
}'
# Ajouter des membres
omni scim groups-update <groupId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"Operations": [{ "op": "add", "path": "members", "value": [{ "value": "new-user-uuid" }] }]
}'
Attributs utilisateur
# Lister les attributs
omni user-attributes list
# Définir un attribut sur un utilisateur (via SCIM)
omni scim users-update <userId> --body '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"Operations": [{
"op": "replace",
"path": "urn:omni:params:1.0:UserAttribute:region",
"value": "West Coast"
}]
}'
Les attributs utilisateur fonctionnent avec access_filters dans les topics pour la sécurité au niveau des lignes.
Rôles de modèle
# Obtenir/définir les rôles de modèle pour un utilisateur
omni users get-model-roles <userId>
omni users assign-model-role <userId> --body '{ "modelId": "{modelId}", "role": "VIEWER" }'
# Obtenir/définir les rôles de modèle pour un groupe
omni users user-groups-get-model-roles <groupId>
omni users user-groups-assign-model-role <groupId> --body '{ "modelId": "{modelId}", "role": "VIEWER" }'
Permissions sur les documents
# Obtenir les permissions pour un utilisateur (userId requis)
omni documents get-permissions <documentId> --userid <userId>
# Définir les permissions
omni documents update-permission-settings <documentId> --body '{
"permissions": [
{ "type": "group", "id": "group-uuid", "access": "view" },
{ "type": "user", "id": "user-uuid", "access": "edit" }
]
}'
Permissions sur les dossiers
# Obtenir
omni folders get-permissions <folderId>
# Définir
omni folders add-permissions <folderId> --body '{
"permissions": [{ "type": "group", "id": "group-uuid", "access": "view" }]
}'
Planifications
# Lister les planifications
omni schedules list
# Créer une planification
omni schedules create --body '{
"documentId": "dashboard-identifier",
"frequency": "weekly",
"dayOfWeek": "monday",
"hour": 9,
"timezone": "America/Los_Angeles",
"format": "pdf"
}'
# Gérer les destinataires
omni schedules recipients-get <scheduleId>
omni schedules add-recipients <scheduleId> --body '{ "recipients": [{ "type": "email", "value": "team@company.com" }] }'
Vérification après les modifications
Les opérations admin peuvent échouer silencieusement ou s'appliquer partiellement. Lisez toujours l'état après toute écriture pour confirmer que la modification a pris effet.
Après les opérations sur les utilisateurs
# Après la création ou la mise à jour d'un utilisateur, vérifiez qu'il existe avec l'état correct
omni scim users-list --filter 'userName eq "newuser@company.com"'
Vérifiez que : active correspond à ce que vous avez défini, displayName est correct et l'ID utilisateur a été retourné (pas une erreur).
Après les opérations sur les groupes
# Après la création d'un groupe ou la modification des membres, vérifiez l'adhésion
omni scim groups-list
Vérifiez que : le groupe existe avec le displayName attendu, et le tableau members contient les UUID utilisateur attendus.
Après les modifications de permissions
# Après la définition des permissions de document, vérifiez pour l'utilisateur cible
omni documents get-permissions <documentId> --userid <userId>
# Après la définition des permissions de dossier, vérifiez
omni folders get-permissions <folderId>
Vérifiez que : le niveau access des permissions correspond à ce que vous avez défini (view, edit), et l'ID utilisateur/groupe cible est listé.
Après les modifications d'attributs utilisateur
# Vérifiez que la valeur d'attribut a été définie
omni user-attributes list
Si l'attribut est utilisé pour la sécurité au niveau des lignes (access_filters), testez-le en exécutant une requête en tant qu'utilisateur cible :
omni query run --body '{ "query": { ... }, "userId": "<target-user-uuid>" }'
Vérifiez que les résultats sont correctement filtrés — l'utilisateur ne devrait voir que les lignes correspondant à la valeur de son attribut.
Après les opérations de planification
# Vérifiez que la planification a été créée avec les bons paramètres
omni schedules list
# Vérifiez que les destinataires ont été ajoutés
omni schedules recipients-get <scheduleId>
Vérifiez que : frequency, dayOfWeek, hour, timezone et format correspondent à ce que vous avez défini, et que tous les destinataires prévus sont listés.
Liste de vérification
| Opération | Vérifier avec | À vérifier |
|---|---|---|
| Créer/mettre à jour un utilisateur | omni scim users-list --filter ... |
L'utilisateur existe, le statut active est correct |
| Créer/mettre à jour un groupe | omni scim groups-list |
Le groupe existe, la liste des membres est correcte |
| Définir les permissions de document | omni documents get-permissions |
Le niveau d'accès et la cible sont corrects |
| Définir les permissions de dossier | omni folders get-permissions |
Le niveau d'accès et la cible sont corrects |
| Définir un attribut utilisateur | omni user-attributes list |
La valeur d'attribut est définie |
| Attribut utilisateur + filtre d'accès | omni query run avec userId |
Le filtrage au niveau des lignes fonctionne |
| Créer une planification | omni schedules list |
Les paramètres de planification sont corrects |
| Ajouter des destinataires | omni schedules recipients-get |
Tous les destinataires sont listés |
Cache et validation
# Réinitialiser la politique de cache
omni models cache-reset <modelId> <policyName> --body '{ "resetAt": "2025-01-30T22:30:52.872Z" }'
# Validateur de contenu (trouvez les références de champs cassées sur tous les tableaux de bord et tuiles)
# Utile pour l'analyse du rayon d'impact : supprimez un champ sur une branche, puis exécutez le
# validateur contre cette branche pour voir quel contenu se casse.
# Voir la section Field Impact Analysis dans omni-model-explorer pour le workflow complet.
omni models content-validator-get <modelId>
# Exécutez contre une branche spécifique (par exemple, après la suppression d'un champ)
omni models content-validator-get <modelId> --branch-id <branchId>
# Configuration Git
omni models git-get <modelId>
Documentation de référence
- Connections · Users (SCIM) · Groups (SCIM) · User Attributes · Document Permissions · Folder Permissions · Schedules · Schedule Recipients · Content Validator · API Authentication
Skills connexes
- omni-model-builder — modifiez le modèle auquel s'appliquent les contrôles d'accès
- omni-content-explorer — trouvez les documents avant de définir les permissions
- omni-content-builder — créez les tableaux de bord avant de planifier la livraison
- omni-embed — gérez les utilisateurs embed et les attributs utilisateur pour les tableaux de bord embarqués