Azure Uygulaması Hizmetinden Azure hizmetlerine 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ı yaklaşımı kararı gizli dizi 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. Tehdit aktörleri yanlışlıkla işlenen bağlantı gizli dizileri için genel GitHub depolarında düzenli olarak gezindiği için risk bugün daha da yüksektir. Bulut uygulamaları için en iyi gizli dizi yönetimi hiç gizli dizi olmamasıdır. Azure Uygulaması Hizmeti'ne geçiş yaptığınızda uygulamanız gizli dizi tabanlı bağlantıyla başlayabilir ve App Service gizli dizileri güvenli bir şekilde saklamanı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. * Aşağı akış Azure hizmeti, Microsoft Graph gibi Microsoft Entra kimlik doğrulamasını destekler. * Aşağı akış kaynağının geçerli oturum açmış kullanıcıyı bilmesi veya geçerli oturum açmış kullanıcının ayrıntılı yetkilendirmesine ihtiyacı yoktur. |
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. * Aşağı akış Azure 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 dizileri kullanarak bağlanma | * Aşağı akış kaynağı bağlantı gizli dizileri gerektirir. * Uygulamanız, şirket içi veritabanı sunucusu gibi Azure dışı 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'den yönetilen kimlik, App Service'in gizli diziler 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şir.
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'ten Microsoft Graph'a güvenli bir şekilde bağlanın.
Veritabanına bağlanmak için uygulama gizli dizilerini kullanma örnekleri:
- Öğretici: Yönetilen kimlik kullanarak gizli diziler olmadan App Service'ten Azure veritabanlarına bağlanma
- Öğretici: Yönetilen kimlik kullanarak gizli diziler olmadan .NET App Service'ten SQL Veritabanına bağlanma
- Öğretici: Yönetilen kimlik kullanarak gizli diziler olmadan Java Tomcat App Service'ten Postgre SQL Veritabanı'ye bağlanma
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 kimliğini kolayca doğrulamanıza olanak tanır (bkz. Azure Uygulaması Hizmetinde ve Azure İşlevleri'de kimlik doğrulaması ve yetkilendirme). Microsoft sağlayıcısını (Microsoft Entra kimlik doğrulaması) kullanıyorsanız, oturum açmış kullanıcıyı herhangi bir aşağı akış hizmetine akışla ekleyebilirsiniz. Ö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.
- Microsoft Graph'ta oturum açmış kullanıcı olarak kişisel verileri alın veya 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.
Bazı yaygın senaryolar şunlardır:
- Kullanıcı adına Microsoft Graph'a bağlanma
- Kullanıcı adına bir SQL veritabanına bağlanma
- Kullanıcı adına başka bir App Service uygulamasına bağlanma
- Oturum açmış kullanıcıyı birden çok aşağı akış hizmeti katmanı üzerinden akışla aktarma
Gizli dizileri kullanarak bağlanma
Uygulamanızda gizli dizileri kullanmanın iki önerilen yolu vardır: Azure Key Vault'ta depolanan gizli dizileri veya App Service uygulama ayarlarında gizli dizileri kullanma.
Key Vault gizli dizilerini 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 dizilerinizi depolamak ve uygulamanızı yönetilen bir kimlikle Key Vault'a bağlamak ve gizli dizileri almak için Key Vault'u kullanın. Uygulamanız, uygulama ayarlarında Key Vault başvuruları olarak anahtar kasası gizli dizilerine erişebilir.
Key Vault ile tümleştirilmiş yönetilen kimliklerin avantajları şunlardır:
- Anahtar kasası gizli dizisine erişim uygulamayla sınırlıdır.
- Yöneticiler gibi uygulama katkıda bulunanları App Service kaynaklarının tam denetimine sahip olabilir ve aynı zamanda anahtar kasası gizli dizilerine erişimi olmayabilir.
- Uygulama kodunuz uygulama ayarlarıyla bağlantı gizli dizilerine zaten erişiyorsa kod değişikliği gerekmez.
- Key Vault, gizli dizilere erişen kişilerin izlenmesini ve denetlenip denetlenimini sağlar.
- Anahtar kasası gizli dizilerinin 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ğlanma ve ardından Key Vault'ta depolanan gizli dizileri kullanarak bir Azure hizmetine erişme işlemleri gösterilmektedir:
Uygulama ayarlarında gizli dizileri kullanma
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 şifrelenir (bekleyenler şifrelenir). Gizli dizi döndürme, erişim ilkeleri ve denetim geçmişi gibi daha gelişmiş gizli dizi yönetimi için Key Vault kullanmayı deneyin.
Veritabanına bağlanmak için uygulama gizli dizilerini kullanma örnekleri:
- Öğretici: ASP.NET Core ve Azure SQL Veritabanı uygulamasını Azure Uygulaması Hizmetine dağıtma
- Öğretici: Azure SQL Veritabanı ile Azure'a ASP.NET uygulaması dağıtma
- Öğretici: Azure Uygulaması Hizmetine PHP, MySQL ve Redis uygulaması dağıtma
- Azure'a Node.js + MongoDB web uygulaması dağıtma
- Azure'da PostgreSQL ile Python (Django veya Flask) web uygulaması dağıtma
- Öğretici: Linux ve MySQL üzerinde Azure Uygulaması Hizmeti ile Tomcat web uygulaması oluşturma
- Öğretici: Linux ve Azure Cosmos DB'de Azure Uygulaması Hizmeti ile Java Spring Boot web uygulaması oluşturma
Sonraki adımlar
Şunları nasıl yapacağınızı öğrenin:
- Azure Key Vault'ta gizli dizileri güvenli bir şekilde depolayın.
- Yönetilen kimlik kullanarak kaynaklara erişin.
- App Service uygulama ayarlarını kullanarak gizli dizileri depolayın.
- Kullanıcı olarak Microsoft Graph'a bağlanın.
- Kullanıcı olarak bir SQL veritabanına bağlanın.
- Kullanıcı olarak başka bir App Service uygulamasına bağlanın.
- Başka bir App Service uygulamasına ve ardından kullanıcı olarak aşağı akış hizmetine bağlanın.