Microsoft Entra Id'de hizmet sorumlularıyla kimlik doğrulaması

Tamamlandı

Şirketinizin personeli gündelik işleri yürütmek için birçok şirket içi uygulama kullanıyor. Şirket yakın zamanda kurumsal çapta bir güvenlik denetimini tamamladı. Denetimin sonucunda birkaç uygulamadaki bir tasarım akışı vurgulandı. Denetim, uygulama kaynak kodunda veya ilişkili yapılandırma dosyalarında depolanan kullanıcı adlarını ve parolaları buldu.

Rapor, kullanıcı adlarının ve parolaların kodda veya yapılandırma dosyalarında depolanmasının aşağıdaki güvenlik sorunlarına yol açtığını gösteriyordu:

  • Düz metinde depolanan parolalara herkes erişebilir.
  • Güvenliği aşılmış kullanıcı kimlik bilgileri, kuruluşun ağ güvenliğini tehdit eder.
  • Risk altındaki kullanıcı kimlik bilgileri, satış ve pazarlama verileri gibi hassas kaynaklara erişim olanağı tanıyor.
  • Geçerli kimlik bilgisi depolama yaklaşımı gereksiz ek yük oluşturur. Kimlik bilgilerinin süresi dolduğunda uygulamaların güncelleştirilip yeniden dağıtılması gerekir.
  • Geçerli kimlik bilgisi depolama çözümü, uygulamayı şirket içiyle kısıtlar. Uygulama, önemli değişiklikler olmadan bulut kullanımına göre ölçeklendirilemiyor.

Geliştirici olarak bu sorunları düzeltmeniz istendi. Denetim raporunda, uygulama güvenliğini geliştirmek için Azure hizmet sorumlularının kullanılması öneriliyordu.

Bu ünitede, Azure hizmet sorumlularını daha ayrıntılı şekilde keşfedeceksiniz. Bunların arka planındaki kavramı öğrenecek ve Azure kaynaklarına erişmek için bunların nasıl uygulanacağını göreceksiniz.

Azure hizmet sorumlusu nedir?

Azure hizmet sorumlusunu uygulamanızı veya hizmetinizi temsil eden bir proxy hesabı veya kimlik olarak düşünün. Bu hesabı Microsoft Entra Id yönetir. İhtiyaç duyduğunuz Azure kaynaklarına hizmet sorumlusu erişimi yetkisi verirsiniz. Kimlik bilgilerini eklemek veya uygulamanız için kukla hesap oluşturmak yerine hizmet sorumlusunu kullanın.

Hizmet sorumluları, Azure’da kiracı düzeyinde bulunur. Bu kiracıdaki kaynaklara erişim izni vermek için kullanılır.

Azure portalında, uygulamanızı temsil eden bir Microsoft Entra uygulaması oluşturabilirsiniz. Daha sonra bu uygulama nesnesini bir hizmet sorumlusuyla ilişkilendirebilirsiniz.

Tüm kaynaklar aynı kiracı içindeyse, o zaman yalnızca bir hizmet sorumlusunu ilişkilendirmeniz gerekir. Uygulamanızın Azure kaynaklarına farklı bir kiracıda erişmesi gerekiyorsa her kiracı için bir hizmet sorumlusu gerekir.

Diagram showing the relationship between service principals and tenants.

Aşağıdaki seçeneklerden herhangi birini kullanarak hizmet sorumlunuzu oluşturabilirsiniz:

  • Portal aracılığıyla
  • PowerShell’i kullanarak
  • CLI komutları aracılığıyla
  • API çağrılarını kullanarak

Uygulamalarınızda Microsoft kimlik platformu kullanma

Microsoft kimlik platformu, uygulamanızın Microsoft Entra Id ile kimlik doğrulamasını basitleştirir. Uygulamalarınızın kimliğini doğrulamak için birleşik bir yol sağlar. Bir uygulama Microsoft Entra Id ile başarıyla kimlik doğrulaması yaptığınızda benzersiz bir belirteç alır. Uygulama, bir API'ye veya hizmete erişmek için çağrı yaptığında bu belirteci kullanır. Uygulama oluşturmak için Microsoft Authentication Library’yi (MSAL) kullanarak çoklu oturum açma desteği sağlayın.

Microsoft kimlik platformu için bir uygulamayı birkaç şekilde sağlayabilirsiniz. Burada, azure'a bir uygulama kaydetmek için portalı kullanacağız.

  1. Azure portalında oturum açın ve Microsoft Entra Id'yi seçin.

  2. Uygulama kayıtları’nı seçin.

  3. Sol üst köşede Yeni kayıt'ı seçin.

    Screenshot showing how to add an application to Azure AD.

  4. Uygulama için bir görünen ad girin.

  5. Desteklenen hesap türlerinden herhangi birini belirtin. Aşağıdaki seçeneklerden birini belirleyebilirsiniz:

    • Şirketinizin Microsoft Entra kiracısı içindeki hesaplar.
    • Herhangi bir şirketin Microsoft Entra kiracısında bulunan hesaplar.
    • Microsoft veya Xbox gibi tüm kişisel hesaplar ve kuruluş hesapları.
  6. (İsteğe bağlı) Bir yeniden yönlendirme URI parametresi seçin. Kullanılabilir iki tür Web ve Genel İstemci’dir. Yeniden yönlendirme URI’si, web bağlantısı (HTTPS) biçimindedir. Genel bir istemci seçmediğiniz sürece bağlantının geçerli olması gerekmez.

Adımları tamamladığınızda, uygulama Microsoft Entra Id ile kaydedilir. Hizmet sorumlusu ile de ilişkilendirilir.

Uygulama rolleri atama

Diğer hizmetlerle çalışmak için Microsoft Entra uygulamalarına roller atanmalıdır. Azure, Azure kaynaklarına erişimi sıkı bir şekilde yönetmek ve bu kaynakların nasıl kullanılacağını yönetmek için rol tabanlı erişim denetimini (RBAC) kullanır. Uygulamanın rolü, onun izinlerini ve kapsamını belirler.

RBAC izinleri, ayarlanan kapsam düzeyinden devralınır. Örneğin, bir kaynak grubuna okuyucu rolü atarsanız, söz konusu grubun içindeki tüm kaynaklara okuma izinleri atanır.

Uygulamanızın anahtar kasasına erişmesi için gereken rolleri atamak için Azure portalını kullanın:

  1. Portalda anahtar kasanızı seçin.
  2. Sol tarafta Erişim Denetimi (IAM) öğesini seçin.
  3. Rol ataması ekle’yi seçin.
  4. Size gereken rolü seçin.
  5. Üyeler sekmesinde varsayılan Erişim ata seçeneğini kabul edin: Kullanıcı, grup veya hizmet sorumlusu.
  6. + Üyeleri seç seçeneğini belirleyin.
  7. Uygulamanızı arayın ve seçin.
  8. Gözden geçir + ata'yı seçin.

Anahtarları ve izinleri yönetme

Hizmet sorumlularını kullanarak Azure kaynaklarına erişmek için iki parametre gerekir:

  • Dizin (kiracı) Kimliği: Microsoft Entra kiracısını tanımlayan benzersiz kimlik.
  • Uygulama (istemci) Kimliği: Microsoft Entra uygulamanızı tanımlayan benzersiz kimlik.

Screenshot showing how to add a client secret.

Uygulamanın, isteklerin kimliğini doğrulaması için kimlik bilgileri gerekir. Kimlik bilgileri, uygulamanın kendisini tanımlamasına olanak tanır. İki kimlik bilgisi biçimi arasından seçim yapabilirsiniz:

  • Sertifika: Yerel olarak bir sertifika oluşturur ve ardından .cer, .pem veya .crt dosyasını karşıya yüklersiniz. Sertifika genellikle ortak anahtar olarak adlandırılır.
  • İstemci gizli dizisi: Bu karmaşık gizli dizi dizesi Azure'da oluşturulur. Gizli anahtar, uygulama parolası olarak da bilinir.

İster gizli anahtar, isterse sertifika kullanıyor olun, bu kimlik bilgisinin süresinin ne zaman dolacağını tanımlamanız gerekir. Süre sonu, kuruluşa göre değişiklik gösterir ancak bir veya iki yıl seçmek uygun olabilir.

Dekont

Sertifikaların süresi dolabildiğinden, en iyi güvenlik için istemci gizli dizisinin süresinin dolmasına ayarlayın. Azure kaynaklarına erişmek için hizmet sorumlusunu kullanan uygulamaların dezavantajı, bu kimlik bilgilerinin yönetimidir.

Hizmet sorumluları ne zaman kullanılır?

Microsoft Entra uygulamaları oluşturmak, hizmet sorumlularını ilişkilendirmek ve kaynaklara erişim vermek için el ile gerçekleştirilen işlemleri inceledik. El ile yapılan bu işlemler yalnızca iki senaryoda kullanılır:

  • Uygulamanız veya hizmetiniz şirket içinde çalıştırıldığında.
  • Erişmeniz gereken kaynaklar veya uygulamalar, yönetilen kimlikleri desteklemediğinde.

Azure’da kimlik doğrulamasını işlemenin en güvenli ve kullanışlı yolu, yönetilen kimlikleri kullanmaktır.

Bilgilerinizi kontrol edin

1.

Özel bir uygulamanın Microsoft Entra uygulamasıyla kimlik doğrulaması yapmak için hangi üç öğeye ihtiyacı vardır?

2.

Uygulamanız Azure’a belirteç geçirirken hangi hizmet çağrılır?