Distribuera anpassade principer med GitHub Actions
GitHub Actions kan du skapa anpassade arbetsflöden för kontinuerlig integrering (CI) och kontinuerlig distribution (CD) direkt i GitHub-lagringsplatsen. Den här artikeln beskriver hur du automatiserar distributionen av anpassade principer för Azure Active Directory B2C (Azure AD B2C) med hjälp av GitHub Actions.
Om du vill automatisera distributionsprocessen för anpassade principer använder du GitHub-åtgärden för att distribuera Azure AD anpassade B2C-principer. Den här GitHub-åtgärden har utvecklats av Azure AD B2C-communityn.
Den här åtgärden distribuerar Azure AD anpassade B2C-principer till din Azure AD B2C-klientorganisation med hjälp av Microsoft Graph API. Om principen ännu inte finns i din klientorganisation skapas den. Annars kommer den att ersättas.
Viktigt
För att hantera Azure AD anpassade B2C-principer med Azure Pipelines används för närvarande förhandsversionsåtgärder som är tillgängliga på Microsoft Graph API /beta
slutpunkt. Användning av dessa API:er i produktionsprogram stöds inte. Mer information finns i betaslutpunktsreferensen för Microsoft Graph REST API.
Förutsättningar
- Slutför stegen i Kom igång med anpassade principer i Active Directory B2C.
- Om du inte har skapat GitHub-lagringsplatsen skapar du en.
Välj en anpassad principmapp
GitHub-lagringsplatsen kan innehålla alla dina Azure AD B2C-principfiler och andra tillgångar. Skapa eller välj en befintlig mapp som innehåller dina anpassade principer i lagringsplatsens rotkatalog.
Välj till exempel en mapp med namnet policies. Lägg till dina Azure AD anpassade B2C-principfiler i mappen policies. Checka sedan in ändringarna.
Push-överför inte ändringarna. Du kommer att göra detta senare när du har konfigurerat distributionsarbetsflödet.
Registrera ett Microsoft Graph-program
Om du vill tillåta att GitHub-åtgärden interagerar med Microsoft Graph API skapar du en programregistrering i din Azure AD B2C-klientorganisation. Om du inte redan har gjort det registrerar du ett Microsoft Graph-program.
För att GitHub-åtgärden ska få åtkomst till data i Microsoft Graph beviljar du det registrerade programmet relevanta programbehörigheter. Ge Microsoft Graph>Policy>Policy.ReadWrite.TrustFramework behörighet inom API-behörigheterna för appregistreringen.
Skapa en GitHub-krypterad hemlighet
GitHub-hemligheter är krypterade miljövariabler som du skapar i en miljö för organisation, lagringsplats eller lagringsplats. I det här steget lagrar du programhemligheten för det program som du registrerade tidigare i steget Registrera ett MS Graph-program .
GitHub-åtgärden för att distribuera Azure AD anpassade B2C-principer använder hemligheten för att hämta en åtkomsttoken som används för att interagera med Microsoft Graph API. Mer information finns i Skapa krypterade hemligheter för en lagringsplats.
Följ dessa steg för att skapa en GitHub-hemlighet:
- I GitHub navigerar du till huvudsidan för lagringsplatsen.
- Under namnet på din lagringsplats väljer du Inställningar.
- I det vänstra sidofältet väljer du Hemligheter.
- Välj Ny lagringsplatshemlighet.
- För Namn skriver du ClientSecret.
- För Värdet anger du den programhemlighet som du skapade tidigare.
- Välj Add secret (Lägg till hemlighet).
Skapa ett GitHub-arbetsflöde
GitHub-arbetsflödet är en automatiserad procedur som du lägger till på lagringsplatsen. Arbetsflöden består av ett eller flera jobb och kan schemaläggas eller utlösas av en händelse. I det här steget skapar du ett arbetsflöde som distribuerar din anpassade princip.
Följ dessa steg för att skapa ett arbetsflöde:
I GitHub navigerar du till huvudsidan för din lagringsplats.
Under namnet på lagringsplatsen väljer du Åtgärder.
Om du inte har konfigurerat ett arbetsflöde tidigare väljer du konfigurera ett arbetsflöde själv. Annars väljer du Nytt arbetsflöde.
GitHub erbjuder sig att skapa en arbetsflödesfil med namnet
main.yml
i.github/workflows
mappen. Den här filen innehåller information om arbetsflödet, inklusive din Azure AD B2C-miljö och de anpassade principer som ska distribueras. Lägg till följande YAML-kod i GitHub-webbredigeraren: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 }}
Uppdatera följande egenskaper för YAML-filen:
Avsnitt Name Värde env
clientId
Program-ID för det program som du registrerade i steget Registrera ett MS Graph-program . env
tenant
Ditt Azure AD B2C-klientnamn (till exempel contoso.onmicrosoft.com). with
folder
En mapp där filerna för anpassade principer lagras, till exempel ./Policies
.with
files
Kommaavgränsad lista över principfiler som ska distribueras, TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml
till exempel .Viktigt
När du kör agenterna och laddar upp principfilerna kontrollerar du att de laddas upp i rätt ordning:
- TrustFrameworkBase.xml
- TrustFrameworkLocalization.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- ProfileEdit.xml
- PasswordReset.xml
Välj Start commit (Starta incheckning).
Under fälten för incheckningsmeddelande anger du om du vill lägga till din incheckning i den aktuella grenen eller till en ny gren. Välj Checka in ny fil eller Föreslå ny fil för att skapa en pull-begäran.
Testa arbetsflödet
Om du vill testa arbetsflödet som du skapade skickar du ändringarna i din anpassade princip. När jobbet har börjat köras kan du se en visualiseringsgraf över körningens förlopp och visa varje stegs aktivitet på GitHub.
Gå till huvudsidan för din lagringsplats på GitHub.
Under namnet på lagringsplatsen väljer du Åtgärder.
I det vänstra sidofältet väljer du det arbetsflöde som du skapade.
Under Arbetsflödeskörningar väljer du namnet på den körning som du vill se.
Under Jobb eller i visualiseringsdiagrammet väljer du det jobb som du vill se.
Visa resultatet av varje steg. Följande skärmbild visar stegloggen Ladda upp anpassad princip .
Valfritt: Schemalägg arbetsflödet
Arbetsflödet som du skapade utlöses av push-händelsen . Om du vill kan du välja en annan händelse för att utlösa arbetsflödet, till exempel en pull-begäran.
Du kan också schemalägga ett arbetsflöde så att det körs vid specifika UTC-tider med hjälp av POSIX cron-syntax. Med schemahändelsen kan du utlösa ett arbetsflöde vid en schemalagd tidpunkt. Mer information finns i Schemalagda händelser.
I följande exempel utlöses arbetsflödet varje dag kl. 5:30 och 17:30 UTC:
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '30 5,17 * * *'
Så här redigerar du arbetsflödet:
I GitHub navigerar du till huvudsidan för din lagringsplats.
Under namnet på lagringsplatsen väljer du Åtgärder.
I det vänstra sidofältet väljer du det arbetsflöde som du skapade.
Under Arbetsflödeskörningar väljer du namnet på den körning som du vill se.
På menyn väljer du de tre punkterna ... och sedan Visa arbetsflödesfilen.
I GitHub-webbredigeraren väljer du Redigera.
Ändra
on: push
till exemplet ovan.Checka in ändringarna.
Nästa steg
- Lär dig hur du konfigurerar händelser som utlöser arbetsflöden