Bagikan melalui


Sebarkan kebijakan kustom dengan GitHub Actions

Tindakan GitHub memungkinkan Anda membuat alur kerja integrasi berkelanjutan (CI) dan penyebaran berkelanjutan (CD) kustom langsung di repositori GitHub Anda. Artikel ini menjelaskan cara mengotomatiskan penyebaran kebijakan kustom Azure Active Directory B2C (Azure AD B2C) menggunakan Tindakan GitHub.

Untuk mengotomatiskan proses penyebaran kebijakan kustom, gunakan Tindakan GitHub untuk menyebarkan kebijakan kustom Azure AD B2C. GitHub Action ini dikembangkan oleh komunitas Azure AD B2C.

Tindakan ini menyebarkan kebijakan kustom Azure AD B2C ke penyewa Azure AD B2C Anda menggunakan API Microsoft Graph. Jika kebijakan belum ada di penyewa Anda, itu akan dibuat. Jika tidak, itu akan diganti.

Penting

Mengelola kebijakan kustom Azure AD B2C dengan Azure Pipelines saat ini menggunakan operasi pratinjau yang tersedia di titik akhir /beta Microsoft Graph API. Penggunaan API ini dalam aplikasi produksi tidak didukung. Untuk informasi selengkapnya, lihat referensi titik akhir Microsoft Graph REST API beta.

Prasyarat

Memilih folder kebijakan kustom

Repositori GitHub Anda dapat berisi semua file kebijakan Azure AD B2C dan aset lainnya. Di direktori akar repositori Anda, buat atau pilih folder yang sudah ada yang berisi kebijakan kustom Anda.

Misalnya, pilih folder bernama kebijakan. Tambahkan file kebijakan kustom Azure AD B2C Anda ke folder kebijakan. Kemudian Terapkan perubahan.

Jangan Dorong perubahan. Anda akan melakukannya nanti, setelah Anda menyiapkan alur kerja penyebaran.

Mendaftar aplikasi Microsoft Graph

Untuk mengizinkan Tindakan GitHub berinteraksi dengan API Microsoft Graph, buat pendaftaran aplikasi di penyewa Azure AD B2C Anda. Jika Anda belum melakukannya, daftarkan aplikasi Microsoft Graph.

Agar GitHub Action dapat mengakses data di Microsoft Graph, berikan izin aplikasi yang relevan kepada aplikasi terdaftar. Berikan izin Microsoft Graph>Kebijakan>Policy.ReadWrite.TrustFramework dalam Izin API pendaftaran aplikasi.

Membuat rahasia terenkripsi GitHub

Rahasia GitHub adalah variabel lingkungan terenkripsi yang Anda buat di lingkungan organisasi, repositori, atau repositori. Pada langkah ini, Anda menyimpan rahasia aplikasi untuk aplikasi yang Anda daftarkan sebelumnya di langkah Mendaftarkan aplikasi MS Graph.

Tindakan GitHub untuk menyebarkan kebijakan kustom Azure AD B2C menggunakan rahasia untuk memperoleh token akses yang digunakan untuk berinteraksi dengan API Microsoft Graph. Untuk informasi selengkapnya, lihat Membuat rahasia terenkripsi untuk repositori.

Untuk membuat rahasia GitHub, ikuti langkah-langkah berikut:

  1. Di GitHub, arahkan ke halaman utama repositori.
  2. Di bawah nama repositori Anda, pilih Pengaturan.
  3. Di bilah sisi kiri, pilih Rahasia.
  4. Pilih Rahasia repositori baru.
  5. Untuk Nama, ketik ClientSecret.
  6. Untuk Nilai, masukkan rahasia aplikasi yang Anda buat sebelumnya.
  7. Pilih Tambahkan rahasia.

Membuat alur kerja GitHub

Alur kerja GitHub adalah prosedur otomatis yang Anda tambahkan ke repositori Anda. Alur kerja terdiri dari satu atau lebih pekerjaan dan dapat dijadwalkan atau dipicu oleh suatu peristiwa. Pada langkah ini, Anda membuat alur kerja yang menyebarkan kebijakan kustom Anda.

Untuk membuat alur kerja, ikuti langkah-langkah berikut:

  1. Di GitHub, arahkan ke halaman utama repositori Anda.

  2. Di bawah nama repositori Anda, pilih Tindakan.

    Cuplikan layar yang menunjukkan tab Tindakan GitHub

  3. Jika Anda tidak mengonfigurasi alur kerja sebelumnya, pilih siapkan alur kerja sendiri. Jika tidak, pilih Alur Kerja Baru.

    Cuplikan layar yang menunjukkan cara membuat alur kerja baru

  4. GitHub menawarkan untuk membuat file alur kerja bernama main.yml di folder .github/workflows. File ini berisi informasi tentang alur kerja, termasuk lingkungan Azure AD B2C Anda dan kebijakan kustom untuk disebarkan. Di editor web GitHub, tambahkan kode YAML berikut:

    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. Perbarui properti file YAML berikut ini:

    Bagian Nama Nilai
    env clientId ID aplikasi (klien) dari aplikasi yang Anda daftarkan di langkah Daftarkan aplikasi MS Graph.
    env tenant Nama penyewa Azure AD B2C Anda (misalnya, contoso.onmicrosoft.com).
    with folder Folder tempat file kebijakan kustom disimpan, misalnya, ./Policies.
    with files Daftar file kebijakan yang dipisahkan koma untuk disebarkan, misalnya, TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml.

    Penting

    Saat menjalankan agen dan mengunggah file kebijakan, pastikan mereka diunggah dalam urutan yang benar:

    1. TrustFrameworkBase.xml
    2. TrustFrameworkLocalization.xml
    3. TrustFrameworkExtensions.xml
    4. SignUpOrSignin.xml
    5. ProfileEdit.xml
    6. PasswordReset.xml
  6. Pilih Mulai terapkan.

  7. Di bawah bidang terapkan pesan, tunjukkan apakah akan menambahkan penerapan Anda ke cabang saat ini atau ke cabang baru. Pilih Terapkan file baru, atau Usulkan file baru untuk membuat permintaan tarik.

Menguji alur kerja

Untuk menguji alur kerja yang Anda buat, Dorong perubahan kebijakan kustom Anda. Setelah pekerjaan Anda mulai berjalan, Anda dapat melihat grafik visualisasi kemajuan proses dan melihat aktivitas setiap langkah di GitHub.

  1. Di GitHub, arahkan ke halaman utama repositori Anda.

  2. Di bawah nama repositori Anda, pilih Tindakan.

  3. Di bilah sisi kiri, pilih alur kerja yang Anda buat.

  4. Di bawah Alur kerja berjalan, pilih nama proses yang ingin Anda lihat.

    Cuplikan layar yang menunjukkan cara memilih aktivitas alur kerja

  5. Di bawah Pekerjaan atau di grafik visualisasi, pilih pekerjaan yang ingin Anda lihat.

  6. Lihat hasil setiap langkah. Cuplikan layar berikut menunjukkan log langkah Unggah kebijakan kustom.

    Unggah log langkah kebijakan kustom

Opsional: Jadwalkan alur kerja Anda

Alur kerja yang Anda buat dipicu oleh peristiwa dorong. Jika mau, Anda dapat memilih peristiwa lain untuk memicu alur kerja, misalnya permintaan tarik.

Anda juga dapat menjadwalkan alur kerja untuk dijalankan pada waktu UTC tertentu menggunakan sintaks cron POSIX. Peristiwa jadwal memungkinkan Anda untuk memicu alur kerja pada waktu yang dijadwalkan. Untuk informasi selengkapnya, lihat Peristiwa terjadwal.

Contoh berikut memicu alur kerja setiap hari pada pukul 5.30 dan 17.30 UTC:

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

Untuk mengedit alur kerja Anda:

  1. Di GitHub, arahkan ke halaman utama repositori Anda.

  2. Di bawah nama repositori Anda, pilih Tindakan.

  3. Di bilah sisi kiri, pilih alur kerja yang Anda buat.

  4. Di bawah Alur kerja berjalan, pilih nama proses yang ingin Anda lihat.

  5. Dari menu, pilih tiga titik ... , lalu pilih Lihat file alur kerja.

    Cuplikan layar yang menunjukkan cara melihat file alur kerja

  6. Di editor web GitHub, pilih Edit.

  7. Ubah on: push ke contoh di atas.

  8. Terapkan perubahan Anda.

Langkah berikutnya