Aracılığıyla paylaş


Diğer Azure hizmetlerinden Enerji için Azure Data Manager'a erişmek için yönetilen kimlik kullanma

Bu makalede, yönetilen kimlik kullanarak diğer Microsoft Azure hizmetlerinden Enerji için Azure Data Manager'ın veri düzlemine veya denetim düzlemine nasıl erişildiği açıklanmaktadır.

Enerji API'leri için Azure Data Manager'ı kullanabilmek için Azure İşlevleri gibi hizmetlere ihtiyaç vardır. Bu birlikte çalışabilirlik, birden çok Azure hizmeti için en iyi özellikleri kullanmanıza olanak tanır.

Örneğin, Enerji için Azure Data Manager'da veri almak için Azure İşlevleri'da bir betik yazabilirsiniz. Bu senaryoda, Azure İşlevleri kaynak hizmet ve Azure Data Manager for Energy'nin hedef hizmet olduğunu varsaymalısınız.

Bu makalede, Enerji için Azure Data Manager'a erişmek üzere Azure İşlevleri yapılandırmaya yönelik beş ana adım gösterilir.

Yönetilen kimliklere genel bakış

Microsoft Entra Id'den yönetilen kimlik, uygulamanızın diğer Microsoft Entra korumalı kaynaklara kolayca erişmesini sağlar. Kimlik Azure platformu tarafından yönetilir ve gizli dizi oluşturmanızı veya döndürmenizi gerektirmez. Herhangi bir işlem için Enerji denetim düzlemi veya veri düzlemi için Azure Data Manager'a erişmek isteyen tüm Azure hizmetleri bunu yapmak için yönetilen kimlik kullanabilir.

İki tür yönetilen kimlik vardır:

  • Sistem tarafından atanan yönetilen kimliklerin yaşam döngüleri onları oluşturan kaynağa bağlıdır.
  • Kullanıcı tarafından atanan yönetilen kimlikler birden çok kaynakta kullanılabilir.

Yönetilen kimlikler hakkında daha fazla bilgi edinmek için bkz . Azure kaynakları için yönetilen kimlikler nelerdir?.

Şu anda diğer hizmetler, sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliği kullanarak Enerji için Azure Data Manager'a bağlanabilir. Ancak Enerji için Azure Data Manager, sistem tarafından atanan yönetilen kimlikleri desteklemez.

Bu makaledeki senaryo için Azure İşlevleri'da kullanıcı tarafından atanan yönetilen kimliği kullanarak Enerji için Azure Data Manager'da bir veri düzlemi API'sini çağıracaksınız.

Ön koşullar

Başlamadan önce aşağıdaki kaynakları oluşturun:

1. Adım: Nesne kimliğini alma

Enerji API'leri için Azure Data Manager'a erişecek kullanıcı tarafından atanan kimliğin nesne kimliğini almak için:

  1. Azure Portal oturum açın.
  2. Yönetilen kimliğe gidin ve genel bakış'ı seçin.
  3. Temel Bileşenler'in altında Nesne (asıl) Kimliği değerini not edin.

Screenshot of the object ID for a user-assigned identity.

2. Adım: Uygulama kimliğini alma

Nesne kimliğini kullanarak kullanıcı tarafından atanan kimliğin uygulama kimliğini alın:

  1. Azure portalında Microsoft Entra Id'ye gidin.
  2. Soldaki menüde Kurumsal uygulamalar'ı seçin.
  3. Uygulama adına veya nesne kimliğine göre ara kutusuna nesne kimliğini girin.
  4. Sonuçlarda görüntülenen uygulama için Uygulama Kimliği değerini not edin.

Screenshot of the application ID for a user-assigned identity.

3. Adım: Kullanıcı tarafından atanan yönetilen kimliği Azure İşlevleri ekleme

  1. Azure portalında Azure işlevinize gidin.
  2. Hesap Ayarları’nın altında Kimlik'i seçin.
  3. Kullanıcı tarafından atanan sekmesini ve ardından Ekle'yi seçin.
  4. Kullanıcı tarafından atanan mevcut yönetilen kimliğinizi ve ardından Ekle'yi seçin. Ardından Kullanıcı tarafından atanan sekmesine geri dönersiniz.

Screenshot of a newly added user-assigned identity to an Azure function.

4. Adım: Yetkilendirme gruplarına uygulama kimliğini ekleme

Ardından uygulama kimliğini, Yetkilendirme hizmetini kullanarak Enerji API'leri için Azure Data Manager'a erişecek uygun gruplara ekleyin. Aşağıdaki örnek, uygulama kimliğini iki gruba ekler:

  • users@[bölüm kimliği].dataservices.energy
  • users.datalake.editors@[bölüm kimliği].dataservices.energy

Uygulama kimliğini eklemek için:

  1. Aşağıdaki bilgileri toplayın:

    • Kiracı Kimliği
    • İstemci kodu
    • İstemci gizli anahtarı
    • Enerji URI'sı için Azure Data Manager
    • Veri bölümü kimliği
    • Erişim belirteci
    • Yönetilen kimliğin uygulama kimliği
  2. Kullanıcı tarafından atanan yönetilen kimliğin uygulama kimliğini uygun yetkilendirme gruplarına eklemek için Üye Ekle API'sini kullanın.

    Dekont

    Aşağıdaki komutlarda, nesne kimliğini değil yönetilen kimliğin uygulama kimliğini kullandığınızdan emin olun.

    1. Uygulama kimliğini users@[bölüm kimliği].dataservices.energy grubuna eklemek için Azure'da Bash aracılığıyla aşağıdaki cURL komutunu çalıştırın:

       curl --location --request POST 'https://<Azure Data Manager for Energy URI>/api/entitlements/v2/groups/users@ <data-partition-id>.dataservices.energy/members' \
          --header 'data-partition-id: <data-partition-id>' \
          --header 'Authorization: Bearer \
          --header 'Content-Type: application/json' \
          --data-raw '{
                          "email": "<application ID of the managed identity>",
                          "role": "MEMBER"
                      }'
      

      Aşağıda örnek bir yanıt verilmişti:

      {
          "email": "<application ID of the managed identity>",
          "role": "MEMBER"
          }
      
    2. Uygulama kimliğini users.datalake.editors@[bölüm kimliği].dataservices.energy grubuna eklemek için Azure'da Bash aracılığıyla aşağıdaki cURL komutunu çalıştırın:

       curl --location --request POST 'https://<Azure Data Manager for Energy URI>/api/entitlements/v2/groups/ users.datalake.editors@ <data-partition-id>.dataservices.energy/members' \
          --header 'data-partition-id: <data-partition-id>' \
          --header 'Authorization: Bearer \
          --header 'Content-Type: application/json' \
          --data-raw '{
                          "email": "<application ID of the managed identity>",
                          "role": "MEMBER"
                      }'
      

      Aşağıda örnek bir yanıt verilmişti:

      {
          "email": "<application ID of the managed identity>",
          "role": "MEMBER"
          }
      

5. Adım: Belirteç oluşturma

Artık Azure İşlevleri, Enerji API'leri için Azure Data Manager'a erişmeye hazırdır.

Azure işlevi, kullanıcı tarafından atanan kimliği kullanarak bir belirteç oluşturur. İşlev, belirteci oluştururken Enerji için Azure Data Manager örneğinde bulunan uygulama kimliğini kullanır.

Aşağıda Azure işlev kodunun bir örneği verilmişti:

import logging
import requests
import azure.functions as func
from msrestazure.azure_active_directory import MSIAuthentication

def main(req: func.HttpRequest) -> str:
    logging.info('Python HTTP trigger function processed a request.')

    //To authenticate by using a managed identity, you need to pass the Azure Data Manager for Energy application ID as the resource.     
    //To use a user-assigned identity, you should include the   
    //client ID as an additional parameter.
    //Managed identity using user-assigned identity: MSIAuthentication(client_id, resource)

    creds = MSIAuthentication(client_id="<client_id_of_managed_identity>”, resource="<meds_app_id>")
    url = "https://<meds-uri>/api/entitlements/v2/groups"
    payload = {}
    // Passing the data partition ID of Azure Data Manager for Energy in headers along with the token received using the managed instance.
    headers = {
        'data-partition-id': '<data partition id>',
        'Authorization': 'Bearer ' + creds.token["access_token"]
    }
    response = requests.request("GET", url, headers=headers, data=payload, verify=False)
    return response.text

Azure İşlevleri aşağıdaki başarılı yanıtı almanız gerekir:

Screenshot of a success message from Azure Functions.

Önceki adımlar tamamlandıktan sonra artık yönetilen kimliklerin uygun kullanımıyla Enerji api'leri için Azure Data Manager'a erişmek için Azure İşlevleri kullanabilirsiniz.

Sonraki adımlar

Kasa hakkında bilgi edinin: