Tutorial: Uso de la autenticación OIDC/FIC con Acciones de GitHub para Microsoft Power Platform

En este tutorial, configurará las credenciales de identidad federada (FIC) de Microsoft Entra y OIDC de GitHub para que las acciones de GitHub se puedan autenticar a Power Platform sin almacenar un secreto de cliente.

En este tutorial, aprenderá lo siguiente:

  • Configuración de OIDC en el repositorio de GitHub
  • Creación de un registro de aplicaciones de Microsoft Entra y configuración de FIC
  • Concesión del acceso a la aplicación en el Centro de administración de Power Platform
  • Creación de un flujo de trabajo de GitHub para ejecutar acciones de Power Platform

Paso 1: Configuración de OIDC en el repositorio de GitHub

Configuración de OIDC

  1. En GitHub, abra el repositorio y asegúrese de que Acciones de GitHub está habilitada.

    Para habilitar Acciones de GitHub en el repositorio, seleccione Acciones de configuración> y, a continuación, en General, se le presentará una opción para habilitar. Si no ve Acciones en Configuración, no tiene el permiso de seguridad del repositorio necesario.

  2. Revisar la configuración de OIDC y la guía de personalización de reclamación de tema. Consulte OpenID Connect en Acciones de GitHub.

  3. Configure la plantilla de declaración de sujeto de OIDC como repository, workflow para este tutorial, tal como se muestra en la ilustración anterior. Crea una declaración de asunto única para cada flujo de trabajo del repositorio, a la que puedes hacer referencia en la configuración de credenciales federadas en Microsoft Entra ID.

    El formato de asunto se resuelve en valores como:

    • repo:MyOrg/MyRepo:workflow:MyWorkflow
  4. Guarde la configuración de OIDC del repositorio.

Paso 2: Crear un registro de aplicaciones de Microsoft Entra y agregar FIC

  1. En el Azure portal, vaya a Microsoft Entra ID>Registros de aplicaciones>Nuevo registro.

  2. Cree el registro de la aplicación y copie los valores de ID de aplicación (cliente) y ID de directorio (inquilino).

  3. Abra permisos de API>Agregue un permiso>Dynamics CRM y conceda permiso a Dataverse.

  4. Abra Certificados y secretos (o credenciales federadas, en función de la experiencia del portal) y seleccione Other en Escenario de credenciales federadas.

Configuración de FIC

  1. Use este identificador de asunto explícito:

    repo:MyOrg/MyRepo:workflow:MyWorkflow

  2. Guarde la credencial federada.

Nota:

La reclamación del sujeto en GitHub y el identificador del sujeto en tu credencial federada deben coincidir exactamente.

Paso 3: Concesión del acceso a la aplicación en el Centro de administración de Power Platform

  1. Ir al Centro de administración de Power Platform.

  2. Agregue el registro de la aplicación Entra ID como usuario de aplicación y asigne roles de seguridad necesarios en cada entorno de destino.

  3. Para obtener pasos detallados, consulte Administración de usuarios de aplicaciones en el Centro de administración de Power Platform.

Paso 4: Creación de un flujo de trabajo de GitHub para ejecutar operaciones de Power Platform

  1. En el repositorio, cree o actualice un flujo de trabajo en .github/workflows/.

  2. Asegúrese de que el flujo de trabajo solicita permisos de token de OIDC para el trabajo que ejecuta acciones de Power Platform.

  3. Configure las acciones de GitHub de Power Platform que se usarán:

    • Id. de inquilino
    • Id. de aplicación (cliente)
    • URL de entorno
    • Parámetros de autenticación basados en OIDC/FIC que son compatibles con la acción
  4. Pegue el código YAML de flujo de trabajo de ejemplo en esta sección y actualice los marcadores de posición para su entorno.

# 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 

Cuando se ejecuta el flujo de trabajo, GitHub emite un token de OIDC. Microsoft Entra valida ese token con tus credenciales federadas y la acción se autentica con Dataverse/Power Platform sin un secreto de cliente.

Consulte también