Aracılığıyla paylaş


Microsoft Planet Computer Pro için uygulama kimlik doğrulamasını yapılandırma

Bu makalede, geliştiricilere ve yöneticilere güvenli uygulama kimlik doğrulaması ve Microsoft Planetary Computer Pro erişimi ayarlamaları için adım adım rehberlik sağlanır. Uygulamalar, Microsoft Entra Id ve yönetilen kimlikler uygulayarak kimlik bilgilerini yönetmeden sorunsuz bir şekilde kimlik doğrulaması yapabilir ve Planetary Computer Pro kaynaklarıyla güvenli etkileşim sağlayabilir. Uygulamanız ister Azure'da ister diğer ortamlarda çalıştırılsın, bu kılavuzda güvenli erişimi etkinleştirmek için rol tabanlı erişim denetimi (RBAC) ve belirteç alımı gibi gerekli yapılandırmalar özetlenmiştir.

Uyarı

Azure AD B2C veya Microsoft Entra External ID destekleyen sosyal kimlik sağlayıcıları gibi özellikler kullanan uygulamalar için Planetary Computer Pro, Microsoft Entra Id kimlik doğrulaması alternatiflerini desteklemediğinden, uygulamaların ara sunucu kimlik doğrulaması trafiği için bu kimlik çözümlerini kullanmaya devam etmesi gerekir.

Kimlik doğrulama seçenekleri ve öneriler

Aşağıdaki tabloda, uygulamanızın nerede çalıştığına ve kaynaklara nasıl eriştiğine bağlı olarak önerilen kimlik doğrulama yaklaşımı özetlenmiştir:

Uygulama Barındırma Ortamı Erişim Türü Gerekli Önerilen Kimlik Türü Explanation
Azure'da çalıştırma (VM, App Service, İşlevler, Container Apps vb.) App-Only (Uygulama kendisi gibi davranır) Yönetilen Kimlik (Kullanıcı tarafından atanması önerilir) Güvenlik ve Yönetilebilirlik: Kimlik bilgilerini (gizli diziler veya sertifikalar) kod veya yapılandırmada depolama ve yönetme gereksinimini ortadan kaldırır. Azure, kimlik bilgisi döndürmeyi otomatik olarak işler. Kullanıcı atamalı, birden çok kaynak arasında paylaşım için tercih edilir.
Azure'da çalıştırma (VM, App Service, İşlevler, Container Apps vb.) Temsilci (Uygulama bir kullanıcı adına hareket eder) Yönetilen Kimlik (Kullanıcı tarafından atanması önerilir) Azure Tümleştirmesi'ne yararlanıyor: Yönetilen Kimliğin uygulamanın kendisi için güvenlik avantajlarını standart kullanıcı kimlik doğrulaması akışlarıyla birleştirir. Azure'da altyapı kurulumunu basitleştirir.
Azure Dışında Çalıştırma (Şirket içi, diğer bulut, geliştirici makinesi) App-Only (Uygulama kendisi gibi davranır) Hizmet Sorumlusu Dış Uygulamalar için Standart: Azure dışı uygulamaların Microsoft Entra Id ile kimlik doğrulaması için oluşturulan yöntem. Kimlik bilgilerinin (gizli diziler veya sertifikalar) güvenli bir şekilde yönetilmesini gerektirir.
Azure Dışında Çalıştırma (Şirket içi, diğer bulut, geliştirici makinesi) Temsilci (Uygulama bir kullanıcı adına hareket eder) Hizmet Sorumlusu Dış Uygulamalar için Standart: Kullanıcının Entra Id içindeki kayıtlı kimliğini kullanarak Azure dışındaki uygulamalar için kullanıcı oturum açma ve onay için standart OAuth 2.0 akışlarını etkinleştirir.
Azure Dışında Çalıştırma (Alternatif) App-Only veya Temsilci Yönetimli Kimlik Azure Avantajları getirir: Uygulamayı bir Azure işlem hizmetinde (VM veya Kapsayıcı Uygulama gibi) barındırarak Yönetilen Kimliklerin gelişmiş güvenlik ve yönetilebilirliğini kullanabilir ve kaynak Azure dışı olarak kabul edilse bile kimlik bilgisi yönetiminden kaçınabilir.

Önkoşullar

Azure'da çalışan uygulamalar

Azure'da çalışan uygulamalar için GeoCatalog kaynağına erişmek için kullanıcı tarafından atanan Yönetilen Kimlik adlı bir Microsoft Entra kimliği türü oluşturmanızı öneririz. Uygulamalar, Microsoft Entra belirteçlerini almak için yönetilen kimlikleri kullanabilir (kimlik bilgilerini yönetmek zorunda kalmadan Microsoft Planet Computer Pro'ya erişmek için erişim belirteci alma bölümüne bakın. Yönetilen Kimlikler ve hangi türün seçileceği hakkında daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler nelerdir? Azure'da çalışan uygulamanız için kullanıcı tarafından atanan yönetilen kimlikler oluşturmak için App Service ve Azure İşlevleri için yönetilen kimlikleri kullanma'yı izleyin.

Uygulamalar Azure'da çalışmıyor

Şirket içi veya diğer bulut sağlayıcılarında barındırılan uygulamalar gibi Azure'da çalışmayan uygulamalar için , uygulamanızla Microsoft kimlik platformu arasında güven ilişkisi kurmak için güvenlik belirteçlerini almak üzere yeniden yönlendirme URI'si de dahil olmak üzere uygulamayı Microsoft Entra yönetim merkezine kaydetmenizi öneririz. Uygulamayı Microsoft Entra'ya kaydetmek, uygulama için daha sonra RBAC rollerini atayabileceğiniz bir Hizmet Prensibi oluşturur. Uygulamanızın Microsoft Entra Id kimlik doğrulamasını yapılandırmaya ilişkin bir ayarı varsa, bunu yapmak için kayıtlı uygulamanın "Uygulama (istemci) Kimliği" ve "Dizin (kiracı) Kimliği"ni kullanabilirsiniz.

Uygulamayı daha önce önerilen şekilde Microsoft Entra'ya kaydedemiyorsanız, uygulamayı bir Azure VM veya Container uygulamasında çalıştırma seçeneğiniz daha vardır. Kullanıcı tarafından atanan bir yönetilen kimlik oluşturabilir ve bunu burada açıklandığı gibi Sanal Makine (VM) veya Kapsayıcı uygulamasına atayabilirsiniz: Azure sanal makinelerinde (VM) yönetilen kimlikleri ve Azure Container Apps'te Yönetilen kimlikleri yapılandırma. Uygulama, GeoCatalog kaynağına erişmek için yönetilen kimlikle oturum açabilir. Örneğin, kullanıcı tarafından atanan yönetilen kimliği kullanarak vm içinde çalıştırılacak uygulama için şunları kullanabilirsiniz:

!az login  --identity --username <client_id|object_id|resource_id> 

Yönetilen kimliğin istemci kimliğini, nesne kimliğini veya kaynak kimliğini Azure portalından bulabilirsiniz. CLI'ya alternatif olarak örnek Python kodu, Microsoft Planetary Computer Pro'ya erişmek için erişim belirteci alma bölümünün altındadır.

azure.identity.DefaultAzureCredential(managed_identity_client_id=<client_id>)

Daha önce açıklandığı gibi uygulamanız için kullanıcı tarafından atanan bir yönetilen kimlik veya hizmet ilkesi oluşturduktan sonra, uygulama erişim senaryosunun türüne karar vermeniz gerekir: yalnızca uygulama aracılığıyla erişim, yalnızca uygulamanın kendi kimliği gibi davranan, veya oturum açmış bir kullanıcının adına hareket eden temsilci erişimi.

Yalnızca uygulama erişimi

Bu erişim senaryosunda uygulama, varsayılan davranış olarak oturum açmış kullanıcı olmadan kendi başına hareket eder. Uygulamalara uygun rolleri atamak için uygulamalar için Microsoft Planet Computer Pro RBAC yapılandırması bölümüne geçebilirsiniz.

Yetkilendirilmiş erişim

Bu erişim senaryosunda, bir kullanıcı bir istemci uygulamasında oturum açtı. İstemci uygulaması, kullanıcı adına kaynağa erişir. Uygulama kullanıcılarına Kullanıcı Oluşturma ve Yönetme bölümünde açıklandığı gibi uygun RBAC rollerinin atandığından emin olmanız gerekir. Ayrıca aşağıdaki adımları izleyerek uygulamanın API izinlerini temsilci izinleriyle yapılandırmanız gerekir:

  1. Microsoft Entra yönetim merkezinde oturum açın
  2. Kimlik>Uygulamaları>Uygulama kayıtlarına göz atın ve istemci uygulamanızı seçin
  3. Yönet'in altında API izinleri'ne tıklayın
  4. İzin ekle'yi seçin
  5. Kuruluşumun kullandığı API'leri seçin sekmesi
  6. Arama alanına Azure Orbital Planet Computer yazın
  7. Eşleşen girişi seçin (uygulama kimliği 6388acc4-795e-43a9-a320-33075c1eb83b olmalıdır). Azure Orbital Microsoft Planet Computer Pro olarak gösterilir.
  8. Temsilci izinleri kutusunu seçin. user_impersonation yanındaki kutuyu işaretleyin.
  9. İzin ekle'yi seçin
  10. "Yönetici onayı ver" bağlantısını seçin (amacınızın bu izin için kiracıda yönetici onayı vermek olduğu varsayılarak)

Kimlik doğrulama temsilci yöntemi, QGIS'ten bağlanırken de kullanılır.

Uygulamalar için Microsoft Planet Computer Pro RBAC yapılandırması

Azure'da çalışan bir uygulama için bir Yönetilen kimlik veya Azure'da çalışmayan ancak Microsoft Entra'da kayıtlı olan bir uygulama için hizmet sorumlusu oluşturduktan sonra, kimliklere GeoCatalog kaynağına RBAC yapılandırması aracılığıyla erişmek için gerekli izinleri vermeniz gerekir.

Aşağıda, bir uygulamanın Kullanıcı tarafından atanan yönetilen kimliğine "GeoCatalog Yöneticisi" rolünü atamak için Role-Based Erişim Denetimi'nin (RBAC) nasıl yapılandırılmayı gösteren adım adım bir örnek verilmiştir. Bir uygulamanın hizmet sorumlusu için RBAC'yi yapılandırmak için Azure portalında aynı adımları izleyebilirsiniz.

  1. Azure portalında soldaki Microsoft Planetary Computer Pro kaynak IAM sekmesine gidin.

    RBAC'yi yapılandırmak için Azure portalındaki IAM dikey penceresinin ekran görüntüsü.

  2. Rol ataması ekle'yi seçin ve ardından "İş işlevi rolleri" altında GeoCatalog Yöneticisi'ni seçin

    Azure portalında rol ataması seçiminin ekran görüntüsü.

  3. İleri düğmesini ve ardından Yönetilen kimlik radyo düğmesini seçin

    Azure portalında yönetilen kimlik seçiminin ekran görüntüsü.

  4. Üyeleri seçin'i seçin ve sağ taraftaki Yönetilen kimlikleri seçin bölmesinde aboneliği ve Kullanıcı tarafından atanan yönetilen kimliği seçin.

    Azure portalında seçili üyeler bölmesinin ekran görüntüsü.

  5. Bilgileri doğrulamak için İleri'yi seçin ve gözden geçirme + atama işlemini tamamlayın.

Microsoft Planet Computer Pro'ya erişmek için erişim belirteci alma

RBAC'yi uygulamanıza uygun izinleri vermek üzere yapılandırdıktan sonra, uygulamanın isteklerin kimliğini doğrulamak için bir erişim belirteci alması gerekir. Aşağıdaki Python örnek kodu:

import azure.identity
credential = azure.identity.DefaultAzureCredential()
token = credential.get_token("https://geocatalog.spatio.azure.com/")
headers = {"Authorization": f"Bearer {token.token}"} 

Uyarı

Uygulamanıza atanmış birden çok yönetilen kimlik varsa, doğru kimliği açıkça geçirmeniz gerekir: azure.identity.DefaultAzureCredential(managed_identity_client_id=<client_id>). Alternatif olarak, doğru yönetilen kimlik istemci kimliğini eklemek için Azure portalında uygulamanızın ortam değişkenlerini yapılandırabilirsiniz.

Uyarı

Beklenen kullanıcı kimlik doğrulama davranışınıza göre .default veya user_impersonationcredential.get_token() kapsamına ekleyebilirsiniz.

Uyarı

Uygulamanız bir web uygulamasıysa, kodunuzda veya uygulama yapılandırmanızda her değişiklik yaptığınızda önbelleğe alınmış kimlik bilgilerinin kullanılmasını önlemek için web tarayıcısını kapatıp yeniden açtığınızdan emin olun.

Erişim belirteçleri hakkında daha fazla bilgi için bkz. Microsoft kimlik platformundaki Erişim belirteçleri. DefaultAzureCredentials() çağrısıyla erişim belirteçleri aldığınızda, alınan belirteçler kimlik bilgisi örneği tarafından önbelleğe alınır . Belirteç ömrü ve yenileme otomatik olarak yönetilir. DefaultAzureCredential örneğini etrafa geçirebilir ve her zaman süresi dolmamış bir jeton almak için gerekli bir jetona ihtiyaç duymadan hemen önce GetToken() veya GetTokenAsync() çağırabilirsiniz. Uzun bir açık oturum sürdürmeniz gerekiyorsa, özel durumu yakalamak ve yeni bir belirteç almak için hata işleyicisinde belirteç süre sonunu işleyebilirsiniz.

DefaultAzureCredentials() kullanamıyorsanız ve bunun yerine AzureCliCredential() gibi başka yöntemler kullanarak erişim belirteçleri alıyorsanız, belirtecin ömrünü yönetmeniz ve yenilemeniz gerekir. Daha fazla bilgi için bkz. Microsoft kimlik platformunda yapılandırılabilir belirteç ömrü ve Microsoft kimlik platformunda belirteçleri yenileme .

Sonraki Adımlar