Configurer HMAC - Authentification basée sur les jetons
Configurez HMAC pour prendre en charge l’authentification pour les points de terminaison d’API REST.
Avant de commencer
Rôle requis : api_service_admin, adaptive_auth_policy_admin
Module d’extension requis : clé API et authentification HMAC (com.glide.tokenbased_auth)
Remarque :
Lors de la configuration du HMAC, assurez-vous que le nom du script qui commence par HMAC est renseigné dans la vue de liste de scripts.
Procédure
-
Créez une configuration HMAC.
- Accédez à la Tous > Services web système > Politiques d'accès API > HMAC Configuration.
-
Sélectionnez Nouveau.
Remarque :Vous pouvez également utiliser l’encodage HMAC SHA256 Base64 par défaut créé lors de l’installation du module d’extension.
-
Renseignez les champs suivants du formulaire :
Tableau 1. HMAC Configuration Champ Description Nom Nom de la configuration HMAC. Application Périmètre de la configuration. Description Description détaillée de la configuration. Algorithme de hachage Choisissez l’algorithme de hachage. Options disponibles : - HmacSHA256
- HmacSHA384
- HmacSHA512
Script d'utilitaire HMAC Script utilitaire pour HMAC. Remarque :Si vous validez l’authentification HMAC à l’aide du corps de la demande, de l’horodatage et du secret sans ID de clé, procédez comme suit :- Créer un include de script personnalisé en tant que script d’utilitaire HMAC
- Utilisez cet utilitaire d’inclusion de script pour interpréter l’horodatage transmis et le corps de la demande.
Pour chaque secret partagé créé dans l’instance ServiceNow® , il existe un ID de clé. Vous devez configurer l’ID de clé dans l’ID de clé par défaut dans le profil d’authentification HMAC.
- Envoyez l’enregistrement.
-
Créez un profil d’authentification entrant.
- Accédez à la Tous > Services web système > Politiques d'accès API > Profils d’authentification entrants.
-
Sélectionnez Nouveau.
Le système affiche le message Quel type de profil d’authentification ?
-
Sélectionnez Créer des profils d’authentification HMAC.
-
Remplissez les champs du formulaire.
Tableau 2. Profils d’authentification HMAC Champ Description Nom Nom permettant d’identifier la politique d’authentification. Application Périmètre de la politique d’authentification. Configuration pour HMAC Sélectionnez la configuration HMAC qui a été créée. Paramètre d’authentification Sélectionnez le paramètre d’authentification pour la demande d’authentification. Vous pouvez sélectionner les options par défaut ou créer un nouveau paramètre d’authentification : - x-sn-hmac-signature-256 : en-tête d’authentification
- x-sn-hmac-signature-256 : paramètre de requête
ID de clé par défaut du secret partagé Les informations de jeton qui peuvent être mises à jour dans ce champ pour l’utilisation de HMAC. Remarque :L’option sélectionnée doit être définie dans l’appel REST dans le cadre de l’en-tête d’authentification ou du paramètre de requête. - Envoyez le formulaire.
-
Créez un secret HMAC.
- Accédez à la Tous > Services web système > Politiques d'accès API > Secret HMAC de l’API REST.
- Sélectionnez Nouveau.
-
Renseignez les champs suivants du formulaire :
Tableau 3. Secret HMAC de l’API REST Champ Description Nom Nom permettant d’identifier le secret HMAC de l’API REST. Description Description du secret HMAC de l’API REST. Actives Statut du secret HMAC de l’API REST. Utilisateur Utilisateur associé au secret HMAC de l’API REST. Utilisez l’icône de recherche pour sélectionner l’utilisateur. ID clé ID de clé qui doit être envoyé dans le cadre de l’appel REST. L’ID clé est généré après la soumission du formulaire. Secret partagé Secrets partagés de l’utilisateur. Par exemple, le mot de passe. Source Source de l’enregistrement. Expiration Heure après laquelle les informations d’identification ne sont plus valides. Une valeur vide signifie qu’il n’y a pas d’expiration. Remarque :Pour plus d’informations sur l’expiration du jeton, reportez-vous à la section Nettoyage en cours de l’expiration du jeton . - Envoyez le formulaire.
-
Ouvrez l’enregistrement qui a été créé.
Recherchez l’ID de clé généré par l’utilisateur ServiceNow AI Platform pour l’utilisateur.
Remarque :Vous pouvez ajouter l’ID de clé généré pendant l’ID de clé dans le profil d’authentification créé pour HMAC si vous ne souhaitez pas spécifier le paramètre Auth ou Query pour l’appel d’API.
-
Créez une politique d’accès REST API.
- Accédez à la Tous > Services web système > Politiques d’accès REST API.
- Sélectionnez Nouveau.
-
Remplissez les champs du formulaire.
Tableau 4. Politiques d'accès API Champ Description Nom Nom unique de la politique d’accès API. Actives Option permettant d’activer la politique d’accès API. API REST API REST à laquelle la politique d’accès est appliquée. Par exemple, l’API de pièce jointe. CHEMIN REST API Chemin d’accès de l’API REST. Ce champ est rempli automatiquement en fonction de l’API REST sélectionnée. Par exemple, now/attachment. Méthode HTTP Méthode utilisée pour interagir avec l’API. Ce champ est rempli automatiquement en fonction de l’API REST sélectionnée. Version Version de l’API. Par exemple, v1. Ce champ est rempli automatiquement en fonction de l’API REST sélectionnée. Remarque :Si vous souhaitez créer une politique d’authentification pour toutes les versions d’une API REST, vous devez créer des politiques individuelles pour chaque version.Ressource Ressource enfant de l’API REST. Ce champ est rempli automatiquement en fonction de l’API REST sélectionnée. Par exemple, /now/attachment Application Périmètre de l'application. Global Activez ce champ pour appliquer la politique d’authentification à toutes les méthodes, versions et ressources de l’API. Remarque :L’authentification basée sur le jeton n’est pas autorisée dans la politique API REST globale.Appliquer à toutes les méthodes Activez ce champ pour appliquer la politique d’authentification de l’API à l’ensemble des méthodes, versions et ressources de l’API. Appliquer à toutes les ressources Activez ce champ pour appliquer la politique d’authentification de l’API à toutes les versions. Appliquer à toutes les versions Activez ce champ pour appliquer la politique d’authentification de l’API à toutes les ressources. -
Ajoutez le profil d’authentification API qui a été créé.
-
Envoyez le formulaire.
Vous pouvez envoyer l’appel d’API REST :
- Avec la signature x-sn-hmac-256 qui a été générée ServiceNow® lors de la création de clé API dans le paramètre En-tête ou Requête en fonction de la configuration d’authentification.
- Avec script de pré-demande avec secret partagé spécifié dans le cadre de la demande.
Avertissement :Utilisez la requête POST lors de la soumission d’informations sensibles au serveur.