Tutorial: Utilitza l'autenticació OIDC/FIC amb GitHub Actions per a Microsoft Power Platform

En aquest tutorial, configures GitHub OIDC i les credencials d'identitat federada de Microsoft Entra (FIC) perquè les accions de GitHub puguin autenticar-se a Power Platform sense emmagatzemar cap secret de client.

En aquest tutorial, tindràs:

  • Configura l'OIDC al teu repositori de GitHub
  • Crea un registre a l'aplicació Microsoft Entra i configura FIC
  • Concedeix l'accés a l'aplicació al centre d'administració de Power Platform
  • Crea un flux de treball a GitHub per executar accions de Power Platform

Pas 1: Configura l'OIDC al teu repositori de GitHub

Configuració OIDC

  1. A GitHub, obre el teu repositori i assegura't que GitHub Actions estigui activat.

    Per activar les accions de GitHub al repositori, selecciona > i després, a General, se't presenta una opció per activar. Si no veus Accions a Configuració, no tens el permís de seguretat del repositori requerit.

  2. Revisa la configuració de l'OIDC i la guia de personalització de reclamacions subjectes. Consulteu OpenID Connect a GitHub Actions.

  3. Configureu la plantilla de reclamació de subjecte de l'OIDC per a repository, workflow aquest tutorial, tal com es mostra a la figura anterior. Crea una reclamació única de subjecte per a cada flux de treball al teu repositori, que després pots consultar a la configuració de credencials federades a Microsoft Entra ID.

    El format de subjecte es resol a valors com:

    • repo:MyOrg/MyRepo:workflow:MyWorkflow
  4. Desa la configuració OIDC del teu repositori.

Pas 2: Crea un registre a l'aplicació Microsoft Entra i afegeix FIC

  1. Al portal d'Azure, ves a Microsoft Entra ID>Registres d'aplicacions Nova>inscripció.

  2. Crea el registre de l'aplicació i copia els valors de l'ID de l'aplicació (client) i de l'ID del directori (inquilí ).

  3. Obre permisos de l'API Afegeix>un permís>Dynamics CRM i concedeix permís a Dataverse.

  4. Obre certificats i secrets (o credencials federades, depenent de l'experiència al portal), i selecciona Other en l'escenari de credencials federades.

Configuració FIC

  1. Utilitza aquest identificador explícit de subjecte:

    repo:MyOrg/MyRepo:workflow:MyWorkflow

  2. Guarda la credencial federada.

Nota

La reclamació de subjecte a GitHub i l'identificador de subjecte a la teva credencial federada han de coincidir exactament.

Pas 3: Concedeix l'accés a l'aplicació al centre d'administració de Power Platform

  1. Aneu al Centre d'administració del Power Platform.

  2. Afegeix el registre de l'aplicació Entra ID com a usuari de l'aplicació i assigna els rols de seguretat requerits a cada entorn objectiu.

  3. Per a passos detallats, vegeu Gestionar els usuaris de l'aplicació al centre d'administració de Power Platform.

Pas 4: Crea un flux de treball a GitHub per executar operacions de Power Platform

  1. Al teu repositori, crea o actualitza un flux de treball a .github/workflows/.

  2. Assegura't que el flux de treball sol·liciti permisos de tokens OIDC per a la feina que executa accions de Power Platform.

  3. Configura les teves accions de Power Platform a GitHub per utilitzar:

    • Identificador d'inquilí de l'
    • ID de l'aplicació (client)
    • Adreça URL de l'entorn
    • Paràmetres d'autenticació basats en OIDC/FIC suportats per l'acció
  4. Enganxa el teu YAML de flux de treball de mostra en aquesta secció i actualitza marcadors de posició per al teu entorn.

# 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 

Quan s'executa el flux de treball, GitHub emet un token OIDC. Microsoft Entra valida aquest token contra la teva credencial federada, i l'acció s'autentica a Dataverse/Power Platform sense cap secret de client.

Consulteu també