Aracılığıyla paylaş


Enerji için Azure Data Manager'da kullanıcıları yönetme

Bu makalede, Enerji için Azure Data Manager'daki OSDU gruplarındaki kullanıcıları ve üyeliklerini yönetmeyi öğreneceksiniz. Yetkilendirme API'leri , OSDU gruplarına kullanıcı eklemek veya kaldırmak ve kullanıcı OSDU hizmetlerine veya verilerine erişmeye çalıştığında yetkilendirmeleri denetlemek için kullanılır. OSDU grup kavramları hakkında daha fazla bilgi için bkz . Yetkilendirmeler.

Önkoşullar

  • Enerji için Azure Data Manager örneği oluşturun. Bkz . Enerji örneği için Azure Data Manager oluşturma.
  • Örneğinizin ve client-secretgibi client-id çeşitli parametrelerini alın. Bkz . Kimlik doğrulama belirteci oluşturma.
  • Yetkilendirme API'lerini çağırmak için gereken hizmet sorumlusu erişim belirtecini oluşturun. Bkz . Kimlik doğrulama belirteci oluşturma.
  • Tüm parametre değerlerini kullanışlı tutun. Yetkilendirmeler API'sini kullanarak farklı kullanıcı yönetimi istekleri çalıştırmaları gerekir.

Object-id'yi getirme

Azure nesne kimliği (OID), Microsoft Entra kullanıcı OID'sidir.

  1. Önce kullanıcıların OID'sini bulun. Bir uygulamanın erişimini yönetiyorsanız, OID yerine uygulama kimliğini (veya istemci kimliğini) bulup kullanmanız gerekir.

  2. Kullanıcıların OID değerini (veya bir uygulama için erişimi yönetiyorsanız uygulama veya istemci kimliğini) Enerji için Azure Data Manager örneğinizin Yetkilendirmeler API'sine yapılan çağrılara parametre olarak girin. Parametresinde kullanıcının e-posta kimliğini kullanamazsınız ve nesne kimliğini kullanmanız gerekir.

    Microsoft Entra Id'den nesne kimliğini bulmayı gösteren ekran görüntüsü.

    Profilden OID'yi bulmayı gösteren ekran görüntüsü.

Yeni bir veri bölümüne ilk kez kullanıcı ekleme

  1. Enerji için Azure Data Manager örneğinin yeni bir veri bölümüne ilk yöneticiyi eklemek için örneği sağlamak için kullanılan OID'nin erişim belirtecini kullanın.

  2. client-id İstemci kimliği erişim belirteci oluştur'ı kullanarak erişim belirtecini alın.

    Yetkilendirmeleri eklemek için doğrudan kendi erişim belirtecinizi kullanmayı denerseniz, 401 hatasıyla sonuçlanır. Erişim client-id belirteci, sistemdeki ilk kullanıcı kümesini eklemek için kullanılmalıdır. Bu kullanıcılar (yönetici erişimine sahip) daha sonra kendi erişim belirteciyle daha fazla kullanıcıyı yönetebilir.

  3. client-id Aşağıdaki bölümlerde özetlenen komutları kullanarak aşağıdaki adımları gerçekleştirmek için erişim belirtecini kullanın:

    1. Kullanıcıyı users@<data-partition-id>.<domain> OWNER rolüyle OSDU grubuna ekleyin.
    2. Tüm hizmet gruplarına erişim vermek için users.datalake.ops@<data-partition-id>.<domain> kullanıcıyı OWNER rolüyle OSDU grubuna ekleyin.
  4. Kullanıcı, veri bölümünün yöneticisi olur. Yönetici daha sonra gerekli yetkilendirme gruplarına daha fazla kullanıcı ekleyebilir veya kaldırabilir:

    1. Aynı client-id ve client-secret değerlerle kullanıcı erişim belirteci oluştur'ı kullanarak yöneticinin kimlik doğrulama belirtecini alın.
    2. Yöneticinin erişim belirtecini kullanarak daha fazla kullanıcı eklemek istediğiniz gibi OSDU grubunu service.legal.editor@<data-partition-id>.<domain>alın.
    3. Yöneticinin erişim belirtecini kullanarak bu OSDU grubuna daha fazla kullanıcı ekleyin.
  5. users.data.root , kayıtlar sistemde otomatik olarak oluşturulduğunda tüm veri kayıtlarının varsayılan ve kalıcı OWNER değeridir. Bu nedenle, kaydı oluşturan ve kaydın SAHIBI olan kullanıcı kuruluştan ayrılırsa, üyelerinin users.data.root her zaman tüm veri kayıtlarına erişimi olur. Diğer ayrıntılar için Bkz . Veri Kök Grubu.

  6. Belirli bir OSDU grubuna daha fazla üye eklediğinizde, OSDU topluluğu tarafından tanımlanan belirli bir kimlik için 5000 üyelik sınırı vardır.

OSDU önyükleme grupları hakkında daha fazla bilgi edinmek için buraya göz atın.

Veri bölümünde erişiminiz olan tüm grupların listesini alma

Kullanabileceğiniz veya Enerji için Azure Data Manager örneğinin belirli veri bölümünde erişiminiz olan tüm grupları almak için Azure Cloud Shell'de aşağıdaki curl komutunu çalıştırın.

    curl --location --request GET "https://<adme-url>/api/entitlements/v2/groups/" \
    --header 'data-partition-id: <data-partition>' \
    --header 'Authorization: Bearer <access_token>'

Veri bölümündeki bir OSDU grubuna üye ekleme

  1. Yetkilendirme hizmetini kullanarak kullanıcıları kullanıcılar grubuna eklemek için Azure Cloud Shell'de aşağıdaki curl komutunu çalıştırın.

  2. parametresi email için gönderilecek değer, kullanıcının e-posta adresi değil kullanıcının OID değeridir.

        curl --location --request POST 'https://<adme-url>/api/entitlements/v2/groups/<group-name>@<data-partition-id>.<domain>/members' \
        --header 'data-partition-id: <data-partition-id>' \
        --header 'Authorization: Bearer <access_token>' \
        --header 'Content-Type: application/json' \
        --data-raw '{
                        "email": "<Object_ID_1>",
                        "role": "MEMBER"
                    },
                   {
                        "email": "<Object_ID_2>",
                        "role": "MEMBER"
                    }
                   '
    

    Kullanıcılar OSDU grubu için örnek istek

    adlı dp1bir veri bölümü ile adlı medstest bir Enerji için Azure Data Manager örneğini düşünün.

        curl --location --request POST 'https://medstest.energy.azure.com/api/entitlements/v2/groups/users@medstest-dp1.dataservices.energy/members' \
        --header 'data-partition-id: medstest-dp1' \
        --header 'Authorization: Bearer abcdefgh123456.............' \
        --header 'Content-Type: application/json' \
        --data-raw '{
                        "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
                        "role": "MEMBER"
                    }'
    

    Örnek yanıt

        {
            "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
            "role": "MEMBER"
        }
    

    Hukuk hizmeti düzenleyicisi OSDU grubu için örnek istek

        curl --location --request POST 'https://medstest.energy.azure.com/api/entitlements/v2/groups/service.legal.editor@medstest-dp1.dataservices.energy/members' \
        --header 'data-partition-id: medstest-dp1' \
        --header 'Authorization: Bearer abcdefgh123456.............' \
        --header 'Content-Type: application/json' \
        --data-raw '{
                        "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
                        "role": "MEMBER"
                    }'
    

    Önemli

    Uygulama kimliği, tüm grupların varsayılan OWNER değeridir.

    Microsoft Entra Id'de uygulama kimliğini gösteren ekran görüntüsü.

Veri bölümündeki belirli bir kullanıcı için OSDU gruplarını alma

  1. Kullanıcıyla ilişkili tüm grupları almak için Azure Cloud Shell'de aşağıdaki curl komutunu çalıştırın.

        curl --location --request GET 'https://<adme-url>/api/entitlements/v2/members/<obejct-id>/groups?type=none' \
        --header 'data-partition-id: <data-partition-id>' \
        --header 'Authorization: Bearer <access_token>'
    

    Örnek isteği

    adlı dp1bir veri bölümü ile adlı medstest bir Enerji için Azure Data Manager örneğini düşünün.

        curl --location --request GET 'https://medstest.energy.azure.com/api/entitlements/v2/members/90e0d063-2f8e-4244-860a-XXXXXXXXXX/groups?type=none' \
        --header 'data-partition-id: medstest-dp1' \
        --header 'Authorization: Bearer abcdefgh123456.............'
    

    Örnek yanıt

        {
        "desId": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
        "memberEmail": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
        "groups": [
            {
            "name": "users",
            "description": "Datalake users",
            "email": "users@medstest-dp1.dataservices.energy"
            },
            {
            "name": "service.search.user",
            "description": "Datalake Search users",
            "email": "service.search.user@medstest-dp1.dataservices.energy"
            }
        ]
        }
    

Veri bölümündeki bir gruptan üye kaldırma

  1. Belirli bir üyeyi gruptan kaldırmak için Azure Cloud Shell'de aşağıdaki curl komutunu çalıştırın.

  2. API bir üyeyi gruptan users@ kaldırmaya çalışırsa ancak üye zaten diğer grupların bir parçasıysa, API isteği başarısız olur. Üyeyi gruptan users@ ve dolayısıyla veri bölümünden kaldırmak için Delete komutunu kullanabilirsiniz.

        curl --location --request DELETE 'https://<adme-url>/api/entitlements/v2/groups/<group-id>/members/<object-id>' \
        --header 'data-partition-id: <data-partition-id>' \
        --header 'Authorization: Bearer <access_token>'
    

Veri bölümündeki tüm gruplardan belirli bir kullanıcıyı silme

  1. Belirli bir kullanıcıyı belirli bir veri bölümünden silmek için Azure Cloud Shell'de aşağıdaki curl komutunu çalıştırın.

  2. Bu gruptaki kullanıcıları yönetebilecek başka bir SAHIP yoksa grubun OWNER'ını silmeyin. Ancak users.data.root tüm veri kayıtlarının varsayılan ve kalıcı sahibidir.

        curl --location --request DELETE 'https://<adme-url>/api/entitlements/v2/members/<object-id>' \
        --header 'data-partition-id: <data-partition-id>' \
        --header 'Authorization: Bearer <access_token>'
    

    Örnek isteği

    adlı dp1bir veri bölümü ile adlı medstest bir Enerji için Azure Data Manager örneğini düşünün.

        curl --location --request DELETE 'https://medstest.energy.azure.com/api/entitlements/v2/members/90e0d063-2f8e-4244-860a-XXXXXXXXXX' \
        --header 'data-partition-id: medstest-dp1' \
        --header 'Authorization: Bearer abcdefgh123456.............'
    

    Örnek yanıt

    Başarılı bir yanıt için çıkış yok.

Sonraki adımlar

Gruplara kullanıcı ekledikten sonra şunları yapabilirsiniz:

Ayrıca Verileri Enerji için Azure Data Manager örneğine de alabilirsiniz: