Partager via


Déployer des stratégies personnalisées avec GitHub Actions

Important

À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.

GitHub Actions vous permet de créer des flux de travail d’intégration continue (CI) et de déploiement continu (CD) personnalisés directement dans votre dépôt GitHub. Cet article explique comment automatiser le déploiement de stratégies personnalisées Azure Active Directory B2C (Azure AD B2C) à l’aide de GitHub Actions.

Pour automatiser le processus de déploiement de stratégie personnalisée, utilisez GitHub Action pour déployer des stratégies personnalisées Azure AD B2C. Cette action GitHub a été développée par la communauté Azure AD B2C.

Cette action déploie des stratégies personnalisées Azure AD B2C dans votre locataire Azure AD B2C à l’aide de l’API Microsoft Graph. Si la politique n'existe pas encore dans votre instance, elle sera créée. Sinon, elle sera remplacée.

Important

La gestion de stratégies personnalisées Azure AD B2C avec Azure Pipelines utilise actuellement des opérations en préversion disponibles sur le point de terminaison /beta de l’API Microsoft Graph. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour plus d’informations, consultez la référence du point de terminaison bêta de l’API REST Microsoft Graph.

Conditions préalables

Sélectionner un dossier de stratégies personnalisées

Votre dépôt GitHub peut contenir tous vos fichiers de stratégie Azure AD B2C et d’autres ressources. Dans le répertoire racine de votre référentiel, créez ou choisissez un dossier existant qui contient vos stratégies personnalisées.

Par exemple, sélectionnez un dossier nommé stratégies. Ajoutez vos fichiers de stratégie personnalisée Azure AD B2C au dossier des stratégies . Validez ensuite les modifications.

N’envoyez (Push) pas les modifications. Vous effectuerez cette opération ultérieurement après avoir configuré le flux de travail de déploiement.

Inscrire une application Microsoft Graph

Pour permettre à GitHub Action d’interagir avec l’API Microsoft Graph, créez une inscription d’application dans votre locataire Azure AD B2C. Si ce n’est déjà fait, inscrivez une application Microsoft Graph.

Pour que l’action GitHub accède aux données dans Microsoft Graph, accordez à l’application inscrite les autorisations d’application appropriées. Accordez l’autorisation Microsoft Graph>Stratégie>Policy.ReadWrite.TrustFramework dans les API Permissions (Autorisations d’API) de l’inscription d’application.

Créer un secret chiffré GitHub

Les secrets GitHub sont des variables d’environnement chiffrées que vous créez au sein d'une organisation, d'un dépôt ou dans l'environnement d’un dépôt. Dans cette étape, vous stockez le secret d’application pour l’application que vous avez inscrite précédemment dans l’étape Inscrire une application MS Graph .

L'action GitHub pour le déploiement des stratégies personnalisées d'Azure AD B2C utilise le secret pour acquérir un jeton d'accès permettant d'interagir avec l'API Microsoft Graph. Pour plus d’informations, consultez Création de secrets chiffrés pour un référentiel.

Pour créer un secret GitHub, procédez comme suit :

  1. Dans GitHub, accédez à la page principale du référentiel.
  2. Sous le nom de votre référentiel, sélectionnez Paramètres.
  3. Dans la barre latérale gauche, sélectionnez Secrets.
  4. Sélectionnez Nouveau secret de référentiel.
  5. Pour le nom, tapez ClientSecret.
  6. Pour la valeur, entrez le secret d’application que vous avez créé précédemment.
  7. Sélectionnez Ajouter un secret.

Créer un flux de travail GitHub

Le flux de travail GitHub est une procédure automatisée que vous ajoutez à votre référentiel. Les flux de travail sont constitués d’un ou plusieurs travaux et peuvent être planifiés ou déclenchés par un événement. Dans cette étape, vous créez un flux de travail qui déploie votre stratégie personnalisée.

Pour créer un flux de travail, procédez comme suit :

  1. Dans GitHub, accédez à la page principale de votre référentiel.

  2. Sous le nom de votre référentiel, sélectionnez Actions.

    Capture d’écran montrant l’onglet GitHub Actions

  3. Si vous n’avez pas configuré de flux de travail avant, sélectionnez configurer un flux de travail vous-même. Sinon, sélectionnez Nouveau flux de travail.

    Capture d’écran montrant comment créer un flux de travail

  4. GitHub propose de créer un fichier de flux de travail nommé main.yml dans le .github/workflows dossier. Ce fichier contient des informations sur le flux de travail, notamment votre environnement Azure AD B2C et les stratégies personnalisées à déployer. Dans l’éditeur web GitHub, ajoutez le code YAML suivant :

    on: push
    
    env:
      clientId: 00001111-aaaa-2222-bbbb-3333cccc4444
      tenant: your-tenant.onmicrosoft.com
    
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        steps:
        - uses: actions/checkout@v2
    
        - name: 'Upload TrustFrameworkBase Policy'
          uses: azure-ad-b2c/deploy-trustframework-policy@v3
          with:
            folder: "./Policies"
            files: "TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml"
            tenant: ${{ env.tenant }}
            clientId: ${{ env.clientId }}
            clientSecret: ${{ secrets.clientSecret }}
    
  5. Mettez à jour les propriétés suivantes du fichier YAML :

    Section Nom Valeur
    env clientId ID d’application (client) de l’application que vous avez inscrite à l’étape Inscrire une application MS Graph.
    env tenant Votre nom de locataire Azure AD B2C (par exemple, contoso.onmicrosoft.com).
    with folder Dossier dans lequel les fichiers de stratégies personnalisées sont stockés, par exemple ./Policies.
    with files Liste délimitée par des virgules de fichiers de stratégie à déployer, par exemple TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml.

    Important

    Lors de l’exécution des agents et du chargement des fichiers de stratégie, assurez-vous que ceux-ci ont été chargés dans l’ordre correct :

    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml
  6. Sélectionnez Démarrer la validation.

  7. Sous les champs de message de validation, indiquez s’il faut ajouter votre validation à current Branch ou à une nouvelle branche. Sélectionnez Valider un nouveau fichier ou Proposer un nouveau fichier pour créer une pull request.

Tester votre workflow

Pour tester le flux de travail que vous avez créé, poussez les modifications de votre stratégie personnalisée. Une fois votre travail en cours d’exécution, vous pouvez voir un graphique de visualisation de la progression de l’exécution et afficher l’activité de chaque étape sur GitHub.

  1. Sur GitHub, accédez à la page principale de votre dépôt.

  2. Sous le nom de votre référentiel, sélectionnez Actions.

  3. Dans la barre latérale gauche, sélectionnez le flux de travail que vous avez créé.

  4. Sous Exécutions de flux de travail, sélectionnez le nom de l’exécution que vous souhaitez voir.

    Capture d’écran montrant comment sélectionner l’activité de flux de travail

  5. Sous Travaux ou dans le graphique de visualisation, sélectionnez le travail que vous souhaitez voir.

  6. Affichez les résultats de chaque étape. La capture d’écran suivante montre le journal de l’étape Charger une stratégie personnalisée.

    Journal des étapes de la stratégie personnalisée de chargement

Facultatif : Planifier votre flux de travail

Le flux de travail que vous avez créé est déclenché par l’événement Push . Si vous préférez, vous pouvez choisir un autre événement pour déclencher le flux de travail, par exemple un pull request.

Vous pouvez également planifier l’exécution d’un flux de travail à des heures UTC spécifiques à l’aide de la syntaxe cron POSIX. L’événement de planification vous permet de déclencher un flux de travail à un moment planifié. Pour plus d’informations, consultez Événements planifiés.

L’exemple suivant déclenche le flux de travail tous les jours à 5:30 et 17:30 UTC :

on:
  schedule:
    # * is a special character in YAML so you have to quote this string
    - cron:  '30 5,17 * * *'

Pour modifier votre flux de travail :

  1. Dans GitHub, accédez à la page principale de votre référentiel.

  2. Sous le nom de votre référentiel, sélectionnez Actions.

  3. Dans la barre latérale gauche, sélectionnez le flux de travail que vous avez créé.

  4. Sous Exécutions de flux de travail, sélectionnez le nom de l’exécution que vous souhaitez voir.

  5. Dans le menu, sélectionnez les trois points ..., puis sélectionnez Afficher le fichier de flux de travail.

    Capture d’écran montrant comment afficher le fichier de flux de travail

  6. Dans l’éditeur web GitHub, sélectionnez Modifier.

  7. Modifiez on: push pour l’exemple ci-dessus.

  8. Validez vos modifications.

Étapes suivantes