Tutorial: Folosește autentificarea OIDC/FIC cu GitHub Actions pentru Microsoft Power Platform

În acest tutorial, ai configurat GitHub OIDC și Microsoft Entra federated identity credentials (FIC), astfel încât GitHub Actions să se poată autentifica pe Power Platform fără a stoca un secret client.

În acest tutorial, vei face:

  • Configurează OIDC în depozitul tău GitHub
  • Creează o înregistrare în aplicația Microsoft Entra și configurează FIC
  • Acordă acces aplicației în centrul de administrare Power Platform
  • Creează un flux de lucru pe GitHub pentru a rula acțiuni Power Platform

Pasul 1: Configurează OIDC în depozitul tău GitHub

Configurare OIDC

  1. În GitHub, deschide depozitul și asigură-te că GitHub Actions este activat.

    Pentru a activa Acțiunile GitHub în repo, selectează Setări>Acțiuni , iar la General ți se va prezenta o opțiune de a activa. Dacă nu vezi Acțiuni în Setări, nu ai permisiunea necesară pentru securitatea depozitului.

  2. Revizuiește setările OIDC și ghidurile privind personalizarea revendicărilor subiectelor. Consultați OpenID Connect în acțiunile GitHub.

  3. Configurați șablonul de revendicare de subiect OIDC pentru repository, workflow acest tutorial, așa cum se arată în figura de mai sus. Creează o revendicare unică de subiect pentru fiecare flux de lucru din depozitul tău, pe care o poți consulta apoi în configurația federată a acreditărilor din Microsoft Entra ID.

    Formatul subiectului se rezumă la valori precum:

    • repo:MyOrg/MyRepo:workflow:MyWorkflow
  4. Salvează configurația OIDC a repository-ului.

Pasul 2: Creează o înregistrare în aplicația Microsoft Entra și adaugă FIC

  1. În portalul Azure, accesați Microsoft Entra>ID Înregistrări aplicații Înregistrare>nouă.

  2. Creează înregistrarea aplicației și copiază valorile ID-ului aplicației (client) și ID-ului Directory (tenant ).

  3. Deschide permisiuni API Adaugă>o permisiune>Dynamics CRM și acordă permisiunea Dataverse.

  4. Deschide certificatele și secretele (sau credențiale Federated, în funcție de experiența cu portalul) și selectează Other în scenariul de acreditare Federated.

Configurare FIC

  1. Folosește acest identificator explicit de subiect:

    repo:MyOrg/MyRepo:workflow:MyWorkflow

  2. Păstrează acreditarea federată.

Notă

Revendicarea subiectului din GitHub și identificatorul subiectului din acreditarea ta federată trebuie să corespundă exact.

Pasul 3: Acordă acces aplicației în centrul de administrare Power Platform

  1. Accesați Centrul de Administrare Power Platform.

  2. Adaugă înregistrarea aplicației Entra ID ca utilizator de aplicație și atribuie rolurile de securitate necesare fiecărui mediu țintă.

  3. Pentru pași detaliați, vezi Gestionează utilizatorii aplicațiilor în centrul de administrare Power Platform.

Pasul 4: Creează un flux de lucru pe GitHub pentru a rula operațiuni Power Platform

  1. În depozitul tău, creează sau actualizează un flux de lucru în .github/workflows/.

  2. Asigurați-vă că fluxul de lucru solicită permisiuni OIDC token pentru jobul care rulează acțiuni Power Platform.

  3. Configurează acțiunile tale Power Platform pe GitHub pentru a folosi:

    • ID entitate găzduită
    • ID aplicație (client)
    • URL mediu
    • Parametrii de autentificare bazați pe OIDC/FIC suportați de acțiune
  4. Lipește fluxul tău de lucru exemplu YAML în această secțiune și actualizează momentele de înlocuire pentru mediul tău.

# 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 

Când fluxul de lucru rulează, GitHub emite un token OIDC. Microsoft Entra validează acel token în raport cu acreditarea ta federată, iar acțiunea se autentifică la Dataverse/Power Platform fără un secret de client.

Vedeți și