Etkileşimli olmayan oturum açma ile tek sayfalı bir web uygulamasının güvenliğini sağlama
Kullanıcı Microsoft Entra Id'de oturum açamasa bile Microsoft Entra Id ile tek sayfalı bir web uygulamasının güvenliğini sağlayın.
Bu etkileşimli olmayan kimlik doğrulama akışını oluşturmak için önce Microsoft Entra ID'den erişim belirteçlerini almaktan sorumlu olan bir Azure İşlevi güvenli web hizmeti oluşturun. Bu web hizmeti yalnızca tek sayfalı web uygulamanız tarafından kullanılabilir.
azure portalında Azure Haritalar hesabı kimlik doğrulama ayrıntılarınızı görüntülemek için:
Azure Portal’ında oturum açın.
Azure portalı menüsüne gidin. Tüm kaynaklar'ı ve ardından Azure Haritalar hesabınızı seçin.
Sol bölmedeki Ayarlar'ın altında Kimlik Doğrulaması'nı seçin.
Azure Haritalar hesabı oluşturulduğunda üç değer oluşturulur. Bunlar, Azure Haritalar iki kimlik doğrulama türünü desteklemek için kullanılır:
- Microsoft Entra kimlik doğrulaması:
Client ID
REST API istekleri için kullanılacak hesabı temsil eder. DeğerClient ID
uygulama yapılandırmasında depolanmalıdır ve ardından Microsoft Entra kimlik doğrulamasını kullanan Azure Haritalar HTTP istekleri yapmadan önce alınmalıdır. - Paylaşılan Anahtar Kimlik Doğrulaması:
Primary Key
veSecondary Key
, Paylaşılan Anahtar kimlik doğrulaması için abonelik anahtarı olarak kullanılır. Paylaşılan Anahtar kimlik doğrulaması, her istekte Azure Haritalar hesabı tarafından oluşturulan anahtarın Azure Haritalar geçirilmesine dayanır. Anahtarlarınızı düzenli olarak yeniden oluşturmanızı öneririz. Yeniden oluşturma sırasında geçerli bağlantıları korumak için iki anahtar sağlanır. Bir anahtar, diğerini yeniden oluştururken kullanımda olabilir. Anahtarlarınızı yeniden oluşturduğunuzda, bu hesaba erişen tüm uygulamaları yeni anahtarları kullanmak için güncelleştirmeniz gerekir. Daha fazla bilgi için bkz. Azure Haritalar ile kimlik doğrulaması
İpucu
Azure Haritalar, kullanıcı oturum açma veya etkileşimli akışlardan erişim belirteçlerini destekleyebilir. Erişim iptali ve gizli dizi yönetiminin daha kısıtlı bir kapsamı için etkileşimli akışları kullanabilirsiniz.
Azure işlevi oluşturma
Microsoft Entra Id kimlik doğrulamasının sorumlu olduğu güvenli bir web hizmeti uygulaması oluşturmak için:
Azure portalında bir işlev oluşturun. Daha fazla bilgi için bkz. Azure İşlevleri kullanmaya başlama.
Azure işlevinde CORS ilkesini tek sayfalı web uygulaması tarafından erişilebilecek şekilde yapılandırın. CORS ilkesi, tarayıcı istemcilerini web uygulamanızın izin verilen çıkış noktalarına kadar güvenli bir şekilde güvence altına alır. Daha fazla bilgi için bkz. CORS işlevselliği ekleme.
Azure Haritalar hesabına sistem tarafından atanan kimlik için rol tabanlı erişim verin. Daha fazla bilgi için bkz . Rol tabanlı erişim verme.
Desteklenen mekanizmalardan biriyle veya REST protokolüyle sistem tarafından atanan kimliği kullanarak Azure Haritalar erişim belirteçlerini almak için Azure işlevi için kod yazın. Daha fazla bilgi için bkz . Azure kaynakları için belirteçleri alma.
Aşağıda örnek bir REST protokolü verilmiştir:
GET /MSI/token?resource=https://atlas.microsoft.com/&api-version=2019-08-01 HTTP/1.1 Host: localhost:4141
Örnek bir yanıt aşağıda verilmişti:
HTTP/1.1 200 OK Content-Type: application/json { "access_token": "eyJ0eXAi…", "expires_on": "1586984735", "resource": "https://atlas.microsoft.com/", "token_type": "Bearer", "client_id": "..." }
HttpTrigger Azure işlevi için güvenliği yapılandırın:
Web SDK Azure Haritalar bir web uygulaması yapılandırın.
//URL to custom endpoint to fetch Access token var url = 'https://{App-Name}.azurewebsites.net/api/{Function-Name}?code={API-Key}'; var map = new atlas.Map('myMap', { center: [-122.33, 47.6], zoom: 12, language: 'en-US', view: "Auto", authOptions: { authType: "anonymous", clientId: "<insert>", // azure map account client id getToken: function(resolve, reject, map) { fetch(url).then(function(response) { return response.text(); }).then(function(token) { resolve(token); }); } } }); // use the following events to debug, you can remove them at any time. map.events.add("tokenacquired", function () { console.log("token acquired"); }); map.events.add("error", function (err) { console.log(JSON.stringify(err.error)); });
Kullanıcıların Azure Haritalar için rol tabanlı erişim verme
Bir veya daha fazla Azure Haritalar rol tanımına bir Microsoft Entra grubu veya güvenlik sorumlusu atayarak Azure rol tabanlı erişim denetimi (Azure RBAC) sağlayabilirsiniz.
Azure Haritalar için kullanılabilir Azure rol tanımlarını görüntülemek için bkz. Yerleşik Azure Haritalar rol tanımlarını görüntüleme.
Oluşturulan yönetilen kimliğe veya hizmet sorumlusuna kullanılabilir bir Azure Haritalar rolü atama hakkında ayrıntılı adımlar için bkz. Azure portalını kullanarak Azure rolleri atama
Büyük miktarda kullanıcının Azure Haritalar uygulamasını ve kaynak erişimini verimli bir şekilde yönetmek için bkz. Microsoft Entra grupları.
Önemli
Kullanıcıların bir uygulamada kimlik doğrulamasına izin verebilmesi için, kullanıcıların önce Microsoft Entra Kimliği'nde oluşturulması gerekir. Daha fazla bilgi için bkz. Microsoft Entra ID kullanarak kullanıcı ekleme veya silme.
Kullanıcılar için büyük bir dizini etkili bir şekilde yönetme hakkında bilgi edinmek için bkz . Microsoft Entra Id.
Uyarı
Azure Haritalar yerleşik rol tanımları, birçok Azure Haritalar REST API'sine çok büyük bir yetkilendirme erişimi sağlar. API erişimini en düşük düzeyde kısıtlamak için bkz . Özel rol tanımı oluşturma ve sistem tarafından atanan kimliği özel rol tanımına atama. Bu, uygulamanın Azure Haritalar erişmesi için gereken en düşük ayrıcalığı sağlar.
Sonraki adımlar
Tek sayfalı uygulama senaryosu hakkında daha fazla bilgi:
Azure Haritalar hesabınız için API kullanım ölçümlerini bulun:
Microsoft Entra ID'yi Azure Haritalar ile tümleştirmeyi gösteren diğer örnekleri keşfedin: