Aracılığıyla paylaş


Azure PowerShell ile Azure AD B2C özel ilkelerini yönetme

Azure PowerShell, Azure AD B2C kiracınızda komut satırı ve betik tabanlı özel ilke yönetimi için çeşitli cmdlet'ler sağlar. Azure AD PowerShell modülünü kullanarak şunları yapmayı öğrenin:

  • Azure AD B2C kiracısında özel ilkeleri listeleme
  • Kiracıdan ilke indirme
  • Mevcut bir ilkeyi içeriğinin üzerine yazarak güncelleştirme
  • Azure AD B2C kiracınıza yeni ilke yükleme
  • Kiracıdan özel ilke silme

Önkoşullar

PowerShell oturumlarını B2C kiracısına bağlama

Azure AD B2C kiracınızda özel ilkelerle çalışmak için öncelikle Connect-AzureAD komutunu kullanarak PowerShell oturumunuzu kiracıya bağlamanız gerekir.

aşağıdaki komutu yürüterek {b2c-tenant-name} Azure AD B2C kiracınızın adını yazın. Dizinde B2C IEF İlkesi Yöneticisi rolü atanmış bir hesapla oturum açın.

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

Başarılı bir oturum açmayı gösteren örnek komut çıktısı:

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

Kiracıdaki tüm özel ilkeleri listeleme

Özel ilkeleri keşfetmek, Azure AD B2C yöneticisinin işlemlerini gözden geçirmesine, yönetmesine ve operasyonlarına iş mantığı eklemesine olanak tanır. Azure AD B2C kiracısındaki özel ilkelerin kimliklerinin listesini döndürmek için Get-AzureADMSTrustFrameworkPolicy komutunu kullanın.

Get-AzureADMSTrustFrameworkPolicy

Örnek komut çıktısı:

PS C:\> Get-AzureADMSTrustFrameworkPolicy

Id
--
B2C_1A_TrustFrameworkBase
B2C_1A_TrustFrameworkExtensions
B2C_1A_signup_signin
B2C_1A_ProfileEdit
B2C_1A_PasswordReset

İlke indirme

İlke kimliklerinin listesini gözden geçirdikten sonra, get-AzureADMSTrustFrameworkPolicy ile belirli bir ilkeyi hedefleyerek içeriğini indirebilirsiniz.

Get-AzureADMSTrustFrameworkPolicy [-Id <policyId>]

Bu örnekte, kimliği B2C_1A_signup_signin olan ilke indirilir:

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>

İlke içeriğini yerel olarak düzenlemek için komut çıkışını bağımsız değişkeniyle bir dosyaya aktarın -OutputFilePath ve ardından dosyayı sık kullandığınız düzenleyicide açın.

Dosyaya çıktı gönderen örnek komut:

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

Mevcut ilkeyi güncelleştirme

Oluşturduğunuz veya indirdiğiniz bir ilke dosyasını düzenledikten sonra, Set-AzureADMSTrustFrameworkPolicy komutunu kullanarak güncelleştirilmiş ilkeyi Azure AD B2C'de yayımlayabilirsiniz.

komutu, Set-AzureADMSTrustFrameworkPolicy Azure AD B2C kiracınızda zaten var olan bir ilkenin kimliğiyle birlikte verirseniz, bu ilkenin içeriğinin üzerine yazılır.

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

Örnek komut:

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

Ek örnekler için bkz. Set-AzureADMSTrustFrameworkPolicy komut başvurusu.

Yeni ilkeyi karşıya yükleme

Üretimde çalışan bir özel ilkede değişiklik yaptığınızda, geri dönüş veya A/B test senaryoları için ilkenin birden çok sürümünü yayımlamak isteyebilirsiniz. Alternatif olarak, var olan bir ilkenin kopyasını oluşturmak, birkaç küçük değişiklikle değiştirmek ve ardından farklı bir uygulama tarafından kullanılmak üzere yeni bir ilke olarak karşıya yüklemek isteyebilirsiniz.

Yeni bir ilkeyi karşıya yüklemek için New-AzureADMSTrustFrameworkPolicy komutunu kullanın:

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

Örnek komut:

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

Özel ilke silme

Temiz bir işlem yaşam döngüsünü korumak için kullanılmayan özel ilkeleri düzenli aralıklarla kaldırmanızı öneririz. Örneğin, yeni bir ilke kümesine geçiş yaptıktan ve yeni ilkelerin işlevselliğini doğruladıktan sonra eski ilke sürümlerini kaldırmak isteyebilirsiniz. Ayrıca, bir dizi özel ilke yayımlamayı dener ve bir hata alırsanız, başarısız sürümün bir parçası olarak oluşturulan ilkeleri kaldırmak mantıklı olabilir.

Kiracınızdan bir ilkeyi silmek için Remove-AzureADMSTrustFrameworkPolicy komutunu kullanın.

Remove-AzureADMSTrustFrameworkPolicy -Id <policyId>

Örnek komut:

# Delete an existing policy
Remove-AzureADMSTrustFrameworkPolicy -Id B2C_1A_signup_signin

İlke yükleme sorunlarını giderme

Yeni bir özel ilke yayımlamaya veya var olan bir ilkeyi güncelleştirmeye çalıştığınızda, ilke dosyası devralma zincirindeki yanlış XML biçimlendirmesi ve hataları doğrulama hatalarına neden olabilir.

Örneğin, bir ilkeyi hatalı biçimlendirilmiş XML içeren içerikle güncelleştirme girişimi (çıktı kısa bir süre için kesilir):

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

Özel ilkelerin sorunlarını giderme hakkında bilgi için bkz. B2C özel ilkeleri Azure AD sorun giderme ve Kimlik Deneyimi Çerçevesi.

Sonraki adımlar

Sürekli tümleştirme/sürekli teslim (CI/CD) işlem hattının parçası olarak özel ilkeleri dağıtmak için PowerShell kullanma hakkında bilgi için bkz. Azure DevOps işlem hattından özel ilkeler dağıtma.