Compartir a través de


Implementación de directivas personalizadas con Acciones de GitHub

Importante

A partir del 1 de mayo de 2025, Azure AD B2C ya no estará disponible para ser adquirido por nuevos clientes. Obtenga más información en nuestras preguntas más frecuentes.

Acciones de GitHub permite crear flujos de trabajo de integración continua (CI) y implementación continua (CD) personalizados directamente en el repositorio de GitHub. En este artículo se describe cómo automatizar la implementación de directivas personalizadas de Azure Active Directory B2C (Azure AD B2C) mediante Acciones de GitHub.

Para automatizar el proceso de implementación de directivas personalizadas, use la acción de GitHub para implementar directivas personalizadas de Azure AD B2C. Esta acción de GitHub ha desarrollado la comunidad de Azure AD B2C.

Esta acción implementa directivas personalizadas de Azure AD B2C en el inquilino de Azure AD B2C mediante Microsoft Graph API. Si la directiva aún no existe en el inquilino, será creada. De lo contrario, se reemplazará.

Importante

La administración de las directivas personalizadas de Azure AD B2C con Azure Pipelines usa actualmente la vista previa de las operaciones de disponibles en el punto de conexión /beta de la API de Microsoft Graph. No se admite el uso de estas API en aplicaciones de producción. Para obtener más información, consulte la referencia del punto de conexión beta de la API REST de Microsoft Graph.

Prerrequisitos

Selección de una carpeta de directivas personalizadas

El repositorio de GitHub puede contener todos los archivos de directiva de Azure AD B2C y otros recursos. En el directorio raíz del repositorio, cree o elija una carpeta existente que contenga las directivas personalizadas.

Por ejemplo, seleccione una carpeta denominada policies. Agregue los archivos de directiva personalizados de Azure AD B2C a la carpeta policies . A continuación , confirme los cambios.

No inserte los cambios. Lo hará más adelante, después de configurar el flujo de trabajo de implementación.

Registro de una aplicación de Microsoft Graph

Para permitir que la acción de GitHub interactúe con Microsoft Graph API, cree un registro de aplicación en el inquilino de Azure AD B2C. Si aún no lo ha hecho, registre una aplicación de Microsoft Graph.

Para que la acción de GitHub acceda a los datos de Microsoft Graph, conceda a la aplicación registrada los permisos de aplicación correspondientes. Se concede el permiso para la directiva de>Microsoft Graph>Policy.ReadWrite.TrustFramework dentro de los permisos de API del registro de la aplicación.

Creación de un secreto cifrado de GitHub

Los secretos de GitHub son variables de entorno cifradas que se crean en una organización, en un repositorio o en el entorno de un repositorio. En este paso, almacenará el secreto de aplicación de la aplicación que registró anteriormente en el paso Registrar una aplicación de MS Graph .

La instancia de GitHub Action para implementar directivas personalizadas de Azure AD B2C usa el secreto para adquirir un token de acceso que se usa para interactuar con Microsoft Graph API. Para obtener más información, consulte Creación de secretos cifrados para un repositorio.

Para crear un secreto de GitHub, siga estos pasos:

  1. En GitHub, vaya a la página principal del repositorio.
  2. En el nombre del repositorio, seleccione Configuración.
  3. En la barra lateral izquierda, seleccione Secretos.
  4. Seleccione Nuevo secreto de repositorio.
  5. En Nombre, escriba ClientSecret.
  6. En Valor, escriba el secreto de aplicación que creó anteriormente.
  7. Seleccione Add secret (Agregar secreto).

Creación de un flujo de trabajo de GitHub

El flujo de trabajo de GitHub es un procedimiento automatizado que se agrega al repositorio. Los flujos de trabajo se componen de uno o varios trabajos y se pueden programar o desencadenar mediante un evento. En este paso, creará un flujo de trabajo que implementa la directiva personalizada.

Para crear un flujo de trabajo, siga estos pasos:

  1. En GitHub, vaya a la página principal del repositorio.

  2. En el nombre del repositorio, seleccione Acciones.

    Captura de pantalla que muestra la pestaña Acciones de GitHub

  3. Si no configuró un flujo de trabajo antes, seleccione Configurar un flujo de trabajo usted mismo. De lo contrario, seleccione Nuevo flujo de trabajo.

    Captura de pantalla que muestra cómo crear un flujo de trabajo

  4. GitHub ofrece crear un archivo de flujo de trabajo denominado main.yml en la .github/workflows carpeta . Este archivo contiene información sobre el flujo de trabajo, incluido el entorno de Azure AD B2C y las directivas personalizadas que se van a implementar. En el editor web de GitHub, agregue el siguiente código YAML:

    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. Actualice las siguientes propiedades del archivo YAML:

    Sección Nombre Importancia
    env clientId Id. de aplicación (cliente) de la aplicación que registró en el paso Registrar una aplicación de MS Graph .
    env tenant Su nombre de inquilino de Azure AD B2C (por ejemplo, contoso.onmicrosoft.com).
    with folder Carpeta donde se almacenan los archivos de directivas personalizadas, por ejemplo, ./Policies.
    with files Lista delimitada por comas de archivos de directiva que se van a implementar, por ejemplo, TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml.

    Importante

    Al ejecutar los agentes y cargar los archivos de directiva, asegúrese de que se cargan en el orden correcto:

    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml
  6. Seleccione Iniciar confirmación.

  7. Debajo de los campos del mensaje de confirmación, indique si desea agregar la confirmación a la rama actual o a una nueva rama. Seleccione Confirmar nuevo archivo o Proponer nuevo archivo para crear una solicitud de incorporación de cambios.

Prueba del flujo de trabajo

Para probar el flujo de trabajo que creó, Inserte los cambios de la directiva personalizada. Una vez que el trabajo ha empezado a ejecutarse, puede ver un gráfico de visualización del progreso de la ejecución y ver la actividad de cada paso en GitHub.

  1. En GitHub, vaya a la página principal del repositorio.

  2. En el nombre del repositorio, seleccione Acciones.

  3. En la barra lateral izquierda, seleccione el flujo de trabajo que creó.

  4. En Ejecuciones de flujo de trabajo, seleccione el nombre de la ejecución que desea ver.

    Captura de pantalla que muestra cómo seleccionar la actividad de flujo de trabajo

  5. En Trabajos o en el gráfico de visualización, seleccione el trabajo que desea ver.

  6. Vea los resultados de cada paso. En la captura de pantalla siguiente se muestra el registro del paso Cargar política personalizada.

    El registro de pasos de la directiva personalizada de carga

Opcional: Programar el flujo de trabajo

El evento push desencadena el flujo de trabajo que creó. Si lo prefiere, puede elegir otro evento para desencadenar el flujo de trabajo, por ejemplo, una solicitud de incorporación de cambios.

También puede programar un flujo de trabajo para que se ejecute a horas UTC específicas mediante la sintaxis cron POSIX. El evento schedule permite desencadenar un flujo de trabajo en una hora programada. Para obtener más información, consulte Eventos programados.

En el ejemplo siguiente se desencadena el flujo de trabajo todos los días a las 5:30 y a las 17:30 UTC:

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

Para editar el flujo de trabajo:

  1. En GitHub, vaya a la página principal del repositorio.

  2. En el nombre del repositorio, seleccione Acciones.

  3. En la barra lateral izquierda, seleccione el flujo de trabajo que creó.

  4. En Ejecuciones de flujo de trabajo, seleccione el nombre de la ejecución que desea ver.

  5. En el menú, seleccione los tres puntos ... y, a continuación, seleccione Ver el archivo de flujo de trabajo.

    Captura de pantalla que muestra cómo ver el archivo de flujo de trabajo

  6. En el editor web de GitHub, seleccione Editar.

  7. Cambie on: push al ejemplo anterior.

  8. Confirme los cambios.

Pasos siguientes