Partager via


Tutoriel : Utiliser l’authentification OIDC/FIC avec GitHub Actions pour Microsoft Power Platform

Dans ce tutoriel, vous allez configurer GitHub OIDC et Microsoft Entra fédérés d’informations d’identification d’identité (FIC) afin que GitHub Actions puisse s’authentifier auprès de Power Platform sans stocker de clé secrète client.

Dans ce tutoriel, vous allez :

  • Configurer OIDC dans votre dépôt GitHub
  • Créer une inscription d’application Microsoft Entra et configurer FIC
  • Accorder l’accès à l’application dans le Centre d’administration Power Platform
  • Créer un flux de travail GitHub pour exécuter des actions Power Platform

Étape 1 : Configurer OIDC dans votre dépôt GitHub

Configuration OIDC

  1. Dans GitHub, ouvrez votre référentiel et vérifiez que GitHub Actions est activé.

    Pour activer GitHub Actions dans le dépôt, sélectionnez Actions de paramètres>, puis, sous Général, vous êtes présenté avec une option permettant d’activer. Si vous ne voyez pas d’actions sous Paramètres, vous n’avez pas l’autorisation de sécurisation du dépôt requise.

  2. Passez en revue les paramètres OIDC et les instructions de personnalisation des revendications d’objet. Reportez-vous à OpenID Connect dans GitHub Actions.

  3. Configurez le modèle de revendication de sujet OIDC sur repository, workflow pour ce tutoriel, comme illustré dans la figure ci-dessus. Il crée une revendication d’objet unique pour chaque flux de travail de votre référentiel, que vous pouvez ensuite référencer dans votre configuration d’informations d’identification fédérées dans l’ID Microsoft Entra.

    Le format de l’objet aboutit à des valeurs comme :

    • repo:MyOrg/MyRepo:workflow:MyWorkflow
  4. Enregistrez la configuration OIDC de votre référentiel.

Étape 2 : Créer une inscription d’application Microsoft Entra et ajouter FIC

  1. Dans le portail Azure, accédez à Microsoft Entra ID>App registrations>.

  2. Créez l’inscription de l’application et copiez l’ID d’application (client) et l’ID d’annuaire (locataire).

  3. Ouvrez les autorisations> d’APIAjouter une autorisation>Dynamics CRM et accorder l’autorisation Dataverse.

  4. Ouvrez certificats et secrets (ou informations d’identification fédérées, selon l’expérience du portail) et sélectionnez Other dans le scénario d’informations d’identification fédérées.

Configuration FIC

  1. Utilisez cet identificateur d’objet explicite :

    repo:MyOrg/MyRepo:workflow:MyWorkflow

  2. Enregistrez les informations d’identification fédérées.

Note

La revendication de sujet dans GitHub et l’identificateur du sujet dans vos identifiants fédérés doivent correspondre exactement.

Étape 3 : Accorder à l’application l’accès à l’application dans le Centre d’administration Power Platform

  1. Accédez au Centre d’administration de Power Platform.

  2. Ajoutez l’inscription de l’application Entra ID en tant qu’utilisateur d’application et attribuez des rôles de sécurité requis dans chaque environnement cible.

  3. Pour obtenir des instructions détaillées, consultez Gérer les utilisateurs d’applications dans le Centre d’administration Power Platform.

Étape 4 : Créer un flux de travail GitHub pour exécuter des opérations Power Platform

  1. Dans votre référentiel, créez ou mettez à jour un flux de travail dans .github/workflows/.

  2. Vérifiez que le flux de travail demande des autorisations de jeton OIDC pour le travail qui exécute des actions Power Platform.

  3. Configurez vos actions GitHub Power Platform à utiliser :

    • ID du locataire
    • ID d’application (client)
    • URL Environnement
    • Paramètres d’authentification OIDC/FIC pris en charge par l’action
  4. Collez votre exemple de flux de travail YAML dans cette section et mettez à jour les espaces réservés pour votre environnement.

# https://docs.github.com/en/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-azure
name: fic-auth

on:
  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  who-am-i:

    runs-on: ubuntu-latest
    
    permissions:
      id-token: write # Grant permissions to the OIDC endpoint for federation
      contents: read
      
    steps:
    - name: Install Power Platform Tools
      uses: microsoft/powerplatform-actions/actions-install@v1
      with:
        pac-version-override: 2.4.1

    - name: WhoAmI
      uses: microsoft/powerplatform-actions/who-am-i@v1
      with:
        environment-url: https://MyOrg.crm.dynamics.com/
        app-id: 00000000-0000-0000-0000-000000000000 # Client (application) ID from your app registration
        tenant-id: 00000000-0000-0000-0000-000000000000 # Directory (tenant) ID from your app registration 

Lorsque le flux de travail s’exécute, GitHub émet un jeton OIDC. Microsoft Entra valide ce jeton par rapport à vos informations d’identification fédérées et l’action s’authentifie auprès de Dataverse/Power Platform sans clé secrète client.

Voir également