Поделиться через


Управление настраиваемыми политиками Azure AD B2C с помощью Microsoft Graph PowerShell

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

Microsoft Graph PowerShell предоставляет несколько командлетов для управления пользовательскими политиками с использованием командной строки и сценариев в клиенте Azure AD B2C. Узнайте, как использовать Microsoft Graph PowerShell SDK:

  • Вывод списка настраиваемых политик в клиенте Azure AD B2C
  • Скачайте политику с арендатора
  • Обновление существующей политики путем перезаписи его содержимого
  • Отправка новой политики в клиент Azure AD B2C
  • Удаление настраиваемой политики из клиента

Предпосылки

Подключение сеанса PowerShell к клиенту B2C

Чтобы работать с настраиваемыми политиками в клиенте Azure AD B2C, сначала необходимо подключить сеанс PowerShell к клиенту с помощью команды Connect-MgGraph .

Выполните следующую команду. Войдите с учетной записью, которой назначена роль Администратора политики IEF B2C в каталоге.

Connect-MgGraph -TenantId "{b2c-tenant-name}.onmicrosoft.com" -Scopes "Policy.ReadWrite.TrustFramework"

Пример выходных данных команды, показывающих успешный вход:

Welcome to Microsoft Graph!

Connected via delegated access using 64636d5d-8eb5-42c9-b9eb-f53754c5571f
Readme: https://aka.ms/graph/sdk/powershell
SDK Docs: https://aka.ms/graph/sdk/powershell/docs
API Docs: https://aka.ms/graph/docs

NOTE: You can use the -NoWelcome parameter to suppress this message.

Список всех пользовательских политик в клиенте

Обнаружение настраиваемых политик позволяет администратору Azure AD B2C просматривать, управлять и добавлять бизнес-логику в свои операции. Используйте команду Get-MgBetaTrustFrameworkPolicy , чтобы вернуть список идентификаторов пользовательских политик в клиенте Azure AD B2C.

Get-MgBetaTrustFrameworkPolicy

Пример выходных данных команды:

Id
--
B2C_1A_TrustFrameworkBase
B2C_1A_TrustFrameworkExtensions
B2C_1A_signup_signin
B2C_1A_ProfileEdit
B2C_1A_PasswordReset

Скачивание политики

После просмотра списка идентификаторов политик можно нацелить конкретную политику с помощью Get-MgBetaTrustFrameworkPolicy, чтобы скачать ее содержимое.

Get-MgBetaTrustFrameworkPolicy [-TrustFrameworkPolicyId <policyId>]

В этом примере политика с идентификатором 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>

Чтобы изменить содержимое политики локально, переведите выходные данные команды в файл, а затем откройте файл в избранном редакторе.

Обновление существующей политики

После редактирования файла политики, созданного или скачавшегося, можно опубликовать обновленную политику в Azure AD B2C с помощью команды Update-MgBetaTrustFrameworkPolicy .

Если вы выдаете Update-MgBetaTrustFrameworkPolicy команду с идентификатором политики, которая уже существует в клиенте Azure AD B2C, содержимое этой политики перезаписывается.

Update-MgBetaTrustFrameworkPolicy -TrustFrameworkPolicyId <policyId> -BodyParameter @{trustFrameworkPolicy = "<policy file path>"}

Пример команды:

# Update an existing policy from file
Update-MgBetaTrustFrameworkPolicy -TrustFrameworkPolicyId B2C_1A_signup_signin -BodyParameter @{trustFrameworkPolicy = C:\B2C_1A_signup_signin.xml}

Отправка новой политики

При внесении изменений в настраиваемую политику, которая выполняется в рабочей среде, может потребоваться опубликовать несколько версий политики для резервных сценариев или сценариев тестирования A/B. Кроме того, может потребоваться создать копию существующей политики, изменить ее с помощью нескольких небольших изменений, а затем отправить ее в качестве новой политики для использования другим приложением.

Используйте команду New-MgBetaTrustFrameworkPolicy для отправки новой политики:

New-MgBetaTrustFrameworkPolicy -BodyParameter @{trustFrameworkPolicy = "<policy file path>"}

Пример команды:

# Add new policy from file
New-MgBetaTrustFrameworkPolicy -BodyParameter @{trustFrameworkPolicy = C:\B2C_1A_signup_signin.xml }

Удаление настраиваемой политики

Для поддержания чистого жизненного цикла работы мы рекомендуем периодически удалять неиспользуемые кастомные политики. Например, вы можете удалить старые версии политики после выполнения миграции в новый набор политик и проверки функциональности новых политик. Кроме того, если вы пытаетесь опубликовать набор пользовательских политик и получаете сообщение об ошибке, имеет смысл удалить политики, созданные в рамках неудачного выпуска.

Используйте команду Remove-MgBetaTrustFrameworkPolicy , чтобы удалить политику из клиента.

Remove-MgBetaTrustFrameworkPolicy -TrustFrameworkPolicyId <policyId>

Пример команды:

# Delete an existing policy
Remove-MgBetaTrustFrameworkPolicy -TrustFrameworkPolicyId B2C_1A_signup_signin

Устранение неполадок при отправке политики

При попытке опубликовать новую настраиваемую политику или обновить существующую политику неправильное форматирование XML и ошибки в цепочке наследования файлов политики могут вызвать сбои проверки.

Сведения об устранении неполадок с пользовательскими политиками см. в статье Устранение неполадок пользовательских политик Azure AD B2C и Identity Experience Framework.

Дальнейшие действия

Сведения об использовании PowerShell для развертывания пользовательских политик в рамках конвейера непрерывной интеграции и непрерывной доставки (CI/CD) см. в статье "Развертывание настраиваемых политик из конвейера Azure DevOps".