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

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:

  1. W usłudze GitHub przejdź do strony głównej repozytorium.
  2. W obszarze nazwy repozytorium wybierz pozycję Ustawienia.
  3. Na lewym pasku bocznym wybierz pozycję Wpisy tajne.
  4. Wybierz pozycję Nowy wpis tajny repozytorium.
  5. W polu Nazwa wpisz ClientSecret.
  6. W polu Wartość wprowadź utworzony wcześniej wpis tajny aplikacji.
  7. 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:

  1. W usłudze GitHub przejdź do strony głównej repozytorium.

  2. W obszarze nazwy repozytorium wybierz pozycję Akcje.

    Zrzut ekranu przedstawiający kartę GitHub Actions

  3. 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.

    Zrzut ekranu przedstawiający sposób tworzenia nowego przepływu pracy

  4. 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: 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. 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:

    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml
  6. Wybierz pozycję Start commit (Rozpocznij zatwierdzanie).

  7. 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.

  1. W usłudze GitHub przejdź do strony głównej repozytorium.

  2. W obszarze nazwy repozytorium wybierz pozycję Akcje.

  3. Na lewym pasku bocznym wybierz utworzony przepływ pracy.

  4. W obszarze Przebiegi przepływu pracy wybierz nazwę przebiegu, który chcesz wyświetlić.

    Zrzut ekranu przedstawiający sposób wybierania działania przepływu pracy

  5. W obszarze Zadania lub na wykresie wizualizacji wybierz zadanie, które chcesz zobaczyć.

  6. Wyświetl wyniki każdego kroku. Poniższy zrzut ekranu przedstawia dziennik kroków przekazywania zasad niestandardowych .

    Dziennik kroku 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:

  1. W usłudze GitHub przejdź do strony głównej repozytorium.

  2. W obszarze nazwy repozytorium wybierz pozycję Akcje.

  3. Na lewym pasku bocznym wybierz utworzony przepływ pracy.

  4. W obszarze Przebiegi przepływu pracy wybierz nazwę przebiegu, który chcesz wyświetlić.

  5. Z menu wybierz trzy kropki ..., a następnie wybierz pozycję Wyświetl plik przepływu pracy.

    Zrzut ekranu przedstawiający sposób wyświetlania pliku przepływu pracy

  6. W edytorze internetowym usługi GitHub wybierz pozycję Edytuj.

  7. Przejdź on: push do powyższego przykładu.

  8. Zatwierdź zmiany.

Następne kroki