Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
1 Mayıs 2025 tarihinden itibaren Azure AD B2C artık yeni müşteriler için satın alınamayacak. SSS bölümünden daha fazla bilgi edinebilirsiniz.
Azure Pipelines , bir kodu sürekli ve tutarlı bir şekilde test etmek, oluşturmak ve herhangi bir hedefe göndermek için sürekli tümleştirmeyi (CI) ve sürekli teslimi (CD) destekler. Bu makalede, Azure Pipelines kullanarak Azure Active Directory B2C (Azure AD B2C) özel ilkelerinin dağıtım işleminin nasıl otomatikleştirildiği açıklanır.
Önemli
Azure Pipelines ile Azure AD B2C özel ilkelerini yönetmek şu anda Microsoft Graph API uç noktasında kullanılabilen /beta işlemlerini kullanır. Bu API'lerin üretim uygulamalarında kullanılması desteklenmez. Daha fazla bilgi için bkz. Microsoft Graph REST API beta uç nokta başvurusu.
Önkoşullar
- Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümündeki adımları tamamlayın.
- DevOps kuruluşu oluşturmadıysanız Kaydolma , Azure DevOps'ta oturum açma başlığındaki yönergeleri izleyerek bir kuruluş oluşturun.
Yönetim görevleri için uygulama kaydetme
Azure AD B2C ilkelerini dağıtmak için PowerShell betiğini kullanırsınız. PowerShell betiğinin Microsoft Graph API'siyle etkileşim kurabilmesi için önce Azure AD B2C kiracınızda bir uygulama kaydı oluşturun. Henüz yapmadıysanız bir Microsoft Graph uygulaması kaydedin.
PowerShell betiğinin MS Graph'taki verilere erişmesi için kayıtlı uygulamaya ilgili uygulama izinlerini verin. Uygulama kaydındaki API İzinleri bölümünde >>Policy.ReadWrite.TrustFramework izni verildi.
Azure Deposu yapılandırma
Kayıtlı bir Microsoft Graph uygulamasıyla, ilke dosyalarınız için bir depo yapılandırmaya hazırsınız.
- Azure DevOps kuruluşunuzda oturum açın.
- Yeni bir proje oluşturun veya var olan bir projeyi seçin.
- Projenizde Depolar'a gidin ve Dosyalar'ı seçin.
- Mevcut bir depo seçin veya bir depo oluşturun.
- Deponuzun kök dizininde adlı
B2CAssetsbir klasör oluşturun. Azure AD B2C özel ilke dosyalarınızı B2CAssets klasörüne ekleyin. - Deponuzun kök dizininde adlı
Scriptsbir klasör oluşturun. DeployToB2C.ps1bir PowerShell dosyası oluşturun. Aşağıdaki PowerShell betiğini DeployToB2C.ps1içine yapıştırın. - Değişiklikleri işleme ve gönderme .
Aşağıdaki betik, Microsoft Entra Id'den bir erişim belirteci alır. Betik, belirteç kullanarak B2CAssets klasörüne ilkeleri yüklemek amacıyla MS Graph API'sini çağırır. Yüklemeden önce politikanın içeriğini de değiştirebilirsiniz. Örneğin, tenant-name.onmicrosoft.com ifadesini kiracı adınız ile değiştirin.
[Cmdletbinding()]
Param(
[Parameter(Mandatory = $true)][string]$ClientID,
[Parameter(Mandatory = $true)][string]$ClientSecret,
[Parameter(Mandatory = $true)][string]$TenantId,
[Parameter(Mandatory = $true)][string]$Folder,
[Parameter(Mandatory = $true)][string]$Files
)
try {
$body = @{grant_type = "client_credentials"; scope = "https://graph.microsoft.com/.default"; client_id = $ClientID; client_secret = $ClientSecret }
$response = Invoke-RestMethod -Uri https://login.microsoftonline.com/$TenantId/oauth2/v2.0/token -Method Post -Body $body
$token = $response.access_token
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Content-Type", 'application/xml')
$headers.Add("Authorization", 'Bearer ' + $token)
# Get the list of files to upload
$filesArray = $Files.Split(",")
Foreach ($file in $filesArray) {
$filePath = $Folder + $file.Trim()
# Check if file exists
$FileExists = Test-Path -Path $filePath -PathType Leaf
if ($FileExists) {
$policycontent = Get-Content $filePath -Encoding UTF8
# Optional: Change the content of the policy. For example, replace the tenant-name with your tenant name.
# $policycontent = $policycontent.Replace("your-tenant.onmicrosoft.com", "contoso.onmicrosoft.com")
# Get the policy name from the XML document
$match = Select-String -InputObject $policycontent -Pattern '(?<=\bPolicyId=")[^"]*'
If ($match.matches.groups.count -ge 1) {
$PolicyId = $match.matches.groups[0].value
Write-Host "Uploading the" $PolicyId "policy..."
$graphuri = 'https://graph.microsoft.com/beta/trustframework/policies/' + $PolicyId + '/$value'
$content = [System.Text.Encoding]::UTF8.GetBytes($policycontent)
$response = Invoke-RestMethod -Uri $graphuri -Method Put -Body $content -Headers $headers -ContentType "application/xml; charset=utf-8"
Write-Host "Policy" $PolicyId "uploaded successfully."
}
}
else {
$warning = "File " + $filePath + " couldn't be not found."
Write-Warning -Message $warning
}
}
}
catch {
Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__
$_
$streamReader = [System.IO.StreamReader]::new($_.Exception.Response.GetResponseStream())
$streamReader.BaseStream.Position = 0
$streamReader.DiscardBufferedData()
$errResp = $streamReader.ReadToEnd()
$streamReader.Close()
$ErrResp
exit 1
}
exit 0
Azure Pipelines'ı yapılandırma
Depo başlatıldığında ve özel ilke dosyalarınız eklendiğinde, yayın işlem hattını ayarlamaya hazır olursunuz. İşlem hattı oluşturmak için şu adımları izleyin:
- Projenizde İşlem Hatları>Yayınlar>Yeni işlem hattı seçin.
- Şablon seçin'in altında Boş iş'i ve ardından Uygula'yı seçin.
- Aşama adı girin, örneğin DeployCustomPolicies, ardından bölmeyi kapatın.
-
Yapıt ekle'yi seçin ve Kaynak türü'nin altında Azure Deposu'na tıklayın.
- Proje için projenizi seçin.
- Betikler klasörünü içeren Kaynak (depo) öğesini seçin.
- Varsayılan bir dal, örneğin master, seçin.
- Varsayılan sürüm ayarını varsayılan daldan en son olarak bırakın.
- Depo için kaynak diğer adı girin. Örneğin , policyRepo.
- Ekle'yi seçin
- İşlem hattını amacını yansıtacak şekilde yeniden adlandırın. Örneğin, Özel Politika İşlem Hattını Dağıtma.
- İşlem hattı yapılandırmasını kaydetmek için Kaydet'i seçin.
İşlem hattı değişkenlerini yapılandırma
İşlem hattı değişkenleri, önemli veri bitlerini işlem hattının çeşitli bölümlerine almak için kullanışlı bir yol sağlar. Aşağıdaki değişkenler Azure AD B2C ortamınız hakkında bilgi sağlar.
| İsim | Değer |
|---|---|
clientId |
Daha önce kaydettiğiniz uygulamanın uygulama (istemci) kimliği. |
clientSecret |
Daha önce oluşturduğunuz istemci gizlisinin değeri. Değişken türünü gizli olarak değiştirin (kilit simgesini seçin). |
tenantId |
your-b2c-tenant.onmicrosoft.com, Azure AD B2C kiracınızın adı your-b2c-tenant'dir. |
İşlem hattı değişkenleri eklemek için şu adımları izleyin:
- İşlem hattınızda Değişkenler sekmesini seçin.
- İşlem hattı değişkenleri'nin altında, değerleriyle birlikte yukarıdaki değişkeni ekleyin.
- Değişkenleri kaydetmek için Kaydet'i seçin.
İşlem hattı görevleri ekleme
İşlem hattı görevi, eylem gerçekleştiren önceden paketlenmiş bir betiktir. DeployToB2C.ps1 PowerShell betiğini çağıran bir görev ekleyin.
Oluşturduğunuz işlem hattında Görevler sekmesini seçin.
Aracı işi'ni seçin ve ardından artı işaretini (+) seçerek Aracı işine bir görev ekleyin.
PowerShell'i arayın ve seçin. "Azure PowerShell", "Hedef makinelerde PowerShell" veya başka bir PowerShell girdisi seçmeyin.
Yeni eklenen PowerShell Betiği görevini seçin.
PowerShell Betiği görevi için aşağıdaki değerleri girin:
Görev sürümü: 2.*
Görünen ad: Bu görevin yüklenmesi gereken ilkenin adı. Örneğin , B2C_1A_TrustFrameworkBase.
Tür: Dosya Yolu
Komut Dosyası Yolu: Üç noktayı (...) seçin, Betikler klasörüne gidin ve ardından DeployToB2C.ps1 dosyasını seçin.
Bağımsız değişkenler: Aşağıdaki PowerShell komut dosyasını girin.
-ClientID $(clientId) -ClientSecret $(clientSecret) -TenantId $(tenantId) -Folder $(System.DefaultWorkingDirectory)/policyRepo/B2CAssets/ -Files "TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml,ProfileEdit.xml,PasswordReset.xml"-Filesparametresi, dağıtılacak ilke dosyalarının virgül sınırlayıcı listesidir. Listeyi ilke dosyalarınızla güncelleştirin.Önemli
İlkelerin doğru sırada yüklendiğinden emin olun. Önce temel politika, uzantılar politikası, sonra güvenen taraf politikaları. Örneğin,
TrustFrameworkBase.xml,TrustFrameworkLocalization.xml,TrustFrameworkExtensions.xml,SignUpOrSignin.xml.
Aracı işini kaydetmek için Kaydet'i seçin.
İşlem hattınızı test edin
Yayın işlem hattınızı test etmek için:
- İşlem Hatlarını seçin ve sonra Yayınlar'ı seçin.
- Daha önce oluşturduğunuz işlem hattını seçin, örneğin DeployCustomPolicies.
- Yayını oluştur'u ve ardından Oluştur'u seçerek yayını sıraya alın.
Bir yayının kuyruğa alındığını belirten bir bildirim başlığı görmeniz gerekir. Durumunu görüntülemek için bildirim başlığındaki bağlantıyı seçin veya Yayınlar sekmesindeki listeden bağlantıyı seçin.
Sonraki adımlar
Şu konularda daha fazla bilgi edinin: