Microsoft Entra ID'de hizmet sorumlularının güvenliğini sağlama
Microsoft Entra hizmet sorumlusu, bir kiracı veya dizindeki bir uygulama nesnesinin yerel gösterimidir. Uygulama örneğinin kimliğidir. Hizmet sorumluları uygulama erişimini ve uygulamanın eriştiği kaynakları tanımlar. Uygulamanın kullanıldığı her kiracıda bir hizmet sorumlusu oluşturulur ve genel olarak benzersiz uygulama nesnesine başvurur. Kiracı, hizmet sorumlusu oturum açma ve kaynaklara erişimin güvenliğini sağlar.
Daha fazla bilgi edinin: Microsoft Entra Id'de uygulama ve hizmet sorumlusu nesneleri
Kiracı-hizmet sorumlusu ilişkileri
Tek kiracılı bir uygulamanın ev kiracısında bir hizmet sorumlusu vardır. Çok kiracılı bir web uygulaması veya API her kiracıda bir hizmet sorumlusu gerektirir. Bu kiracıdaki bir kullanıcı uygulamanın veya API'nin kullanımını onayladığında bir hizmet sorumlusu oluşturulur. Bu onay, çok kiracılı uygulama ile ilişkili hizmet sorumluları arasında bire çok ilişki oluşturur.
Çok kiracılı bir uygulama bir kiracıda barındırılır ve diğer kiracılarda örnekleri vardır. Hizmet olarak yazılım (SaaS) uygulamalarının çoğu çoklu kiracıya uygundur. Tek ve çok kiracılı senaryolarda uygulama ve kullanıcıları için gerekli güvenlik duruşunu sağlamak için hizmet sorumlularını kullanın.
ApplicationID ve ObjectID
Bir uygulama örneğinin iki özelliği vardır: ApplicationID (veya ClientID) ve ObjectID.
Not
Uygulama ve hizmet sorumlusu terimleri, kimlik doğrulama görevlerinde bir uygulamaya başvururken birbirinin yerine kullanılır. Ancak bunlar, Microsoft Entra ID'deki uygulamaların iki gösterimidir.
ApplicationID, genel uygulamayı temsil eder ve kiracılar arasında uygulama örnekleri için aynıdır. ObjectID, bir uygulama nesnesi için benzersiz bir değerdir. Kullanıcılar, gruplar ve diğer kaynaklarda olduğu gibi ObjectID de Microsoft Entra Id'deki bir uygulama örneğini tanımlamaya yardımcı olur.
Daha fazla bilgi edinmek için bkz. Microsoft Entra Id'de uygulama ve hizmet sorumlusu ilişkisi
Uygulama ve hizmet sorumlusu nesnesi oluşturma
Bir kiracıda aşağıdakini kullanarak bir uygulama ve hizmet sorumlusu nesnesi (ObjectID) oluşturabilirsiniz:
- Azure PowerShell
- Microsoft Graph PowerShell
- Azure komut satırı arabirimi (Azure CLI)
- Microsoft Graph API
- Azure portal
- Diğer araçlar
Hizmet sorumlusu kimlik doğrulaması
Hizmet sorumluları kullanılırken kimlik doğrulaması için iki mekanizma vardır: istemci sertifikaları ve istemci gizli dizileri.
Sertifikalar daha güvenli olduğundan, mümkün olduğunda bunları kullanmanız önerilir. İstemci gizli dizilerinden farklı olarak, istemci sertifikaları yanlışlıkla koda eklenemez. Mümkün olduğunda, varlıkları donanım güvenlik modülleriyle korunan anahtarlarla şifrelemek üzere sertifika ve gizli dizi yönetimi için Azure Key Vault kullanın:
- Kimlik doğrulama anahtarları
- Depolama hesabı anahtarları
- Veri şifreleme anahtarları
- .pfx dosyaları
- Parolalar
Azure Key Vault hakkında daha fazla bilgi ve sertifika ve gizli dizi yönetimi için nasıl kullanılacağı hakkında daha fazla bilgi için bkz:
Zorluklar ve azaltmalar
Hizmet sorumlularını kullanırken, zorlukları ve risk azaltmaları eşleştirmek için aşağıdaki tabloyu kullanın.
Sınama | Risk azaltma |
---|---|
Ayrıcalıklı rollere atanan hizmet sorumluları için erişim gözden geçirmeleri | Bu işlev önizleme aşamasındadır |
Hizmet sorumlusu erişim gözden geçirmeleri | Azure portalını kullanarak kaynak erişim denetimi listesini el ile denetleme |
Fazla izinli hizmet sorumluları | Otomasyon hizmet hesapları veya hizmet sorumluları oluşturduğunuzda, görev için izinler verin. Ayrıcalıkları azaltmak için hizmet sorumlularını değerlendirin. |
Hizmet sorumlusu kimlik bilgileri veya kimlik doğrulama yöntemlerinde yapılan değişiklikleri tanımlama | - Bkz. Hassas işlemler raporu çalışma kitabı - Solorigate riskini değerlendirmenize yardımcı olmak için Teknoloji Topluluğu blog gönderisine, Microsoft Entra çalışma kitabına bakın |
Hizmet sorumlularını kullanarak hesapları bulma
Hesapları bulmak için Azure CLI veya PowerShell ile hizmet sorumlularını kullanarak aşağıdaki komutları çalıştırın.
- Azure CLI -
az ad sp list
- PowerShell -
Get-MgServicePrincipal -All:$true
Daha fazla bilgi için bkz . Get-MgServicePrincipal
Hizmet sorumlusu güvenliğini değerlendirme
Güvenliği değerlendirmek için ayrıcalıkları ve kimlik bilgisi depolamasını değerlendirin. Zorlukların azaltılmasına yardımcı olması için aşağıdaki tabloyu kullanın:
Sınama | Risk azaltma |
---|---|
Çok kiracılı bir uygulamaya onay veren kullanıcıyı algılama ve çok kiracılı bir uygulamaya yasadışı onay vermelerini algılama | - Çok kiracılı uygulamaları bulmak için aşağıdaki PowerShell'i çalıştırın Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"} - Kullanıcı onayını devre dışı bırakma - Seçili izinler için doğrulanmış yayımcıların kullanıcı onayına izin ver (önerilen) - Bunları kullanıcı bağlamında yapılandırma - Hizmet sorumlusunu tetikleme için belirteçlerini kullanma |
Hizmet sorumlusu kullanarak betikte sabit kodlanmış paylaşılan gizli dizi kullanma | Sertifika kullanma |
Sertifikayı veya gizli diziyi kimlerin kullandığını izleme | Microsoft Entra oturum açma günlüklerini kullanarak hizmet sorumlusu oturum açma bilgilerini izleme |
Koşullu Erişim ile hizmet sorumlusu oturum açma işlemini yönetemiyorum | Microsoft Entra oturum açma günlüklerini kullanarak oturum açma adımlarını izleme |
Katkıda bulunan varsayılan Azure rol tabanlı erişim denetimi (Azure RBAC) rolüdür | Gereksinimleri değerlendirme ve mümkün olan en düşük izinleri uygulama |
Daha fazla bilgi edinin: Koşullu Erişim nedir?
Kullanıcı hesabından hizmet sorumlusuna geçme
Hizmet sorumlusu olarak bir Azure kullanıcı hesabı kullanıyorsanız yönetilen kimliğe mi yoksa hizmet sorumlusuna mı geçebileceğinizi değerlendirin. Yönetilen kimlik kullanamıyorsanız, bir hizmet sorumlusuna gerekli görevleri çalıştırmak için yeterli izinleri ve kapsamı verin. Bir uygulamayı kaydederek veya PowerShell ile hizmet sorumlusu oluşturabilirsiniz.
Microsoft Graph kullanırken API belgelerine bakın. Uygulamanın izin türünün desteklendiğinden emin olun.
Bkz. ServicePrincipal oluşturma
Daha fazla bilgi edinin:
- App Service ve Azure İşlevleri için yönetilen kimlikleri kullanma
- Kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturma
- Sertifikayla hizmet sorumlusu oluşturmak için Azure PowerShell kullanma
Sonraki adımlar
Hizmet sorumluları hakkında daha fazla bilgi edinin:
- Kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturma
- Microsoft Entra ID'de oturum açma günlükleri
Güvenli hizmet hesapları:
- Bulut tabanlı hizmet hesaplarının güvenliğini sağlama
- Microsoft Entra Id'de yönetilen kimliklerin güvenliğini sağlama
- Microsoft Entra hizmet hesaplarını yönetme
- Şirket içi hizmet hesaplarının güvenliğini sağlama
Koşullu Erişim:
Güvenilmeyen konumlardan hizmet sorumlularını engellemek için Koşullu Erişim'i kullanın.