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.

Dekont

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

Screenshot of Application or Client ID and Object ID on the New App page.

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.

Screenshot of Certificates and Client secrets under New App, Certificates and secrets.

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:

Sonraki adımlar

Hizmet sorumluları hakkında daha fazla bilgi edinin:

Güvenli hizmet hesapları:

Koşullu Erişim:

Güvenilmeyen konumlardan hizmet sorumlularını engellemek için Koşullu Erişim'i kullanın.

Bkz. Konum tabanlı Koşullu Erişim ilkesi oluşturma