إدارة النُهج المخصصة لمتاجرة العمل-المستهلك (B2C) في Azure AD باستخدام Azure PowerShell

يوفر Azure PowerShell العديد من cmdlets لإدارة النُهج المخصصة القائمة على سطر الأوامر والنصوص في متاجرة العمل-المستهلك (B2C) في Azure AD. تعرف على كيفية استخدام وحدة Azure AD PowerShell النمطية من أجل ما يلي:

  • سرد النُهج المخصصة في متاجرة العمل-المستهلك (B2C) في Azure AD
  • تنزيل نهج من مستأجر
  • تحديث نهج موجود بالفعل عن طريق استبدال محتواه
  • تحميل نهج جديد إلى متاجرة العمل-المستهلك (B2C) في Azure AD الخاصة بك
  • حذف نهج مخصص من مستأجر

المتطلبات الأساسية

توصيل جلسة PowerShell بمستأجر متاجرة عمل-مستهلك (B2C)

للعمل مع النُهج المخصصة في مستأجر متاجرة العمل-المستهلك (B2C) في Azure AD الخاص بك، تحتاج أولاً إلى توصيل جلسة PowerShell الخاصة بك بالمستأجر باستخدام الأمر Connect-AzureAD.

قم بتنفيذ الأمر التالي، مع استبدال {b2c-tenant-name} باسم مستأجر متاجرة العمل-المستهلك (B2C) في Azure AD الخاص بك. سجّل الدخول باستخدام حساب تم تعيينه لدور مسؤول نهج B2C IEF في الدليل.

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

مثال على مخرجات الأوامر التي تُظهر تسجيل دخول ناجحاً:

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

قائمة بجميع النُهج المخصصة في المستأجر

يتيح اكتشاف النُهج المخصصة لمسؤول متاجرة العمل-المستهلك (B2C) في Azure AD مراجعة منطق الأعمال وإدارته وإضافته إلى عملياته. استخدم الأمر Get-AzureADMSTrustFrameworkPolicy لإرجاع قائمة بمعرفات النُهج المخصصة في مستأجر خاص بمتاجرة عمل-مستهلك (B2C) في Azure AD.

Get-AzureADMSTrustFrameworkPolicy

مثال على مخرجات الأمر:

PS C:\> Get-AzureADMSTrustFrameworkPolicy

Id
--
B2C_1A_TrustFrameworkBase
B2C_1A_TrustFrameworkExtensions
B2C_1A_signup_signin
B2C_1A_ProfileEdit
B2C_1A_PasswordReset

تنزيل نهج

بعد مراجعة قائمة معرّفات النُهج، يمكنك استهداف نهج معين باستخدام الأمر Get-AzureADMSTrustFrameworkPolicy لتنزيل محتواه.

Get-AzureADMSTrustFrameworkPolicy [-Id <policyId>]

في هذا المثال، تم تنزيل النهج الذي يتضمن المعرّف B2C_1A_signup_signin:

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>

لتحرير محتوى النهج محلياً، قم بتمرير مخرجات الأمر إلى أحد الملفات باستخدام الوسيطة -OutputFilePath، ثم افتح الملف في المحرر المفضل لديك.

مثال على إرسال مخرجات أمر إلى ملف:

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

تحديث سياسة موجودة بالفعل

بعد تحرير ملف نهج قمت بإنشائه أو تنزيله، يمكنك نشر النهج المحدَّث على متاجرة العمل-المستهلك (B2C) في Azure AD باستخدام الأمر Set-AzureADMSTrustFrameworkPolicy.

إذا قمت بإصدار الأمر Set-AzureADMSTrustFrameworkPolicy بمعرف نهج موجود بالفعل في مستأجر متاجرة العمل-المستهلك (B2C) في Azure AD الخاص بك، فسيتم استبدال محتوى ذلك النهج.

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

مثال على الأمر:

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

للحصول على أمثلة إضافية، راجع مرجع الأمر Set-AzureADMSTrustFrameworkPolicy.

تحميل نهج جديد

عند إجراء تغيير على نهج مخصص قيد التشغيل في الإنتاج، قد ترغب في نشر إصدارات متعددة من النهج لسيناريوهات الاختبار الاحتياطي أو اختبار أ/ ب. أو قد ترغب في عمل نسخة من نهج موجود، وإجراء بعض التغييرات الصغيرة عليها، ثم تحميلها كنهج جديد لاستخدامها من قبل تطبيق مختلف.

استخدم الأمر New-AzureADMSTrustFrameworkPolicy لتحميل نهج جديد:

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

مثال على الأمر:

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

حذف نهج مخصص

للحفاظ على دورة حياة العمليات نظيفة، نوصي بإزالة النُهج المخصصة غير المستخدمة بشكل دوري. على سبيل المثال، قد ترغب في إزالة إصدارات نهج قديم بعد إجراء ترحيل إلى مجموعة جديدة من النُهج والتحقق من صحة الأداء الوظيفي للنُهج الجديدة. بالإضافة إلى ذلك، إذا حاولت نشر مجموعة من النُهج المخصصة وتلقيت خطأً، فقد يكون من المنطقي إزالة النُهج التي تم إنشاؤها كجزء من الإصدار الفاشل.

استخدم الأمر Remove-AzureADMSTrustFrameworkPolicy لحذف نهج من المستأجر الخاص بك.

Remove-AzureADMSTrustFrameworkPolicy -Id <policyId>

مثال على الأمر:

# Delete an existing policy
Remove-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin

استكشاف أخطاء تحميل النهج وإصلاحها

عند محاولة نشر نهج مخصص جديد أو تحديث سياسة موجودة بالفعل، يمكن أن يتسبب تنسيق XML غير المناسب والأخطاء في سلسلة توريث ملف النهج في حدوث فشل في التحقق.

على سبيل المثال، إليك محاولة لتحديث إحدى النُهج بمحتوى يشتمل على XML تمت صياغته بشكل سيئ (يتم اقتطاع الإخراج للإيجاز):

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

للحصول على معلومات حول استكشاف أخطاء النُهج المخصصة وإصلاحها، راجع استكشاف أخطاء النُهج المخصصة لمتاجرة العمل-المستهلك (B2C) في Azure AD وإطار عمل تجربة الهوية وإصلاحها.

الخطوات التالية

للحصول على معلومات حول استخدام PowerShell لنشر النُهج المخصصة كجزء من تدفقات التكامل/ التسليم المستمر (CI/CD)، راجع نشر النهج المخصصة من تدفقات Azure DevOps.