omni-admin

Par exploreomni · omni-agent-skills

Administrer une instance Omni Analytics — gérer les connexions, les utilisateurs, les groupes, les attributs utilisateur, les permissions, les planifications et les rafraîchissements de schéma via l'Omni CLI. Utiliser cette skill chaque fois que quelqu'un souhaite gérer des utilisateurs ou des groupes, configurer des permissions sur un dashboard ou un dossier, paramétrer des attributs utilisateur, créer ou modifier des planifications, gérer des connexions à des bases de données, rafraîchir un schéma, mettre en place des contrôles d'accès, provisionner des utilisateurs, ou toute variante de « ajouter un utilisateur », « donner accès à », « configurer des permissions », « qui a accès », « configurer une connexion », « rafraîchir le schéma » ou « planifier une livraison ».

npx skills add https://github.com/exploreomni/omni-agent-skills --skill omni-admin

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 json pour forcer une sortie structurée adaptée à l'analyse programmatique, ou -o human pour des tableaux lisibles. Par défaut, c'est auto (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

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

Skills similaires