Azure App Service'dan Azure hizmetlere ve veritabanlarına güvenli bağlantı

Uygulama hizmetinizin veritabanı, depolama alanı veya başka bir uygulama gibi diğer Azure hizmetlerine bağlanması gerekebilir. Bu genel bakış, bağlanmak ve bunları ne zaman kullanmak için farklı yöntemler önerir.

Günümüzde bağlantı kurulma yaklaşımı kararı gizlilik yönetimiyle yakından ilgilidir. kullanıcı adı ve parola, gizli anahtar vb. gibi bağlantı dizesi'lerde bağlantı gizli dizilerini kullanmanın yaygın düzeni artık bağlantı için en güvenli yaklaşım olarak kabul edilmez. Saldırganlar, yanlışlıkla paylaşılmış olan bağlantı sırları için düzenli olarak genel GitHub depolarını taradıkları için, risk bugün daha da yüksektir. Bulut uygulamaları için en iyi sır yönetimi, hiç sır olmamasıdır. Azure App Service geçiş yaptığınızda uygulamanız gizli dizi tabanlı bağlantıyla başlayabilir ve App Service gizli dizileri güvenli bir şekilde tutmanıza olanak tanır. Ancak Azure, Microsoft Entra kimlik doğrulaması aracılığıyla uygulamanızın arka uç bağlantısının güvenliğini sağlamaya yardımcı olabilir ve bu da uygulamanızdaki gizli dizileri tamamen ortadan kaldırır.

Bağlantı yöntemi ne zaman kullanılmalı
Uygulama kimliğiyle bağlanma * Kimlik bilgilerini, anahtarları veya gizli dizileri uygulamanızdan tamamen kaldırmak istiyorsunuz.
Azure aşağı akış hizmeti, Microsoft Graph gibi Microsoft Entra kimlik doğrulamasını destekler.
* Alt sistem veya kaynak, mevcut oturum açmış kullanıcı hakkında bilgi sahibi olmayı gerektirmez veya mevcut oturum açmış kullanıcı için ayrıntılı yetkilendirmeye ihtiyaç duymaz.
Oturum açmış kullanıcı adına bağlanma * Uygulamanın oturum açmış kullanıcı adına bir aşağı akış kaynağına erişmesi gerekir.
Azure aşağı akış hizmeti, Microsoft Graph gibi Microsoft Entra kimlik doğrulamasını destekler.
* Aşağı akış kaynağı, geçerli oturum açmış kullanıcının ayrıntılı yetkilendirmesini gerçekleştirmelidir.
Gizli anahtarları kullanarak bağlan * Aşağı akıştaki kaynak bağlantı gizli bilgileri gerektirir.
* Uygulamanız, şirket içi veritabanı sunucusu gibi Azure olmayan hizmetlere bağlanır.
* Aşağı akış Azure hizmeti henüz Microsoft Entra kimlik doğrulamasını desteklemez.

Uygulama kimliğiyle bağlanma

Uygulamanız aşağı akış Azure hizmetine erişmek için zaten tek bir kimlik bilgisi kümesi kullanıyorsa, bunun yerine bağlantıyı hızla uygulama kimliği kullanacak şekilde dönüştürebilirsiniz. Microsoft Entra ID yönetilen kimliği, App Service'in gizli bilgiler olmadan kaynaklara erişmesine olanak tanır ve erişimi rol tabanlı erişim denetimi (RBAC) aracılığıyla yönetebilirsiniz. Yönetilen kimlik, Microsoft Entra kimlik doğrulamasını destekleyen herhangi bir Azure kaynağına bağlanabilir ve kimlik doğrulaması kısa süreli belirteçlerle gerçekleştirilir.

Aşağıdaki görüntüde diğer Azure hizmetlerine bağlanan bir App Service gösterilmektedir:

  • Y: Kullanıcı Azure app service web sitesini ziyaret eder.
  • B: Yönetilen kimlik kullanarak App Service'ten başka bir Azure hizmetine güvenli bir şekilde bağlanın.
  • C: Yönetilen kimlik kullanarak App Service'tenMicrosoft Graph'a güvenli bir şekilde bağlanın.

Kullanıcının kimliğiyle veya kimliği olmadan kaynağa erişen yönetilen kimliği gösteren diyagram.

Veritabanına bağlanmak için uygulama gizli dizilerini kullanma örnekleri:

Oturum açmış kullanıcı adına bağlanma

Uygulamanızın oturum açmış kullanıcı adına bir aşağı akış hizmetine bağlanması gerekebilir. App Service, en yaygın kimlik sağlayıcılarını kullanarak kullanıcıların kimliklerini kolayca doğrulamanıza olanak tanır (bkz. Azure App Service ve Azure İşlevleri). Microsoft sağlayıcısını (Microsoft Entra kimlik doğrulaması) kullanıyorsanız, oturum açmış kullanıcıyı sonraki herhangi bir hizmete yönlendirebilirsiniz. Örneğin:

  • Oturum açmış kullanıcının okuma yetkisine sahip olduğu gizli verileri döndüren bir veritabanı sorgusu çalıştırın.
  • kişisel verileri alın veya Microsoft Graph oturum açmış kullanıcı olarak eylemler gerçekleştirin.

Aşağıdaki görüntüde, oturum açmış kullanıcı adına sql veritabanına güvenli bir şekilde erişen bir uygulama gösterilmektedir.

Öğretici senaryosu için mimari diyagramı.

Bazı yaygın senaryolar şunlardır:

Gizli anahtarları kullanarak bağlanma

Uygulamanızda gizli dizileri kullanmanın iki önerilen yolu vardır: Azure Key Vault depolanan gizli dizileri veya App Service uygulama ayarlarında gizli dizileri kullanma.

Key Vault gizli bilgilerini kullanma

Azure Key Vault gizli dizileri ve anahtarları güvenli bir şekilde depolamak, gizli dizilerin erişimini ve kullanımını izlemek ve uygulama gizli dizilerinin yönetimini basitleştirmek için kullanılabilir. Aşağı akış hizmeti Microsoft Entra kimlik doğrulamasını desteklemiyorsa veya bir bağlantı dizesi veya anahtar gerektiriyorsa, gizli bilgilerinizi depolamak için Key Vault'u kullanın ve uygulamanızı yönetilen bir kimlikle Key Vault'a bağlayarak bu gizli bilgileri edinin. Uygulamanız, uygulama ayarlarında Key Vault başvuruları olarak Key Vault sırlarına erişebilir.

Key Vault ile tümleştirilmiş yönetilen kimliklerin avantajları şunlardır:

  • Anahtar kasası sırrına erişim uygulamayla sınırlıdır.
  • Yöneticiler gibi uygulama katkıda bulunanlar, App Service kaynaklarının tam denetimine sahip olabilirler ancak aynı zamanda anahtar kasası gizli bilgilerine erişimleri olmayabilir.
  • Uygulama kodunuz uygulama ayarlarıyla bağlantı gizli dizilerine zaten erişiyorsa kod değişikliği gerekmez.
  • Key Vault, gizli anahtarlar ve bilgilere kimin eriştiğini izleme ve denetleme imkanı sağlar.
  • Anahtar kasası gizli bilgilerinin döndürülmesinde App Service'te değişiklik yapılması gerekmez.

Aşağıdaki görüntüde, App Service'in yönetilen kimlik kullanarak Key Vault'a bağlanması ve ardından Key Vault'da depolanan gizli anahtarları kullanarak bir Azure hizmetine erişmesi işlemleri gösterilmektedir.

Anahtar Kasası'nda saklanan gizli ve Yönetilen Kimlik ile yönetilen bir uygulama hizmetinin Foundry Tools'a bağlanmasını gösteren diyagram

Uygulama ayarlarında sırları kullanın

Gizli dizileri (kullanıcı adları, parolalar ve API anahtarları gibi) kullanarak hizmetlere bağlanan uygulamalar için App Service bunları uygulama ayarlarında güvenli bir şekilde depolayabilir. Bu gizli diziler uygulama kodunuz içine uygulama başlangıcında ortam değişkenleri olarak eklenir. Uygulama ayarları depolandığında her zaman şifreli halde saklanır (depoda şifrelenmiş). Daha gelişmiş sır yönetimi için, sırların döndürülmesi, erişim politikaları ve denetim geçmişi gibi işlevlerle birlikte Key Vault kullanmayı deneyin.

Veritabanına bağlanmak için uygulama gizli dizilerini kullanma örnekleri: