Aracılığıyla paylaş


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:

  1. Azure Portal’ında oturum açın.

  2. Azure portalı menüsüne gidin. Tüm kaynaklar'ı ve ardından Azure Haritalar hesabınızı seçin.

  3. Sol bölmedeki Ayarlar'ın altında Kimlik Doğrulaması'nı seçin.

    Azure portalında Azure Haritalar kimlik doğrulama seçeneklerinizi gösteren ekran görüntüsü.

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ğer Client 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 ve Secondary 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:

  1. Azure portalında bir işlev oluşturun. Daha fazla bilgi için bkz. Azure İşlevleri kullanmaya başlama.

  2. 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.

  3. Microsoft Entra Kimliği'nde kimlik doğrulaması yapmak üzere hizmet sorumlusu oluşturulmasını sağlamak için Azure işlevine sistem tarafından atanan bir kimlik ekleyin.

  4. 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.

  5. 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": "..."
    }
    
  6. HttpTrigger Azure işlevi için güvenliği yapılandırın:

    1. İşlev erişim anahtarı oluşturma
    2. Üretimdeki Azure işlevi için GÜVENLI HTTP uç noktası .
  7. 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: