Aangepast beleid implementeren met GitHub Actions

met GitHub Actions kunt u aangepaste werkstromen voor continue integratie (CI) en continue implementatie (CD) rechtstreeks in uw GitHub-opslagplaats maken. In dit artikel wordt beschreven hoe u de implementatie van aangepaste beleidsregels voor Azure Active Directory B2C (Azure AD B2C) automatiseert met behulp van GitHub Actions.

Als u het implementatieproces voor aangepaste beleidsregels wilt automatiseren, gebruikt u de GitHub Action voor het implementeren van Azure AD aangepast B2C-beleid. Deze GitHub Action is ontwikkeld door de Azure AD B2C-community.

Met deze actie wordt Azure AD aangepast B2C-beleid geïmplementeerd in uw Azure AD B2C-tenant met behulp van de Microsoft Graph API. Als het beleid nog niet bestaat in uw tenant, wordt het gemaakt. Anders wordt het vervangen.

Belangrijk

Het beheren van Azure AD B2C aangepast beleid met Azure Pipelines maakt momenteel gebruik van preview-bewerkingen die beschikbaar zijn op het Microsoft Graph API /betaeindpunt. Het gebruik van deze API's in productie-apps wordt niet ondersteund. Zie de naslaginformatie over de bèta-eindpunten van de Microsoft Graph REST API voor meer informatie.

Vereisten

Een map met aangepaste beleidsregels selecteren

Uw GitHub-opslagplaats kan al uw Azure AD B2C-beleidsbestanden en andere assets bevatten. Maak of kies in de hoofdmap van uw opslagplaats een bestaande map die uw aangepaste beleid bevat.

Selecteer bijvoorbeeld een map met de naam beleid. Voeg uw Azure AD aangepaste B2C-beleidsbestanden toe aan de map met beleidsregels. Voer vervolgens de wijzigingen door.

Push de wijzigingen niet. U doet dit later, nadat u de implementatiewerkstroom hebt ingesteld.

Een Microsoft Graph-toepassing registreren

Als u de GitHub Action wilt laten communiceren met de Microsoft Graph API, maakt u een toepassingsregistratie in uw Azure AD B2C-tenant. Als u dit nog niet hebt gedaan, registreert u een Microsoft Graph-toepassing.

Voor de GitHub Action voor toegang tot gegevens in Microsoft Graph verleent u de geregistreerde toepassing de relevante toepassingsmachtigingen. Verdeel de machtiging Microsoft Graph>Policy>Policy.ReadWrite.TrustFramework binnen de API-machtigingen van de app-registratie.

Een met GitHub versleuteld geheim maken

GitHub-geheimen zijn versleutelde omgevingsvariabelen die u maakt in een organisatie, opslagplaats of opslagplaatsomgeving. In deze stap slaat u het toepassingsgeheim op voor de toepassing die u eerder hebt geregistreerd in de stap Een MS Graph-toepassing registreren .

De GitHub Action voor het implementeren van aangepast B2C-beleid voor Azure AD gebruikt het geheim om een toegangstoken te verkrijgen dat wordt gebruikt om te communiceren met de Microsoft-Graph API. Zie Versleutelde geheimen maken voor een opslagplaats voor meer informatie.

Voer de volgende stappen uit om een GitHub-geheim te maken:

  1. Ga in GitHub naar de hoofdpagina van de opslagplaats.
  2. Selecteer instellingen onder de naam van de opslagplaats.
  3. Selecteer Geheimen in de linkerzijbalk.
  4. Selecteer Nieuw opslagplaatsgeheim.
  5. Bij Naam typt u ClientSecret.
  6. Voer bij Waarde het toepassingsgeheim in dat u eerder hebt gemaakt.
  7. Selecteer Geheim toevoegen.

Een GitHub-werkstroom maken

De GitHub-werkstroom is een geautomatiseerde procedure die u toevoegt aan uw opslagplaats. Werkstromen bestaan uit een of meer taken en kunnen worden gepland of geactiveerd door een gebeurtenis. In deze stap maakt u een werkstroom die uw aangepaste beleid implementeert.

Voer de volgende stappen uit om een werkstroom te maken:

  1. Navigeer in GitHub naar de hoofdpagina van uw opslagplaats.

  2. Selecteer acties onder de naam van de opslagplaats.

    Schermopname van het tabblad GitHub Actions

  3. Als u nog geen werkstroom hebt geconfigureerd, selecteert u Zelf een werkstroom instellen. Selecteer anders Nieuwe werkstroom.

    Schermopname van het maken van een nieuwe werkstroom

  4. GitHub biedt aan om een werkstroombestand met de naam main.yml in de .github/workflows map te maken. Dit bestand bevat informatie over de werkstroom, waaronder uw Azure AD B2C-omgeving en het aangepaste beleid dat moet worden geïmplementeerd. Voeg in de GitHub-webeditor de volgende YAML-code toe:

    on: push
    
    env:
      clientId: 00000000-0000-0000-0000-000000000000
      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. Werk de volgende eigenschappen van het YAML-bestand bij:

    Sectie Name Waarde
    env clientId Toepassings-id (client) van de toepassing die u hebt geregistreerd in de stap Een MS Graph-toepassing registreren .
    env tenant De naam van uw Azure AD B2C-tenant (bijvoorbeeld contoso.onmicrosoft.com).
    with folder Een map waarin de bestanden met aangepaste beleidsregels worden opgeslagen, ./Policiesbijvoorbeeld .
    with files Door komma's gescheiden lijst met beleidsbestanden die moeten worden geïmplementeerd, TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xmlbijvoorbeeld .

    Belangrijk

    Wanneer u de agents uitvoert en de beleidsbestanden uploadt, controleert u of ze in de juiste volgorde zijn geüpload:

    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml
  6. Selecteer Doorvoeren starten.

  7. Geef onder de velden voor het doorvoerbericht aan of u de doorvoer wilt toevoegen aan de huidige vertakking of aan een nieuwe vertakking. Selecteer Nieuw bestand doorvoeren of Nieuw bestand voorstellen om een pull-aanvraag te maken.

Uw werkstroom testen

Als u de werkstroom wilt testen die u hebt gemaakt, pusht u de wijzigingen van uw aangepaste beleid. Zodra de taak is gestart, kunt u een visualisatiegrafiek van de voortgang van de uitvoering bekijken en de activiteit van elke stap bekijken op GitHub.

  1. Ga op GitHub naar de hoofdpagina van uw opslagplaats.

  2. Selecteer acties onder de naam van de opslagplaats.

  3. Selecteer in de linkerzijbalk de werkstroom die u hebt gemaakt.

  4. Selecteer onder Werkstroomuitvoeringen de naam van de uitvoering die u wilt zien.

    Schermopname van het selecteren van werkstroomactiviteit

  5. Selecteer onder Taken of in de visualisatiegrafiek de taak die u wilt zien.

  6. Bekijk de resultaten van elke stap. In de volgende schermopname ziet u het stappenlogboek aangepaste beleidsregels uploaden .

    Het staplogboek voor het uploaden van aangepast beleid

Optioneel: uw werkstroom plannen

De werkstroom die u hebt gemaakt, wordt geactiveerd door de pushgebeurtenis . Als u wilt, kunt u een andere gebeurtenis kiezen om de werkstroom te activeren, bijvoorbeeld een pull-aanvraag.

U kunt ook plannen dat een werkstroom wordt uitgevoerd op specifieke UTC-tijden met behulp van posix-cron-syntaxis. Met de planningsevenement kunt u een werkstroom op een gepland tijdstip activeren. Zie Geplande gebeurtenissen voor meer informatie.

In het volgende voorbeeld wordt de werkstroom elke dag om 5:30 en 17:30 UTC geactiveerd:

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

Uw werkstroom bewerken:

  1. Navigeer in GitHub naar de hoofdpagina van uw opslagplaats.

  2. Selecteer acties onder de naam van de opslagplaats.

  3. Selecteer in de linkerzijbalk de werkstroom die u hebt gemaakt.

  4. Selecteer onder Werkstroomuitvoeringen de naam van de uitvoering die u wilt zien.

  5. Selecteer in het menu de drie puntjes ... en selecteer vervolgens Het werkstroombestand weergeven.

    Schermopname van het weergeven van het werkstroombestand

  6. Selecteer Bewerken in de GitHub-webeditor.

  7. Wijzig on: push in het bovenstaande voorbeeld.

  8. Uw wijzigingen doorvoeren .

Volgende stappen