Créer des listes de contrôle d’accès (ACL) pour SQL API

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • Configurez le contrôle d’accès au niveau de la table à l’aide des opérations egress_sql et lecture pour accorder aux comptes de services l’accès aux requêtes à des tables spécifiques via le SQL API.

    Avant de commencer

    Vérifiez que les conditions préalables suivantes sont en place :

    • Vous avez créé un compte de service et lui avez affecté sn_odbc_rest_access et/ou sn_jdbc_rest_access rôle.
    • Vous avez identifié les tables qui ServiceNow doivent être accessibles via le SQL API fichier .

    Rôle requis : security_admin

    Pourquoi et quand exécuter cette tâche

    L’accès aux tables via le n’est SQL API pas accordé globalement. Pour chaque table qu’un compte de service doit interroger, vous devez créer deux listes de contrôle d’accès (ACL). Créez-en un pour l’opération de egress_sql (qui contrôle SQL API l’exportation des données) et un pour l’opération de lecture (qui contrôle l’accès au niveau de l’enregistrement). Un compte de service peut uniquement interroger les tables pour lesquelles les deux ACL ont été explicitement configurées.

    Par défaut, vérifie l’accès SQL API au niveau de la table, de la ligne et du champ pour chaque requête. Cela suit ServiceNow l’approche sécurisée par défaut de . Le SQL API valide toutes les ACL de votre instance enregistrement par enregistrement. Cela peut entraîner des délais de réponse plus longs. C’est normal.

    Si votre cas d’utilisation ne nécessite pas de vérifications au niveau des lignes et des champs, vous pouvez les désactiver en affectant le rôle sn_sql_api_privileged_mode au compte de service. Par exemple, une intégration de Business Intelligence. Les vérifications ACL au niveau de la table restent en vigueur et ne peuvent pas être désactivées.

    Répétez cette procédure pour chaque combinaison de table et de rôle nécessitant un SQL API accès. Si vous avez plusieurs comptes de service avec des rôles différents, créez des ACL distinctes pour chaque combinaison de rôle et de table.

    Procédure

    1. Accédez à la Tous > Sécurité de système > Contrôle d’accès (ACL).
    2. Sélectionnez Nouveau.
    3. Sur le formulaire Contrôle d’accès, configurez la première ACL pour l’opération egress_sql.
      Champ Valeur
      Opération Sélectionnez egress_sql dans la liste déroulante. Cette opération contrôle si les données peuvent être exportées via le SQL API.
      Type de décision Autoriser si
      Nom Sélectionnez la table à laquelle vous souhaitez accorder l’accès. Par exemple, incident [incident] ou cmdb_ci.
      Demande un rôle Saisissez le rôle affecté à votre compte de service (par exemple, sn_odbc_rest_access, sn_jdbc_rest_access).

      Ajoutez la sn_sql_api_privileged_mode de rôle pour désactiver les vérifications au niveau de la ligne et du champ au niveau du compte de service.

      Exemple d’écran d’interface utilisateur montrant la configuration de la définition de contrôle d’accès avec les rôles requis.
    4. Sélectionnez et maintenez enfoncé (ou cliquez avec le bouton droit de la souris) l'en-tête du formulaire, puis sélectionnez Enregistrer.
    5. Créez la deuxième ACL pour la même table en sélectionnant Nouveau.
    6. Sur le formulaire de contrôle d’accès, configurez la deuxième ACL pour l’opération de lecture :
      Champ Description
      Opération Sélectionnez Lire dans la liste déroulante. Cette opération contrôle l’accès à la table au niveau des enregistrements.
      Type de décision Autoriser si
      Nom Sélectionnez la même table que celle que vous avez spécifiée dans l’ACL egress_sql.
      Demande un rôle Saisissez le rôle que vous avez spécifié dans l’ACL egress_sql.
    7. Sélectionnez et maintenez enfoncé (ou cliquez avec le bouton droit de la souris) l'en-tête du formulaire, puis sélectionnez Enregistrer.
    8. Répétez les étapes 2 à 7 pour chaque table supplémentaire nécessitant un SQL API accès.
      Vous avez créé les deux ACL requises (egress_sql et lecture) pour chaque table.

    Résultats

    Vous avez configuré avec succès le contrôle d’accès au niveau de la table pour le SQL API. Le compte de service peut interroger les tables pour lesquelles des ACL de egress_sql et de lecture ont été créées, sous réserve des besoins de rôle que vous avez spécifiés.

    N’oubliez pas que l’accès est accordé par table. Si vous accordez l’accès à des tables supplémentaires, ou si vous créez des comptes de service supplémentaires avec des rôles différents, répétez cette procédure pour créer les ACL appropriées.