---
sourceDocument: Gestion des services IT Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/it-service-management

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Gestion des services IT Xanadu

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Informations d'identification OAuth 2.0 pour GitHub les applications - JWT

# Informations d'identification OAuth 2.0 pour GitHub les applications - JWT {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 8 minutes de lecture

Procédez comme suit pour intégrer vos applications GitHub à l'aide du jeton de porteur JWT.

Avant de commencer

Rôle requis :

* oauth_admin dans Changements de vélocité DevOps.
* Compte administrateur dans GitHub.

{#dev-ops-github-apps-oath-jwt__ul_rxd_mpy_jsb}  
Remarque :  
Pour GitHub Enterprise Server (instance locale), OAuth n'est pas pris en charge si vous vous connectez à l'aide d'un MID Server.

## Configurer l'application GitHub dans votre GitHub compte (JWT) {#ariaid-title2}

Créez une application personnalisée GitHub à partir de votre GitHub compte pour activer l'authentification OAuth 2.0 avec votre ServiceNow instance.

### Avant de commencer

GitHub Condition requise : GitHub Application configurée pour s'intégrer à ServiceNow

Rôle requis : aucun rôle d'instance requis

### Pourquoi et quand exécuter cette tâche

Suivez ces étapes à partir de votre GitHub compte. Reportez-vous à [Bâtiment GitHub Applications](https://developer.github.com/apps/building-github-apps/) sur le site Developer pour obtenir des instructions sur la création et la GitHub configuration d'applications personnalisées.

### Procédure

1. À partir de votre GitHub compte, créez votre GitHub application en accédant à Paramètres de développeurApplications GitHub.
2. Dans le champ URL de la page d'accueil , saisissez <kbd class="ph userinput">https://&lt;nom-instance&gt;.service-now.com</kbd>.
3. Dans le champ URL de rappel d'autorisation de l'utilisateur , saisissez <kbd class="ph userinput">https://&lt;nom-instance&gt;.service-now.com/oauth_redirect.do</kbd>.
4. Dans la section Identification et autorisation des utilisateurs , désélectionnez le champ Faire expirer les jetons d'autorisation de l'utilisateur .
5. Dans la section Webhook , sélectionnez le champ Actif .
6. Dans le champ URL Webhook , saisissez <kbd class="ph userinput">https://&lt;nom-instance&gt;.service-now.com/api/sn_devops/v2/devops/tool/apps?toolId=&lt;ID d’outil</kbd>\>, où ID d'outil est votre GitHub ID d'outil (sys_id) à partir de Changements de vélocité DevOps.  
   Remarque :  
   Si vous venez de créer l'outil et que vous n'avez pas l'ID de l'outil, vous pouvez saisir l'URL Webhook sans l'ID de l'outil et la configurer ultérieurement. Pour configurer ultérieurement :
   1. Accédez à la page d'enregistrement de l'outil connecté.
   2. Sélectionnez Configurer l'application GitHub, puis sélectionnez Configurer automatiquement avec le jeton existant.

   {#dev-ops-config-github-acct-jwt__ol_nmg_pk4_ybc}Cela configure automatiquement l'URL Webhook de l'application GitHub.  
   Vous pouvez obtenir l'ID d'outil de l'une des manières suivantes :
   * Lors de la connexion à l'outil dans Changements de vélocité DevOps, l'ID de l'outil est disponible dans l'URL de la page. Par exemple, `https://<nom-instance>.service-now.com/.../sn_devops_tool/<ID d'outil>/...`.
   * Vous pouvez copier l'URL Webhook à partir de la page d'enregistrement de l'outil GitHub dans Changements de vélocité DevOps, à partir de ConfigurerConfigurer manuellement.URL webhook.
   {#dev-ops-config-github-acct-jwt__ul_qbv_2j4_ybc}
7. Laissez les champs restants vides (par défaut).
8. Dans la section Autorisations du référentiel , configurez les paramètres suivants.  

   |-|-|
   | Action | Lecture seule |
   | Vérifications | Lecture seule |
   | Contenus | Lecture seule |
   | Déploiements | Lecture et écriture |
   | Environnements | Lecture seule |
   | Métadonnées | Lecture seule |
   | Demandes d'extraction | Lecture seule |
   | Clés secrètes | Lecture seule |
   | Webhooks | Lecture et écriture Remarque : Des autorisations de lecture et d'écriture sont nécessaires pour configurer des webhooks à partir de ServiceNow. |
   [ ]

   {#dev-ops-config-github-acct-jwt__table_j5m_wcs_4mb}  
   Remarque :  
   Si vous utilisez déjà une application GitHub et que vous mettez à jour l'une des autorisations, vous devez vérifier et accepter ces autorisations pour votre application GitHub. Vous pouvez accéder à votre application, puis sélectionner Configurer \> demande d'examen \> Accepter de nouvelles autorisations.
9. Laissez les autorisations restantes sur <kbd class="ph userinput">Aucun accès</kbd> (par défaut).
10. Dans la section S'abonner aux événements , sélectionnez l'option Règle de protection du déploiement .
11. Enregistrez les changements.
12. Après avoir créé l'application GitHub , générez une nouvelle clé privée et enregistrez-la sur votre ordinateur.
13. Installez l'application nouvellement créée GitHub sur les comptes de votre choix.
    1. Sur la page des paramètres des applications GitHub, sélectionnez votre application.
    2. Dans la barre latérale gauche, sélectionnez Installer l'application.
    3. Sélectionnez Installer à côté du compte d'organisation ou personnel contenant le référentiel approprié.
    4. Installez l'application sur tous les référentiels ou sélectionnez des référentiels.  
       Pour plus d'informations, consultez [Installation d'applications GitHub](https://docs.github.com/en/developers/apps/managing-github-apps/installing-github-apps).
    {#dev-ops-config-github-acct-jwt__substeps_v31_znx_qvb}

## Ajouter l'ID client à la propriété DevOps {#ariaid-title3}

Après avoir configuré votre application GitHub, vous devez vous assurer que le préfixe d'ID client (3 premiers caractères ou plus de l'ID) est ajouté à la propriété DevOps : Spécificateur d'ID client pour l'application GitHub.

### Avant de commencer

Rôle requis : sn_devops.admin

### Procédure

1. Accédez à la Espaces de travailEspace de travail de changement DevOpsAdministrationConfiguration systèmePropriétés.
2. Changez le périmètre de l'application en DevOps Data Model.
3. Recherchez la propriété : Spécificateur d'ID client pour l'application GitHub \[sn_devops.github_oauth_client_id_specifier\].
4. Entrez le préfixe de l'ID client (3 premiers caractères ou plus de l'ID) de votre application GitHub dans la propriété.
5. Sélectionnez Enregistrer.

## Générer le certificat Java KeyStore pour GitHub {#ariaid-title4}

Générez un certificat Java KeyStore (JKS) pour l'authentification JWT.

### Avant de commencer

Rôle requis : administrateur

### Procédure

1. Créez un certificat signé par une autorité de certification à l'aide de la clé privée de l'application GitHub :  

       openssl req -new -x509 -key <file-name>.pem -out <certificate-name>.pem -days 1095

2. Saisissez les informations requises.
3. Créez le fichier PKCS 12 à l'aide de la clé privée de l'application et du certificat signé par l'autorité de GitHub certification :  

       openssl pkcs12 -export -in <certificate-name>.pem -inkey <file-name>.pem -certfile <certificate-name>.pem -out <PKCS-12-file-name>.p12 

4. Fournissez le mot de passe d'exportation.
5. Créez le fichier JKS :  

       keytool -importkeystore -srckeystore <PKCS-12-file-name>.p12 -srcstoretype pkcs12 -destkeystore <JKS-certificate-filename>.jks -deststoretype JKS

6. Fournissez les mots de passe de magasin de clés de destination et source.
{#dev-ops-generate-jks-cert-github__steps_jhr_rpr_4mb}

## Joindre le GitHub certificat Java KeyStore à votre instance {#ariaid-title5}

Activez l'authentification du jeton JWT Bearer Grant en joignant le certificat GitHub Java KeyStore (JKS) valide à votre instance ServiceNow.

### Avant de commencer

Assurez-vous de la disponibilité d'un certificat Java KeyStore valide.

Rôle requis : administrateur

### Procédure

1. Accédez à la ToutDéfinition du systèmeCertificats.
2. Sélectionnez Nouveau.
3. Renseignez les champs du formulaire.  
   {#dev-ops-attach-jks-cert-github__table_hvh_4tt_xgb__entry__2}

   | Champ | Description |
   |-|-|
   | Nom | Nom permettant d'identifier l'enregistrement de façon unique. Par exemple, <kbd class="ph userinput">Mon certificat d’application GitHub</kbd>. |
   | Notification à l'expiration | Option permettant de spécifier les utilisateurs à notifier lorsque le certificat expire. |
   | Avertissement avant l'expiration (en jours) | Nombre de jours avant l'expiration du certificat. |
   | Actif | Option permettant d'activer le certificat. |
   | Type | Option permettant de sélectionner le type de certificat. Sélectionnez le magasin de clés Java. |
   | Échéance en jours | Nombre de jours avant l'expiration du certificat. |
   | Mot de passe de magasin de clés | Mot de passe associé au certificat (indice : le mot de passe KeyStore de destination précédemment créé). |
   | Description brève | Résumé du certificat. |
   [Tableau 1. Champs du formulaire Certificat X.509]

   {#dev-ops-attach-jks-cert-github__table_hvh_4tt_xgb}
4. Sélectionnez l'icône Pièces jointes (icône ![Pièces jointes]()) et joignez un certificat JKS.
5. Sélectionnez Valider les stocks/certificats.
{#dev-ops-attach-jks-cert-github__steps_ifm_5dw_bhb}

## Créer une clé de signature JWT pour le GitHub certificat JKS {#ariaid-title6}

Créez une clé de signature JSON Web Token (JWT) à affecter à votre GitHub certificat Java KeyStore.

### Avant de commencer

Rôle requis : admin, sn_devops.admin

### Procédure

1. Accédez à la ToutOAuth systèmeClés JWT.
2. Sélectionnez Nouveau.
3. Renseignez les champs du formulaire.  
   {#dev-ops-create-jwt-key-github__table_jky_dk5_xgb__entry__2}

   | Champ | Description |
   |-|-|
   | Nom | Nom permettant d'identifier de façon unique la clé de signature JWT. Par exemple, <kbd class="ph userinput">Ma clé JWT de l’application GitHub</kbd>. |
   | Magasin de clés de signature | Certificat JKS valide joint à la tâche précédente. Par exemple, <kbd class="ph userinput">Mon certificat d’application GitHub</kbd>. |
   | ID de clé | ID unique permettant d'identifier la clé utilisée lorsque plusieurs clés sont utilisées pour signer les jetons. |
   | Algorithme de signature | Algorithme pour signer avec la clé JWT (indice : RSA 256). |
   | Signature avec le mot de passe de clé | Mot de passe associé à la clé de signature (indice : le mot de passe du magasin de clés source créé précédemment). |
   | Actif | Option permettant d'activer la clé. |
   [Tableau 2. Champs du formulaire Clés JWT]

   {#dev-ops-create-jwt-key-github__table_jky_dk5_xgb}
4. Sélectionnez Soumettre.
{#dev-ops-create-jwt-key-github__steps_zjg_4tr_4mb}

## Créer un fournisseur JWT pour votre GitHub clé de signature {#ariaid-title7}

Ajoutez un fournisseur JSON Web Token (JWT) à votre ServiceNow instance pour GitHub.

### Avant de commencer

Rôle requis : admin, sn_devops.admin

### Procédure

1. Accédez à la ToutOAuth systèmeFournisseurs JWT.
2. Sélectionnez Nouveau.
3. Renseignez les champs du formulaire.  
   {#dev-ops-create-jwt-prov-github__table_l5g_3m5_xgb__entry__2}

   | Champ | Description |
   |-|-|
   | Nom | Nom permettant d'identifier de façon unique le fournisseur JWT. Par exemple, <kbd class="ph userinput">mon fournisseur JWT de l’application GitHub</kbd>. |
   | Intervalle d'expiration (s) | Nombre en secondes pour définir la durée de vie des jetons du fournisseur JWT (indice : vous pouvez le laisser par défaut). |
   | Configuration de la signature | Clé de signature JWT valide précédemment créée. Par exemple, <kbd class="ph userinput">Ma clé JWT de l’application GitHub</kbd>. |
   [Tableau 3. Champs du formulaire Fournisseur JWT]

   {#dev-ops-create-jwt-prov-github__table_l5g_3m5_xgb}
4. Cliquez avec le bouton droit sur l'en-tête du formulaire, puis sélectionnez Enregistrer.
5. Saisissez votre GitHubID d'application d'application (disponible dans la section À propos de votre GitHub configuration d'application dans GitHub ) comme valeur de la réclamation iss , dans la liste connexe Réclamations standard.
6. Laissez les valeurs aud et sub vides (par défaut).
{#dev-ops-create-jwt-prov-github__steps_ung_p5r_4mb}

## S'inscrire GitHub en tant que fournisseur OAuth (JWT) {#ariaid-title8}

Utilisez les informations générées pendant GitHub la configuration du compte d'application pour vous inscrire GitHub en tant que fournisseur OAuth et permettre à l'instance de demander des jetons OAuth 2.0.

### Avant de commencer

Rôle requis : admin, sn_devops.admin

### Procédure

1. Accédez à la ToutOAuth systèmeRegistre d'application.
2. Sélectionnez Nouveau.  
   Le message Quel type d'application OAuth ? s'affiche.
3. Sélectionnez Se connecter à un fournisseur OAuth tiers.
4. Renseignez les champs du formulaire.  
   {#dev-ops-reg-github-oauth-prov-jwt__table_fd2_2xr_4mb__entry__2}

   | Champ | Description |
   |-|-|
   | Nom | Nom permettant d'identifier l'enregistrement de façon unique. Par exemple, saisissez <kbd class="ph userinput">Mon fournisseur d’application GitHub</kbd>. |
   | ID client | ID client de votre GitHub application (indice : disponible dans la section À propos de votre GitHub configuration d'application dans GitHub ). |
   | Secret client | Clé secrète du client de votre GitHub application (indice : disponible dans la section À propos de votre GitHub configuration d'application dans GitHub ). |
   | Script de l'API OAuth | Option qui vous permet de référencer un include de script OAuthUtil modifié. Sélectionnez OAuthDevOpsGitHubJWTHandler. |
   | Type d'accord par défaut | Type de subvention associé au registre d'application. Sélectionnez Support JWT. |
   | URL de jeton | Emplacement du point de terminaison de jeton que l'instance utilise pour récupérer et actualiser les jetons. Pour la version dans le cloud, saisissez : <kbd class="ph userinput">https://api.github.com/app/installations/&lt;installation_id&gt;/access_tokens</kbd>. Pour la version d'entreprise, saisissez : <kbd class="ph userinput">https://&lt;HOST_URL&gt;/api/v3/app/installations/&lt;installation_id&gt;/access_tokens</kbd>. Pour l'ID d'installation, accédez à la section Installer l'application dans votre configuration d'application GitHub dans GitHub et sélectionnez l'icône d'engrenage pour configurer votre application. L'ID d'installation se trouve dans l'URL de la page Web. Par exemple, https://github.com/settings/installations/\<installation_id\>. |
   [Tableau 4. Champs du formulaire Registre d'application]

   {#dev-ops-reg-github-oauth-prov-jwt__table_fd2_2xr_4mb}
5. Laissez les autres champs de formulaire par défaut.  
6. Cliquez avec le bouton droit sur l'en-tête du formulaire, puis sélectionnez Enregistrer.
7. Ouvrez le profil par défaut créé dans la liste connexe Profils des entités OAuth .
8. Renseignez le champ Fournisseur JWT avec le fournisseur JWT précédemment créé et enregistrez le formulaire.
9. Accédez à Gestion des clés \> Politiques d'accès au module \> Tous.
10. Sélectionnez la politique qui a com_snc_platform_security_oauth_glideencrypter comme valeur du champ du module de chiffrement et le script include : OAuthDevOpsGitHubJWTHandler comme valeur du champ de script cible .
11. Assurez-vous que le champ Résultat est défini sur Suivre et enregistrez les changements.  
{#dev-ops-reg-github-oauth-prov-jwt__steps_ed2_2xr_4mb}

## Créer un enregistrement d'informations d'identification pour GitHub le fournisseur d'application (JWT) {#ariaid-title9}

Créez un enregistrement d'informations d'identification auprès du fournisseur d'application GitHub précédemment créé pour autoriser les actions.

### Avant de commencer

Rôle requis : admin, sn_devops.admin

### Procédure

1. Accédez à la ToutConnexions et informations d'identificationInformations d'identification.
2. Sélectionnez Nouveau.  
   Le message Quel type d'informations d'identification voulez-vous créer ? s'affiche.
3. Sélectionnez Informations d'identification OAuth 2.0.
4. Renseignez les champs du formulaire.  
   {#dev-ops-create-cred-github-jwt__table_sxv_zgp_gfb__entry__2}

   | Champ | Valeur requise |
   |-|-|
   | Nom | Nom permettant d'identifier l'enregistrement de façon unique. Par exemple, saisissez <kbd class="ph userinput">Mes informations d’identification de l’application GitHub</kbd>. |
   | Actif | Option permettant d'activer l'enregistrement. |
   | Profil de l'entité OAuth | Profil de l'entité OAuth par défaut créé dans le registre d'application. |
   [Tableau 5. Champs du formulaire Informations d'identification OAuth 2.0]

   {#dev-ops-create-cred-github-jwt__table_sxv_zgp_gfb}
5. Enregistrez l'enregistrement.
6. Sélectionnez le lien connexe Obtenir le jeton OAuth pour générer le jeton OAuth.
{#dev-ops-create-cred-github-jwt__steps_o5h_52j_qfb}
**Concepts associés**   

* [Configurations GitHub Actions](https://servicenow-prod.fluidtopics.net/yTomOobkHchk~nBiuhxXcQ#github-actions-integration-with-devops "Informations de configuration sur GitHub Actions, telles que les secrets, les workflows et les limitations.")
* [Actions personnalisées ServiceNow DevOps de la place de marché GitHub](https://servicenow-prod.fluidtopics.net/od_3vvTaq0pbR4vYTImhRQ#servicenow-devops-custom-actions-from-github-marketplace "Utilisez les actions personnalisées de la place de marché pour collecter les données d’analyse SonarQube, les données de sécurité, mettre en pause ou reprendre le GitHub workflow, ou reprendre le workflow jusqu’à ce qu’une demande de changement soit approuvée ou rejetée dans votre instance, ou obtenir et mettre à jour les détails de la demande de changement, etc.")  
**Tâches associées**   

* [Portails de déploiement GitHub pour le changement ServiceNow DevOps](https://servicenow-prod.fluidtopics.net/S6A~FbJAkFDq~N~28oyVeA "Utilisez la fonctionnalité Portail de déploiement GitHub pour décider si un nouveau déploiement doit avoir lieu ou s’arrêter.")

