Condividi tramite


Distribuire criteri personalizzati con GitHub Actions

Importante

A partire dal 1° maggio 2025, Azure AD B2C non sarà più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.

GitHub Actions consente di creare flussi di lavoro personalizzati di integrazione continua (CI) e distribuzione continua (CD) direttamente nel repository GitHub. Questo articolo descrive come automatizzare la distribuzione dei criteri personalizzati di Azure Active Directory B2C (Azure AD B2C) usando GitHub Actions.

Per automatizzare il processo di distribuzione dei criteri personalizzati, usare GitHub Action per la distribuzione di criteri personalizzati di Azure AD B2C. Questa azione GitHub è stata sviluppata dalla community di Azure AD B2C.

Questa azione distribuisce i criteri personalizzati di Azure AD B2C nel tenant di Azure AD B2C usando l'API Microsoft Graph. Se la policy non esiste ancora nel tenant, verrà creata. In caso contrario, verrà sostituito.

Importante

La gestione dei criteri personalizzati di Azure AD B2C con Azure Pipelines usa attualmente le operazioni di anteprima disponibili nell'endpoint dell'API /beta Microsoft Graph. L'uso di queste API nelle applicazioni di produzione non è supportato. Per ulteriori informazioni, vedere il riferimento dell'endpoint beta dell'API REST di Microsoft Graph.

Prerequisiti

Selezionare una cartella di criteri personalizzati

Il tuo repository GitHub può contenere tutti i file di criteri di Azure AD B2C e altri asset. Nella directory radice del repository, creare o scegliere una cartella esistente contenente le politiche personalizzate.

Ad esempio, selezionare una cartella denominata policies. Aggiungere i file di criteri personalizzati di Azure AD B2C alla cartella criteri . Quindi eseguire il commit delle modifiche.

Non eseguire il push delle modifiche. Questa operazione verrà eseguita in un secondo momento, dopo aver configurato il flusso di lavoro di distribuzione.

Registrare un'applicazione Microsoft Graph

Per consentire a GitHub Action di interagire con l'API Microsoft Graph, creare una registrazione dell'applicazione nel tenant di Azure AD B2C. Se non è già stato fatto, registrare un'applicazione Microsoft Graph.

Per consentire a GitHub Action di accedere ai dati in Microsoft Graph, concedere all'applicazione registrata le autorizzazioni dell'applicazione pertinenti. Concedere l'autorizzazione Microsoft Graph>Policy>Policy.ReadWrite.TrustFramework all'interno delle autorizzazioni API della registrazione dell'app.

Creare un segreto criptato GitHub

Le secret di GitHub sono variabili di ambiente crittografate che puoi creare in un'organizzazione, repository o ambiente del repository. In questo passaggio si archivia il segreto dell'applicazione per l'applicazione registrata in precedenza nel passaggio Registrare un'applicazione MS Graph .

La GitHub Action per la distribuzione dei criteri personalizzati di Azure AD B2C utilizza il segreto per acquisire un token di accesso che viene utilizzato per interagire con l'API Microsoft Graph. Per altre informazioni, vedere Creazione di segreti crittografati per un repository.

Per creare un segreto GitHub, seguire questa procedura:

  1. In GitHub passare alla pagina principale del repository.
  2. Sotto il nome del repository selezionare Settings.
  3. Nella barra laterale sinistra selezionare Segreti.
  4. Seleziona Nuovo segreto del repository.
  5. In Nome digitare ClientSecret.
  6. In Valore immettere il segreto dell'applicazione creato in precedenza.
  7. Selezionare Aggiungi segreto.

Creare un flusso di lavoro GitHub

Il flusso di lavoro di GitHub è una procedura automatizzata aggiunta al repository. I flussi di lavoro sono costituiti da uno o più processi e possono essere pianificati o attivati da un evento. In questo passaggio, si crea un flusso di lavoro che distribuisce la tua politica personalizzata.

Per creare un flusso di lavoro, seguire questa procedura:

  1. In GitHub, naviga fino alla pagina principale del tuo repository.

  2. Sotto il nome del repository selezionare Azioni.

    Screenshot che mostra la scheda GitHub Actions

  3. Se in precedenza non è stato configurato un flusso di lavoro, selezionare Configura manualmente un flusso di lavoro. In caso contrario, selezionare Nuovo flusso di lavoro.

    Screenshot che mostra come creare un nuovo flusso di lavoro

  4. GitHub offre la creazione di un file del flusso di lavoro denominato main.yml nella .github/workflows cartella . Questo file contiene informazioni sul flusso di lavoro, tra cui l'ambiente Azure AD B2C e i criteri personalizzati da distribuire. Nell'editor Web GitHub aggiungere il codice YAML seguente:

    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. Aggiornare le proprietà seguenti del file YAML:

    Sezione Nome Valore
    env clientId ID applicazione (client) dell'applicazione registrata nel passaggio Registrare un'applicazione MS Graph .
    env tenant Il nome del tenant di Azure AD B2C, ad esempio contoso.onmicrosoft.com.
    with folder Cartella in cui vengono archiviati i file di criteri personalizzati, ad esempio ./Policies.
    with files Elenco delimitato da virgole di file di criteri da distribuire, ad esempio TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml.

    Importante

    Quando si eseguono gli agenti e si caricano i file delle politiche, assicurarsi di caricarli nell'ordine corretto:

    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml
  6. Selezionare , avviare commit.

  7. Sotto i campi del messaggio di commit, indica se aggiungere il commit al ramo attuale o a un nuovo ramo. Selezionare Commit new file (Commit nuovo file) o Propose new file (Proponi nuovo file ) per creare una richiesta pull.

Testare il flusso di lavoro

Per testare il flusso di lavoro che hai creato, invia le modifiche della tua politica personalizzata. Dopo aver avviato l'esecuzione del processo, è possibile visualizzare un grafico di visualizzazione dello stato di avanzamento dell'esecuzione e visualizzare l'attività di ogni passaggio in GitHub.

  1. Su GitHub, naviga alla pagina principale del tuo repository.

  2. Sotto il nome del repository selezionare Azioni.

  3. Nella barra laterale sinistra selezionare il flusso di lavoro creato.

  4. In Esecuzioni flusso di lavoro selezionare il nome dell'esecuzione da visualizzare.

    Screenshot che mostra come selezionare l'attività del flusso di lavoro

  5. In Processi o nel grafico della visualizzazione selezionare il processo da visualizzare.

  6. Visualizzare i risultati di ogni passaggio. Lo screenshot seguente illustra il log dei passaggi di caricamento dei criteri personalizzati .

    Log dei passaggi per il caricamento dei criteri personalizzati

Facoltativo: pianificare il flusso di lavoro

Il flusso di lavoro creato viene attivato dall'evento push . Se si preferisce, è possibile scegliere un altro evento per attivare il flusso di lavoro, ad esempio una richiesta pull.

È anche possibile pianificare l'esecuzione di un flusso di lavoro in orari UTC specifici usando la sintassi POSIX cron. L'evento di pianificazione consente di attivare un flusso di lavoro a un'ora pianificata. Per altre informazioni, vedere Eventi pianificati.

L'esempio seguente attiva il flusso di lavoro ogni giorno alle 5:30 e alle 17:30 UTC:

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

Per modificare il flusso di lavoro:

  1. In GitHub, naviga fino alla pagina principale del tuo repository.

  2. Sotto il nome del repository selezionare Azioni.

  3. Nella barra laterale sinistra selezionare il flusso di lavoro creato.

  4. In Esecuzioni flusso di lavoro selezionare il nome dell'esecuzione da visualizzare.

  5. Dal menu selezionare i tre puntini ... e quindi selezionare Visualizza il file del flusso di lavoro.

    Screenshot che mostra come visualizzare il file del flusso di lavoro

  6. Nell'editor Web GitHub selezionare Modifica.

  7. Passare on: push all'esempio precedente.

  8. Committa le modifiche.

Passaggi successivi