Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Entra Id, Azure Key Vault ile kullanıldığında, hem Azure hizmetlerinde hem de erişim anahtarları veya kimlik bilgileri gerektiren üçüncü taraf platformlarda uygulamaların kimliğini doğrulamak için sağlam ve güvenli bir yaklaşım sağlar. Bu birleşim, uygulama kodunda gizli bilgileri sabit kodlama gereksinimini ortadan kaldırır ve bunun yerine yönetilen kimlikler, rol tabanlı erişim denetimi (RBAC) ve Key Vault aracılığıyla merkezi gizli bilgi yönetimine dayanır. Bu yaklaşım, kimlik yönetimini kolaylaştırır ve bulut ortamlarında güvenlik duruşunu geliştirir.
Bu izlenecek yol, GitHub deposunda sağlanan pratik bir örnek aracılığıyla bu kimlik doğrulama mekanizmalarını inceler: github.com/Azure-Samples/python-integrated-authentication.
Örnek, bir Python uygulamasının aşağıdakileri nasıl yapabileceklerini gösterir:
DefaultAzureCredential kullanarak Azure ile kimlik doğrulaması
Kimlik bilgilerini depolamadan Azure Key Vault gizli dizilerine erişme
Azure Depolama, Cosmos DB ve daha fazlası gibi diğer Azure hizmetleriyle güvenli bir şekilde iletişim kurma
Bu makale, Azure Python SDK azure-identity kitaplığını kullanarak Microsoft Entra Id, Azure Key Vault ve Azure Kuyruk Depolama ile Python uygulamasının kimliğini doğrulama hakkında ayrıntılı bir kılavuz sağlayan bir serinin parçasıdır.
Bölüm 1: Arka Plan
Birçok Azure hizmeti yalnızca rol tabanlı erişim denetimine (RBAC) dayanırken, diğerleri gizli diziler veya anahtarlar aracılığıyla erişim gerektirir. Bu tür hizmetler Azure Depolama, veritabanları, Döküm Araçları, Key Vault ve Event Hubs'ı içerir.
Geliştiriciler, bu hizmetlerle etkileşim kuran bulut uygulamaları oluştururken Hizmete özgü erişim anahtarları oluşturmak ve yapılandırmak için Azure portalını, CLI'yı veya PowerShell'i kullanabilir. Bu anahtarlar, yetkisiz erişimi önlemek için belirli erişim ilkelerine bağlıdır. Ancak bu model, uygulamanızın anahtarları açıkça yönetmesini ve her hizmette ayrı olarak kimlik doğrulaması gerçekleştirmesini gerektirir. Bu işlem hem yorucu hem de hataya açık bir işlemdir.
Gizli dizileri doğrudan koda eklemek veya geliştirici makinelerinde depolamak, bunları şu durumlarda açığa çıkarma riski taşır:
- Kaynak denetimi
- Güvenli olmayan yerel ortamlar
- Kazara günlükler veya yapılandırma aktarımları
Azure güvenliği geliştirmek ve kimlik doğrulamasını basitleştirmek için iki temel hizmet sunar:
Azure Key Vault Azure Key Vault, erişim anahtarları, bağlantı dizeleri ve sertifikalar gibi gizli diziler için güvenli, bulut tabanlı bir depo sağlar. Uygulamalar, gizli bilgileri yalnızca çalışma zamanında Key Vault'tan alarak, kaynak kodunda veya yapılandırma dosyalarında hassas verileri açığa çıkarmaktan kaçınırlar.
Microsoft Entra tarafından yönetilen kimliklerle, uygulamanız Microsoft Entra Id ile bir kez kimlik doğrulaması yapabilir. Buradan, kimlik bilgilerini doğrudan yönetmeden Key Vault dahil olmak üzere diğer Azure hizmetlerine erişebilir.
Bu yaklaşım şunu sağlar:
- Kimlik bilgisi içermeyen kod (kaynak denetiminde gizli bilgi yok)
- Azure hizmetleriyle sorunsuz tümleştirme
- Ortam tutarlılığı: Aynı kod yerel olarak ve bulutta minimum yapılandırmayla çalışır
Bu izlenecek yol, Microsoft Entra yönetilen kimliği ve Key Vault'u aynı uygulamada birlikte kullanmayı gösterir. Microsoft Entra ID ve Key Vault'u birlikte kullanarak uygulamanızın tek tek Azure hizmetlerinde kimlik doğrulaması yapması gerekmez ve üçüncü taraf hizmetler için gerekli anahtarlara kolayca ve güvenli bir şekilde erişebilir.
Önemli
Bu makalede, REST API için erişim anahtarı gibi Azure Key Vault'ta "gizli dizi" olarak depolanan öğelere başvurmak için ortak, genel "anahtar" terimi kullanılır. Bu kullanım, Key Vault'un gizli dizilerinden ayrı bir özellik olan şifreleme anahtarlarının yönetimiyle karıştırılmamalıdır.
Örnek bulut uygulaması senaryosu
Azure'ın kimlik doğrulama işlemini daha derinden anlamak için şu senaryoyu göz önünde bulundurun: Azure App Service'e bir Flask web uygulaması dağıtıldı. HTTP isteklerine yanıt olarak JSON verileri döndüren genel, kimliği doğrulanmamış bir API uç noktasını kullanıma sunar.
Api, yanıtını oluşturmak için erişim anahtarı gerektiren bir üçüncü taraf API çağırır. Uygulama, bu anahtarı kod veya yapılandırma dosyalarında depolamak yerine Microsoft Entra yönetilen kimliğini kullanarak Azure Key Vault'tan çalışma zamanında güvenli bir şekilde alır.
Uygulama, istemciye yanıtını döndürmeden önce zaman uyumsuz işleme için Azure Depolama Kuyruğuna bir mesaj yazar. bu senaryonun odak noktası aşağı akış işleme olmasa da ileti bir görevi, günlüğü veya sinyali temsil edebilir.
Uyarı
Genel API uç noktaları genellikle kendi erişim anahtarları veya kimlik doğrulama mekanizmalarıyla korunsa da, bu kılavuzda uç noktanın açık ve kimliği doğrulanmamış olduğu varsayılır.
Bu basitleştirme, uygulamanın Azure Key Vault ve Azure Depolama erişme gibi iç kimlik doğrulama gereksinimlerini dış istemcilerle ilgili tüm kimlik doğrulama sorunlarından yalıtmaya yardımcı olur.
Senaryo yalnızca uygulamanın davranışına odaklanıyor ve uç noktayla kimlik doğrulaması yapan bir dış çağıranı göstermiyor veya içermiyor.