Zarządzanie użytkownikami w usłudze Azure Data Manager for Energy

Z tego artykułu dowiesz się, jak zarządzać użytkownikami i ich członkostwem w grupach OSDU w usłudze Azure Data Manager for Energy. Interfejsy API uprawnień służą do dodawania lub usuwania użytkowników do grup OSDU oraz sprawdzania uprawnień, gdy użytkownik próbuje uzyskać dostęp do usług lub danych OSDU. Aby uzyskać więcej informacji na temat pojęć dotyczących grup OSDU, zobacz Uprawnienia.

Wymagania wstępne

Pobieranie identyfikatora obiektu

Identyfikator obiektu platformy Azure (OID) to identyfikator OID użytkownika firmy Microsoft Entra.

  1. Najpierw znajdź identyfikator OID użytkowników. Jeśli zarządzasz dostępem aplikacji, musisz znaleźć i użyć identyfikatora aplikacji (lub identyfikatora klienta) zamiast identyfikatora OID.

  2. Wprowadź identyfikator OID użytkowników (lub identyfikator aplikacji lub klienta, jeśli zarządza dostępem do aplikacji) jako parametry w wywołaniach interfejsu API uprawnień wystąpienia usługi Azure Data Manager for Energy. Nie można użyć identyfikatora e-mail użytkownika w parametrze i musi używać identyfikatora obiektu.

    Zrzut ekranu przedstawiający znajdowanie identyfikatora obiektu z identyfikatora entra firmy Microsoft.

    Zrzut ekranu przedstawiający znajdowanie identyfikatora OID z profilu.

Dodawanie użytkowników po raz pierwszy do nowej partycji danych

  1. Aby dodać pierwszego administratora do nowej partycji danych wystąpienia usługi Azure Data Manager for Energy, użyj tokenu dostępu identyfikatora OID użytego do aprowizacji wystąpienia.

  2. Pobierz token dostępu przy użyciu opcji Generuj client-id token dostępu identyfikatora klienta.

    Jeśli spróbujesz bezpośrednio użyć własnego tokenu dostępu do dodawania uprawnień, zostanie wyświetlony błąd 401. Token client-id dostępu musi służyć do dodawania pierwszego zestawu użytkowników w systemie. Ci użytkownicy (z dostępem administratora) mogą następnie zarządzać większą większa większa liczba użytkowników przy użyciu własnego tokenu dostępu.

  3. Użyj tokenu client-id dostępu, aby wykonać następujące kroki, korzystając z poleceń opisanych w poniższych sekcjach:

    1. Dodaj użytkownika do users@<data-partition-id>.<domain> grupy OSDU z rolą OWNER.
    2. Dodaj użytkownika do users.datalake.ops@<data-partition-id>.<domain> grupy OSDU z rolą OWNER, aby udzielić dostępu do wszystkich grup usług.
  4. Użytkownik staje się administratorem partycji danych. Administrator może następnie dodać lub usunąć więcej użytkowników do wymaganych grup uprawnień:

    1. Pobierz token uwierzytelniania administratora przy użyciu pozycji Generuj token dostępu użytkownika z tymi samymi client-id wartościami i client-secret .
    2. Pobierz grupę OSDU, taką jak service.legal.editor@<data-partition-id>.<domain>, do której chcesz dodać więcej użytkowników przy użyciu tokenu dostępu administratora.
    3. Dodaj więcej użytkowników do tej grupy OSDU przy użyciu tokenu dostępu administratora.
  5. users.data.root jest domyślnym i trwałym właścicielem wszystkich rekordów danych podczas automatycznego tworzenia rekordów w systemie. W związku z tym, jeśli użytkownik, który utworzył rekord i jest właścicielem rekordu, opuszcza organizację, członkowie users.data.root zawsze mają dostęp do wszystkich rekordów danych. Aby uzyskać więcej informacji, zapoznaj się z tematem Grupa główna danych.

  6. W miarę dodawania kolejnych członków do danej grupy OSDU istnieje limit 5000 członkostwa dla danej tożsamości zdefiniowanej przez społeczność OSDU.

Aby dowiedzieć się więcej na temat grup uruchamiania OSDU, zapoznaj się tutaj.

Pobierz listę wszystkich grup, do których masz dostęp w partycji danych

Uruchom następujące polecenie curl w usłudze Azure Cloud Shell, aby uzyskać wszystkie grupy, które są dostępne dla Ciebie lub do których masz dostęp w określonej partycji danych wystąpienia usługi Azure Data Manager for Energy.

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

Dodawanie członków do grupy OSDU w partycji danych

  1. Uruchom następujące polecenie curl w usłudze Azure Cloud Shell, aby dodać użytkowników do grupy użytkowników przy użyciu usługi uprawnień.

  2. Wartość, która ma zostać wysłana dla parametru email , to identyfikator OID użytkownika, a nie adres e-mail użytkownika.

        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"
                    }
                   '
    

    Przykładowe żądanie grupy OSDU użytkowników

    Rozważ wystąpienie usługi Azure Data Manager for Energy o nazwie medstest z partycją danych o nazwie dp1.

        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"
                    }'
    

    Przykładowa odpowiedź

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

    Przykładowe żądanie grupy OSDU edytora usług prawnych

        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"
                    }'
    

    Ważne

    Identyfikator aplikacji jest domyślnym właścicielem wszystkich grup.

    Zrzut ekranu przedstawiający identyfikator aplikacji w identyfikatorze Entra firmy Microsoft.

Pobieranie grup OSDU dla danego użytkownika w partycji danych

  1. Uruchom następujące polecenie curl w usłudze Azure Cloud Shell, aby pobrać wszystkie grupy skojarzone z użytkownikiem.

        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>'
    

    Przykładowe żądanie

    Rozważ wystąpienie usługi Azure Data Manager for Energy o nazwie medstest z partycją danych o nazwie dp1.

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

    Przykładowa odpowiedź

        {
        "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"
            }
        ]
        }
    

Usuwanie elementu członkowskiego z grupy w partycji danych

  1. Uruchom następujące polecenie curl w usłudze Azure Cloud Shell, aby usunąć określonego członka z grupy.

  2. Jeśli interfejs API spróbuje usunąć członka z users@ grupy, ale członek jest już częścią innych grup, żądanie interfejsu API zakończy się niepowodzeniem. Aby usunąć członka z users@ grupy, a tym samym z partycji danych, możesz użyć polecenia Usuń.

        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>'
    

Usuwanie określonego użytkownika ze wszystkich grup w partycji danych

  1. Uruchom następujące polecenie curl w usłudze Azure Cloud Shell, aby usunąć określonego użytkownika z określonej partycji danych.

  2. Nie usuwaj właściciela grupy, chyba że masz innego właściciela, który może zarządzać użytkownikami w tej grupie. Chociaż użytkownik.data.root jest domyślnym i trwałym właścicielem wszystkich rekordów danych.

        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>'
    

    Przykładowe żądanie

    Rozważ wystąpienie usługi Azure Data Manager for Energy o nazwie medstest z partycją danych o nazwie dp1.

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

    Przykładowa odpowiedź

    Brak danych wyjściowych pomyślnej odpowiedzi.

Następne kroki

Po dodaniu użytkowników do grup możesz:

Możesz również pozyskiwać dane do wystąpienia usługi Azure Data Manager for Energy: