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
- Utwórz wystąpienie usługi Azure Data Manager dla usługi Energy. Zobacz How to create Azure Data Manager for Energy instance (Jak utworzyć usługę Azure Data Manager dla wystąpienia energii).
- Pobierz różne parametry wystąpienia, takie jak
client-id
iclient-secret
. Zobacz Jak wygenerować token uwierzytelniania. - Wygeneruj token dostępu jednostki usługi, który jest wymagany do wywołania interfejsów API uprawnień. Zobacz Jak wygenerować token uwierzytelniania.
- Zachowaj wszystkie wartości parametrów przydatne. Są one potrzebne do uruchamiania różnych żądań zarządzania użytkownikami za pośrednictwem interfejsu API uprawnień.
Pobieranie identyfikatora obiektu
Identyfikator obiektu platformy Azure (OID) to identyfikator OID użytkownika firmy Microsoft Entra.
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.
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.
Dodawanie użytkowników po raz pierwszy do nowej partycji danych
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.
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.Użyj tokenu
client-id
dostępu, aby wykonać następujące kroki, korzystając z poleceń opisanych w poniższych sekcjach:- Dodaj użytkownika do
users@<data-partition-id>.<domain>
grupy OSDU z rolą OWNER. - 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.
- Dodaj użytkownika do
Użytkownik staje się administratorem partycji danych. Administrator może następnie dodać lub usunąć więcej użytkowników do wymaganych grup uprawnień:
- Pobierz token uwierzytelniania administratora przy użyciu pozycji Generuj token dostępu użytkownika z tymi samymi
client-id
wartościami iclient-secret
. - 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. - Dodaj więcej użytkowników do tej grupy OSDU przy użyciu tokenu dostępu administratora.
- Pobierz token uwierzytelniania administratora przy użyciu pozycji Generuj token dostępu użytkownika z tymi samymi
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łonkowieusers.data.root
zawsze mają dostęp do wszystkich rekordów danych. Aby uzyskać więcej informacji, zapoznaj się z tematem Grupa główna danych.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
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ń.
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 nazwiedp1
.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.
Pobieranie grup OSDU dla danego użytkownika w partycji danych
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 nazwiedp1
.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
Uruchom następujące polecenie curl w usłudze Azure Cloud Shell, aby usunąć określonego członka z grupy.
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 zusers@
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
Uruchom następujące polecenie curl w usłudze Azure Cloud Shell, aby usunąć określonego użytkownika z określonej partycji danych.
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 nazwiedp1
.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: