Microsoft Entra ID için Bicep Şablonları Genel Kullanıma
Microsoft, Entra ID kaynakları için Bicep şablonu desteğinin 29 Temmuz 2025 itibarıyla genel kullanıma (GA) sunulduğunu duyurdu. Bu adımla birlikte Microsoft Graph kaynakları, bildirimsel altyapı-kod (Infrastructure as Code, IaC) yaklaşımıyla yönetilebiliyor. Destek ilk aşamada temel Microsoft Entra ID kaynaklarını kapsıyor.
Yeni özellikle birlikte Entra ID grupları veya uygulama kayıtları gibi kiracı (tenant) kaynakları bir Bicep dosyasında tanımlanabiliyor; aynı dosya geliştirme yaşam döngüsü boyunca tekrar tekrar dağıtım için kullanılabiliyor. Bicep, dağıtım senaryolarında yaygın tercih edilen ve bildirimsel söz dizimine sahip bir alan-özgü dildir (DSL).
Hangi sorunu çözüyor?
IaC, ortamların istenen son durumunu koda dökerek manuel yapılandırmayı ortadan kaldırır ve tutarlılığı zorunlu kılar. Dağıtımlar tekrarlanabilir hale gelir; yapılandırma sapması (configuration drift) veya eksik bağımlılıklardan kaynaklanan çalışma zamanı hatalarının önüne geçilir. Değişiklikler doğrudan hedef ortamda değil kaynak dosya üzerinde yapılır, sürümlenen yapılandırma modelleri sürüm hatları aracılığıyla hedef ortamlara uygulanır.
Microsoft Graph için Bicep şablonları bu IaC avantajlarını uygulama kayıtları ve servis sorumluları (service principals) gibi kritik Entra ID kaynaklarına taşıyor. Test ortamları hızla ve tutarlı biçimde hazırlanabiliyor, sürekli teslimat (CD) hatlarına entegre edilebiliyor.
Microsoft Graph Bicep uzantısı
Desteğin altyapısını sağlayan Microsoft Graph Bicep uzantısı, desteklenen Graph kaynaklarını (başlangıçta Entra ID kaynakları) Bicep dosyalarında yazmayı, dağıtmayı ve yönetmeyi mümkün kılıyor. Bu kaynaklar tek başına ya da Azure kaynaklarıyla aynı şablonda tanımlanabiliyor.
Yazım deneyimi
VS Code için Bicep uzantısı, Graph kaynak tiplerini içeren Bicep dosyalarında da tanıdık geliştirici deneyimini sunuyor: tip güvenliği, IntelliSense ve söz dizimi doğrulaması bu deneyimin parçası. Aynı çalışma tarzı, Visual Studio için Bicep uzantısıyla Visual Studio üzerinde de kullanılabiliyor.
Dağıtım akışı
Bicep dosyası hazırlandıktan sonra Azure PowerShell veya Azure CLI gibi araçlarla dağıtım yapılabiliyor. Dağıtım isteği Azure Resource Manager’a ulaştığında, dağıtım motoru birbirine bağımlı kaynakların doğru sırayla oluşturulmasını yönetiyor; bu sıralamaya Microsoft Graph kaynakları da dahil.
Örneğin bir Entra ID grubu, üyesi olarak eklenen bir yönetilen kimliğe (managed identity) bağımlıysa, dağıtım motoru önce yönetilen kimlik isteğini Microsoft.ManagedIdentity kaynak sağlayıcısına iletiyor. Ardından Microsoft.Graph/groups gibi genişletilebilir bir kaynak tipini gördüğünde, isteği Microsoft Graph Bicep uzantısına yönlendiriyor; uzantı da bu isteği Microsoft Graph’a çeviriyor.
Örnek senaryo: Uygulama kayıtlarını yönetmek
Ekibin ya da kurumun iç uygulama kayıtlarının kontrolden çıktığı, gözetimsiz manuel değişikliklerle bozulan yapılandırmaların düzeltilmeye çalışıldığı ya da üretim kiracısında tam olarak neyin dağıtılı olduğunun bilinmediği bir durum düşünelim. Microsoft Graph için Bicep şablonları benimsendiğinde tüm Entra ID uygulama kayıtları bildirimsel kod olarak tanımlanabiliyor.
Bu yaklaşım, ekip üyelerinin uygulama yapılandırmalarını Bicep dosyaları üzerinden oluşturup güncelleyebileceği tek bir yol sağlıyor: değişiklikler önce incelemeye alınıyor, otomatik testler için bir test ortamına (veya kiracıya) dağıtılıyor, ardından kayda alınıp üretim kiracısına çıkılıyor.
Bir uygulama kaydının Bicep ile nasıl göründüğüne bakalım:
resource clientApp 'Microsoft.Graph/applications@v1.0' = {
uniqueName: clientAppName
displayName: clientAppDisplayName
signInAudience: 'AzureADMyOrg'
web: {
redirectUris: ['${webAppEndpoint}/.auth/login/aad/callback']
implicitGrantSettings: {enableIdTokenIssuance: true}
}
requiredResourceAccess: [
{
resourceAppId: '00000003-0000-0000-c000-000000000000'
resourceAccess: [
// User.Read
{id: 'e1fe6dd8-ba31-4d61-89e7-88639da4683d', type: 'Scope'}
// offline_access
{id: '7427e0e9-2fba-42fe-b0c0-848c9e6a8182', type: 'Scope'}
// openid
{id: '37f7f235-527c-4136-accd-4a02d197296e', type: 'Scope'}
// profile
{id: '14dad69e-099b-42c9-810b-d002981feec1', type: 'Scope'}
]
}
]
}
resource clientSp 'Microsoft.Graph/servicePrincipals@beta' = {
appId: clientApp.appId
}
Bu dosya, yalnızca kendi kiracısında kullanılabilecek bir web uygulaması için applications kaynağıyla ilişkili servis sorumlusunu tanımlıyor ve uygulamanın ihtiyaç duyduğu Microsoft Graph API izinlerini belirtiyor. webAppName, webAppDisplayName ve webAppEndpoint gibi değişkenler, uygulamanın dağıtılacağı hedef kiracıya (test, hazırlık ya da üretim) göre güvenilir ve tekrarlanabilir biçimde uyarlanabiliyor.
Değerlendirme
Entra ID kaynaklarının kod olarak yönetilmesi, kimlik altyapısını yıllardır Azure kaynak dağıtımlarında alışkın olunan DevOps disiplinine yaklaştırıyor. Uygulama kayıtları, servis sorumluları ve gruplar gibi kaynakların gözden geçirilebilir, sürüm kontrolüne alınabilir ve otomatik dağıtılabilir hale gelmesi, özellikle çok ortamlı senaryolarda konfigürasyon sapmasını azaltma potansiyeli taşıyor. Kapsamın başlangıçta temel Entra ID kaynaklarıyla sınırlı olduğunu da akılda tutmak gerekiyor.
İlgili yazılar
- Microsoft Entra’da Sonradan Görülen Tutarlılıkla Yaşamak: Hayal Kırıklığı mı, Gerçekçi Bir Mimari mi?
- EWS Bildirimlerinden Microsoft Graph’a Geçiş: Sessiz Ama Büyük Değişim
Kaynaklar ve İleri Okuma
- Announcing GA of Bicep templates support for Microsoft Entra ID resources (Dan Kershaw, Microsoft Identity Blog)
- Microsoft Graph için Bicep şablonları – belgeler
- Hızlı başlangıç: İlk Bicep dosyanızı Microsoft Graph kaynaklarıyla oluşturun
- msgraph-bicep-types GitHub deposu – örnek şablonlar
- Bicep dili genel bakış
- Infrastructure as Code nedir?
- VS Code için Bicep uzantısı
- Visual Studio için Bicep uzantısı
- Microsoft Identity geliştirici merkezi
- Microsoft Identity blogu







2 comments