Bagikan melalui


Mengelola kebijakan kustom Azure AD B2C dengan Azure PowerShell

Azure PowerShell menyediakan beberapa cmdlet untuk manajemen kebijakan kustom berbasis baris perintah dan skrip di penyewa Azure AD B2C Anda. Pelajari cara menggunakan modul Azure AD PowerShell untuk:

  • Mencantumkan kebijakan kustom dalam penyewa Azure AD B2C
  • Mengunduh kebijakan dari penyewa
  • Memperbarui kebijakan yang ada dengan menimpa kontennya
  • Mengunggah kebijakan baru ke penyewa Azure AD B2C Anda
  • Menghapus kebijakan kustom dari penyewa

Prasyarat

Menyambungkan sesi PowerShell ke penyewa B2C

Untuk bekerja dengan kebijakan kustom di penyewa Azure AD B2C, Anda harus menyambungkan sesi PowerShell terlebih dahulu ke penyewa dengan menggunakan perintah Sambungkan-AzureAD.

Jalankan perintah berikut, substitusi {b2c-tenant-name} dengan nama penyewa Azure AD B2C Anda. Sign-in dengan akun yang diberi peran Administrator Kebijakan IEF B2C dalam direktori.

Connect-AzureAD -Tenant "{b2c-tenant-name}.onmicrosoft.com"

Contoh output perintah memperlihatkan keberhasilan sign-in:

PS C:\> Connect-AzureAD -Tenant "contosob2c.onmicrosoft.com"

Account               Environment TenantId                             TenantDomain                 AccountType
-------               ----------- --------                             ------------                 -----------
azureuser@contoso.com AzureCloud  00000000-0000-0000-0000-000000000000 contosob2c.onmicrosoft.com   User

Mencantumkan semua kebijakan kustom dalam penyewa

Menemukan kebijakan kustom memungkinkan administrator Azure AD B2C untuk meninjau, mengelola, dan menambahkan logika bisnis ke operasi mereka. Gunakan perintah Get-AzureADMSTrustFrameworkPolicy untuk mengembalikan daftar ID kebijakan kustom di penyewa Azure AD B2C.

Get-AzureADMSTrustFrameworkPolicy

Contoh keluaran perintah:

PS C:\> Get-AzureADMSTrustFrameworkPolicy

Id
--
B2C_1A_TrustFrameworkBase
B2C_1A_TrustFrameworkExtensions
B2C_1A_signup_signin
B2C_1A_ProfileEdit
B2C_1A_PasswordReset

Mengunduh kebijakan

Setelah meninjau daftar IDENTITAS kebijakan, Anda dapat menargetkan kebijakan tertentu dengan Get-AzureADMSTrustFrameworkPolicy untuk mengunduh kontennya.

Get-AzureADMSTrustFrameworkPolicy [-Id <policyId>]

Dalam contoh ini, kebijakan dengan ID B2C_1A_signup_signin diunduh:

PS C:\> Get-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin
<TrustFrameworkPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06" PolicySchemaVersion="0.3.0.0" TenantId="contosob2c.onmicrosoft.com" PolicyId="B2C_1A_signup_signin" PublicPolicyUri="http://contosob2c.onmicrosoft.com/B2C_1A_signup_signin" TenantObjectId="00000000-0000-0000-0000-000000000000">
  <BasePolicy>
    <TenantId>contosob2c.onmicrosoft.com</TenantId>
    <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
  </BasePolicy>
  <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" />
        <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
      </OutputClaims>
      <SubjectNamingInfo ClaimType="sub" />
    </TechnicalProfile>
  </RelyingParty>
</TrustFrameworkPolicy>

Untuk mengedit konten kebijakan secara lokal, arahkan output perintah ke file dengan argumen -OutputFilePath, lalu buka file di editor favorit Anda.

Contoh perintah mengirim output ke file:

# Download and send policy output to a file
Get-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin -OutputFilePath C:\RPPolicy.xml

Mengubah kebijakan yang sudah ada

Setelah mengedit file kebijakan yang telah Anda buat atau unduh, Anda dapat menerbitkan kebijakan yang diperbarui ke Azure AD B2C dengan menggunakan perintah Set-AzureADMSTrustFrameworkPolicy.

Jika Anda mengeluarkan perintah Set-AzureADMSTrustFrameworkPolicy dengan ID kebijakan yang sudah ada di penyewa Azure AD B2C Anda, konten kebijakan tersebut akan ditimpa.

Set-AzureADMSTrustFrameworkPolicy [-Id <policyId>] -InputFilePath <inputpolicyfilePath> [-OutputFilePath <outputFilePath>]

Contoh perintah:

# Update an existing policy from file
Set-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin -InputFilePath C:\B2C_1A_signup_signin.xml

Untuk contoh tambahan, lihat referensi perintah Set-AzureADMSTrustFrameworkPolicy.

Mengunggah kebijakan baru

Saat Anda membuat perubahan pada kebijakan kustom yang berjalan dalam produksi, Anda mungkin ingin menerbitkan beberapa versi kebijakan untuk skenario fallback atau pengujian A/B. Atau, Anda mungkin ingin membuat salinan kebijakan yang ada, memodifikasinya dengan beberapa perubahan kecil, lalu mengunggahnya sebagai kebijakan baru untuk digunakan oleh aplikasi lain.

Gunakan perintah New-AzureADMSTrustFrameworkPolicy untuk mengunggah kebijakan baru:

New-AzureADMSTrustFrameworkPolicy -InputFilePath <inputpolicyfilePath> [-OutputFilePath <outputFilePath>]

Contoh perintah:

# Add new policy from file
New-AzureADMSTrustFrameworkPolicy -InputFilePath C:\SignUpOrSignInv2.xml

Hapus kebijakan kustom

Untuk mempertahankan siklus hidup operasi yang bersih, kami sarankan Anda secara berkala menghapus kebijakan kustom yang tidak digunakan. Misalnya, Anda mungkin ingin menghapus versi kebijakan lama setelah melakukan migrasi ke serangkaian kebijakan baru dan memverifikasi fungsionalitas kebijakan baru. Selain itu, jika Anda mencoba menerbitkan serangkaian kebijakan kustom dan menerima kesalahan, mungkin masuk akal untuk menghapus kebijakan yang dibuat sebagai bagian dari rilis yang gagal.

Gunakan perintah Remove-AzureADMSTrustFrameworkPolicy untuk menghapus kebijakan dari penyewa Anda.

Remove-AzureADMSTrustFrameworkPolicy -Id <policyId>

Contoh perintah:

# Delete an existing policy
Remove-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin

Memecahkan masalah unggahan kebijakan

Ketika Anda mencoba menerbitkan kebijakan kustom baru atau memperbarui kebijakan yang ada, pemformatan XML yang tidak tepat dan kesalahan dalam rantai pewarisan file kebijakan dapat menyebabkan kegagalan validasi.

Misalnya, berikut adalah upaya untuk memperbarui kebijakan dengan konten yang berisi XML cacat (output dipotong untuk brevity):

PS C:\> Set-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin -InputFilePath C:\B2C_1A_signup_signin.xml
Set-AzureADMSTrustFrameworkPolicy : Error occurred while executing PutTrustFrameworkPolicy
Code: AADB2C
Message: Validation failed: 1 validation error(s) found in policy "B2C_1A_SIGNUP_SIGNIN" of tenant "contosob2c.onmicrosoft.com".Schema validation error found at line
14 col 55 in policy "B2C_1A_SIGNUP_SIGNIN" of tenant "contosob2c.onmicrosoft.com": The element 'OutputClaims' in namespace
'http://schemas.microsoft.com/online/cpim/schemas/2013/06' cannot contain text. List of possible elements expected: 'OutputClaim' in namespace
'http://schemas.microsoft.com/online/cpim/schemas/2013/06'.
...

Untuk informasi tentang pemecahan masalah kebijakan kustom, lihat Memecahkan masalah kebijakan kustom Azure AD B2C dan IEF.

Langkah berikutnya

Untuk informasi tentang menggunakan PowerShell untuk menerapkan kebijakan kustom sebagai bagian dari saluran integrasi berkelanjutan/pengiriman berkelanjutan(CI/CD), lihat Menerapkan kebijakan kustom dari saluran Azure DevOps.