Condividi tramite


Distribuire criteri personalizzati con GitHub Actions

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 distribuire i criteri personalizzati di Azure AD B2C. Questa azione di 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 Microsoft API Graph. Se il criterio non esiste ancora nel tenant, verrà creato. 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 di Microsoft API Graph/beta. L'uso di queste API nelle applicazioni di produzione non è supportato. Per altre informazioni, vedere le informazioni di riferimento sull'endpoint beta dell'API REST di Microsoft Graph.

Prerequisiti

Selezionare una cartella dei criteri personalizzati

Il 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 i criteri personalizzati.

Ad esempio, selezionare una cartella denominata policies. Aggiungere i file di criteri personalizzati di Azure AD B2C alla cartella criteri . Eseguire quindi 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 Microsoft API 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'autorizzazioneCriteri> di MicrosoftGraph.ReadWrite.TrustFramework> all'interno delle autorizzazioni API della registrazione dell'app.

Creare un segreto crittografato di GitHub

I segreti di GitHub sono variabili di ambiente crittografate create in un'organizzazione, in un repository o in un 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 .

GitHub Action per la distribuzione di criteri personalizzati di Azure AD B2C usa il segreto per acquisire un token di accesso usato per interagire con microsoft API 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. Selezionare New repository secret (Nuovo segreto del repository).
  5. Per Nome digitare ClientSecret.
  6. Per 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 i criteri personalizzati.

Per creare un flusso di lavoro, seguire questa procedura:

  1. In GitHub passare alla pagina principale del 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 di creare un file del flusso di lavoro denominato main.yml nella .github/workflows cartella . Questo file contiene informazioni sul flusso di lavoro, incluso 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 dei 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 dei criteri, assicurarsi che vengano caricati nell'ordine corretto:

    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml
  6. Selezionare Start commit (Avvia commit).

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

Testare il flusso di lavoro

Per testare il flusso di lavoro creato, eseguire il push delle modifiche dei criteri personalizzati. 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. In GitHub passare alla pagina principale del repository.

  2. Sotto il nome del repository selezionare Azioni.

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

  4. In Esecuzioni del 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 di 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 passare alla pagina principale del repository.

  2. Sotto il nome del repository selezionare Azioni.

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

  4. In Esecuzioni del 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. Eseguire il commit delle modifiche.

Passaggi successivi