Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam tutorial ini, Anda menyiapkan GitHub OIDC dan kredensial identitas federasi Microsoft Entra (FIC) sehingga GitHub Actions dapat mengautentikasi ke Power Platform tanpa menyimpan rahasia klien.
Dalam tutorial ini, Anda akan:
- Mengonfigurasi OIDC pada repositori GitHub Anda
- Membuat pendaftaran aplikasi Microsoft Entra dan mengonfigurasi FIC
- Memberikan akses aplikasi di pusat admin Power Platform
- Membuat alur kerja GitHub untuk menjalankan tindakan Power Platform
Langkah 1: Mengonfigurasi OIDC di repositori GitHub Anda
Di GitHub, buka repositori Anda dan pastikan GitHub Actions diaktifkan.
Untuk mengaktifkan Tindakan GitHub di repositori, pilihTindakan> lalu di bawah Umum, Anda disajikan dengan opsi untuk mengaktifkan. Jika Anda tidak melihat Tindakan di bawah Pengaturan, Anda tidak memiliki izin keamanan repositori yang diperlukan.
Tinjau pengaturan OIDC dan panduan kustomisasi klaim subjek. Lihat OpenID Connect di GitHub Actions.
Konfigurasikan templat klaim subjek OIDC menjadi
repository, workflowdalam tutorial ini, seperti yang ditunjukkan pada gambar di atas. Ini membuat klaim subjek unik untuk setiap alur kerja di repositori Anda, yang kemudian dapat Anda referensikan dalam konfigurasi kredensial federasi Anda di ID Microsoft Entra.Format subjek menghasilkan nilai seperti:
repo:MyOrg/MyRepo:workflow:MyWorkflow
Simpan konfigurasi OIDC repositori Anda.
Langkah 2: Buat pendaftaran aplikasi Microsoft Entra dan tambahkan FIC
Di Azure portal, buka Microsoft Entra ID>Pendaftaran aplikasi>Pendaftaran baru.
Buat pendaftaran aplikasi dan salin nilai ID Aplikasi (klien) dan ID Direktori (penyewa).
Buka izin API>Tambahkan izin>Dynamics CRM dan berikan izin kepada Dataverse.
Buka Sertifikat & rahasia (atau Kredensial federasi, bergantung pada pengalaman portal), dan pilih
Otherdalam skenario kredensial Federasi.
Gunakan pengidentifikasi subjek eksplisit ini:
repo:MyOrg/MyRepo:workflow:MyWorkflowSimpan kredensial terfederasi.
Note
Klaim subjek di GitHub dan pengidentifikasi subjek dalam kredensial federasi Anda harus sama persis.
Langkah 3: Berikan akses aplikasi di pusat admin Power Platform
Pergi ke pusat admin Power Platform.
Tambahkan pendaftaran aplikasi Id Entra sebagai pengguna aplikasi dan tetapkan peran keamanan yang diperlukan di setiap lingkungan target.
Untuk langkah-langkah mendetail, lihat Mengelola pengguna aplikasi di pusat admin Power Platform.
Langkah 4: Membuat alur kerja GitHub untuk menjalankan operasi Power Platform
Di repositori Anda, buat atau perbarui alur kerja di
.github/workflows/.Pastikan alur kerja meminta izin token OIDC untuk pekerjaan yang menjalankan tindakan Power Platform.
Konfigurasikan GitHub Actions Power Platform Anda untuk digunakan:
- ID Penyewa
- ID Aplikasi (klien)
- URL Lingkungan
- Parameter autentikasi berbasis OIDC/FIC yang didukung oleh tindakan
Tempel YAML alur kerja sampel Anda di bagian ini dan perbarui tempat penampung untuk lingkungan Anda.
# https://docs.github.com/en/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-azure
name: fic-auth
on:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
who-am-i:
runs-on: ubuntu-latest
permissions:
id-token: write # Grant permissions to the OIDC endpoint for federation
contents: read
steps:
- name: Install Power Platform Tools
uses: microsoft/powerplatform-actions/actions-install@v1
with:
pac-version-override: 2.4.1
- name: WhoAmI
uses: microsoft/powerplatform-actions/who-am-i@v1
with:
environment-url: https://MyOrg.crm.dynamics.com/
app-id: 00000000-0000-0000-0000-000000000000 # Client (application) ID from your app registration
tenant-id: 00000000-0000-0000-0000-000000000000 # Directory (tenant) ID from your app registration
Saat alur kerja berjalan, GitHub mengeluarkan token OIDC. Microsoft Entra memverifikasi token tersebut terhadap kredensial federasi Anda, dan tindakan ini mengautentikasi ke Dataverse/Power Platform tanpa kunci rahasia klien.