Wdrażanie zasad niestandardowych przy użyciu GitHub Actions
GitHub Actions umożliwia tworzenie niestandardowych przepływów pracy ciągłej integracji i ciągłego wdrażania (CD) bezpośrednio w repozytorium GitHub. W tym artykule opisano sposób automatyzowania wdrażania zasad niestandardowych usługi Azure Active Directory B2C (Azure AD B2C) przy użyciu GitHub Actions.
Aby zautomatyzować proces wdrażania zasad niestandardowych, użyj akcji usługi GitHub do wdrażania zasad niestandardowych usługi Azure AD B2C. Ta akcja usługi GitHub została opracowana przez społeczność Azure AD B2C.
Ta akcja umożliwia wdrożenie zasad niestandardowych usługi Azure AD B2C w dzierżawie usługi Azure AD B2C przy użyciu usługi Microsoft interfejs Graph API. Jeśli zasady nie istnieją jeszcze w dzierżawie, zostaną utworzone. W przeciwnym razie zostanie zastąpiony.
Ważne
Zarządzanie zasadami niestandardowymi usługi Azure AD B2C za pomocą usługi Azure Pipelines obecnie używa operacji w wersji zapoznawczej dostępnych w punkcie końcowym usługi Microsoft interfejs Graph API/beta
. Te interfejsy API nie są obsługiwane w zastosowaniach produkcyjnych. Aby uzyskać więcej informacji, zobacz dokumentacja punktu końcowego interfejsu API REST programu Microsoft Graph w wersji beta.
Wymagania wstępne
- Wykonaj kroki opisane w artykule Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C.
- Jeśli nie utworzono repozytorium GitHub, utwórz je.
Wybieranie folderu zasad niestandardowych
Repozytorium GitHub może zawierać wszystkie pliki zasad usługi Azure AD B2C i inne zasoby. W katalogu głównym repozytorium utwórz lub wybierz istniejący folder zawierający zasady niestandardowe.
Na przykład wybierz folder o nazwie policies. Dodaj pliki zasad niestandardowych usługi Azure AD B2C do folderu zasad. Następnie zatwierdź zmiany.
Nie wypychaj zmian. Zrobisz to później po skonfigurowaniu przepływu pracy wdrażania.
Rejestrowanie aplikacji programu Microsoft Graph
Aby umożliwić akcji usługi GitHub interakcję z usługą Microsoft interfejs Graph API, utwórz rejestrację aplikacji w dzierżawie usługi Azure AD B2C. Jeśli jeszcze tego nie zrobiono, zarejestruj aplikację programu Microsoft Graph.
Aby akcja usługi GitHub mogła uzyskać dostęp do danych w programie Microsoft Graph, przyznaj zarejestrowanej aplikacji odpowiednie uprawnienia aplikacji. Przyznaj uprawnienie Microsoft Graph>Policy.ReadWrite.TrustFramework> w ramach uprawnień interfejsu API rejestracji aplikacji.
Tworzenie zaszyfrowanego wpisu tajnego usługi GitHub
Wpisy tajne usługi GitHub to zaszyfrowane zmienne środowiskowe tworzone w organizacji, repozytorium lub środowisku repozytorium. W tym kroku zapiszesz wpis tajny aplikacji dla aplikacji zarejestrowanej wcześniej w kroku Rejestrowanie aplikacji MS Graph .
Akcja usługi GitHub do wdrażania zasad niestandardowych usługi Azure AD B2C używa wpisu tajnego do uzyskania tokenu dostępu używanego do interakcji z usługą Microsoft interfejs Graph API. Aby uzyskać więcej informacji, zobacz Tworzenie zaszyfrowanych wpisów tajnych dla repozytorium.
Aby utworzyć wpis tajny usługi GitHub, wykonaj następujące kroki:
- W usłudze GitHub przejdź do strony głównej repozytorium.
- W obszarze nazwy repozytorium wybierz pozycję Ustawienia.
- Na lewym pasku bocznym wybierz pozycję Wpisy tajne.
- Wybierz pozycję Nowy wpis tajny repozytorium.
- W polu Nazwa wpisz ClientSecret.
- W polu Wartość wprowadź utworzony wcześniej wpis tajny aplikacji.
- Wybierz przycisk Add secret (Dodaj wpis tajny).
Tworzenie przepływu pracy usługi GitHub
Przepływ pracy usługi GitHub to zautomatyzowana procedura dodana do repozytorium. Przepływy pracy składają się z co najmniej jednego zadania i mogą być zaplanowane lub wyzwalane przez zdarzenie. W tym kroku utworzysz przepływ pracy, w którym zostaną wdrożone zasady niestandardowe.
Aby utworzyć przepływ pracy, wykonaj następujące kroki:
W usłudze GitHub przejdź do strony głównej repozytorium.
W obszarze nazwy repozytorium wybierz pozycję Akcje.
Jeśli przepływ pracy nie został wcześniej skonfigurowany, wybierz opcję Skonfiguruj przepływ pracy samodzielnie. W przeciwnym razie wybierz pozycję Nowy przepływ pracy.
Usługa GitHub oferuje tworzenie pliku przepływu pracy o nazwie
main.yml
w folderze.github/workflows
. Ten plik zawiera informacje o przepływie pracy, w tym o środowisku Azure AD B2C i zasadach niestandardowych do wdrożenia. W edytorze internetowym usługi GitHub dodaj następujący kod 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 }}
Zaktualizuj następujące właściwości pliku YAML:
Sekcja Nazwa Wartość env
clientId
Identyfikator aplikacji (klienta) aplikacji zarejestrowanej w kroku Rejestrowanie aplikacji MS Graph . env
tenant
Nazwa dzierżawy Azure AD B2C (na przykład contoso.onmicrosoft.com). with
folder
Folder, w którym są przechowywane pliki zasad niestandardowych, na przykład ./Policies
.with
files
Rozdzielana przecinkami lista plików zasad do wdrożenia, na przykład TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml
.Ważne
Podczas uruchamiania agentów i przekazywania plików zasad upewnij się, że są one przekazywane w odpowiedniej kolejności:
- TrustFrameworkBase.xml
- TrustFrameworkLocalization.xml
- TrustFrameworkExtensions.xml
- SignUpOrSignin.xml
- ProfileEdit.xml
- PasswordReset.xml
Wybierz pozycję Start commit (Rozpocznij zatwierdzanie).
Poniżej pól komunikatu zatwierdzenia wskaż, czy należy dodać zatwierdzenie do bieżącej gałęzi, czy do nowej gałęzi. Wybierz pozycję Zatwierdź nowy plik lub Zaproponuj nowy plik , aby utworzyć żądanie ściągnięcia.
Testowanie przepływu pracy
Aby przetestować utworzony przepływ pracy, wypchnij zmiany zasad niestandardowych. Po uruchomieniu zadania możesz zobaczyć wykres wizualizacji postępu przebiegu i wyświetlić działanie każdego kroku w usłudze GitHub.
W usłudze GitHub przejdź do strony głównej repozytorium.
W obszarze nazwy repozytorium wybierz pozycję Akcje.
Na lewym pasku bocznym wybierz utworzony przepływ pracy.
W obszarze Przebiegi przepływu pracy wybierz nazwę przebiegu, który chcesz wyświetlić.
W obszarze Zadania lub na wykresie wizualizacji wybierz zadanie, które chcesz zobaczyć.
Wyświetl wyniki każdego kroku. Poniższy zrzut ekranu przedstawia dziennik kroków przekazywania zasad niestandardowych .
Opcjonalnie: Planowanie przepływu pracy
Utworzony przepływ pracy jest wyzwalany przez zdarzenie wypychania . Jeśli wolisz, możesz wybrać inne zdarzenie, aby wyzwolić przepływ pracy, na przykład żądanie ściągnięcia.
Możesz również zaplanować uruchamianie przepływu pracy o określonych godzinach UTC przy użyciu składni cron POSIX. Zdarzenie harmonogramu umożliwia wyzwalanie przepływu pracy w zaplanowanym czasie. Aby uzyskać więcej informacji, zobacz Zaplanowane zdarzenia.
Poniższy przykład wyzwala przepływ pracy codziennie o 5:30 i 17:30 UTC:
on:
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '30 5,17 * * *'
Aby edytować przepływ pracy:
W usłudze GitHub przejdź do strony głównej repozytorium.
W obszarze nazwy repozytorium wybierz pozycję Akcje.
Na lewym pasku bocznym wybierz utworzony przepływ pracy.
W obszarze Przebiegi przepływu pracy wybierz nazwę przebiegu, który chcesz wyświetlić.
Z menu wybierz trzy kropki ..., a następnie wybierz pozycję Wyświetl plik przepływu pracy.
W edytorze internetowym usługi GitHub wybierz pozycję Edytuj.
Przejdź
on: push
do powyższego przykładu.Zatwierdź zmiany.
Następne kroki
- Dowiedz się, jak skonfigurować zdarzenia wyzwalające przepływy pracy