Gebruikers beheren in Azure Data Manager for Energy
In dit artikel leert u hoe u gebruikers en hun lidmaatschappen beheert in OSDU-groepen in Azure Data Manager for Energy. Api's voor rechten worden gebruikt om gebruikers toe te voegen aan of te verwijderen uit OSDU-groepen en om de rechten te controleren wanneer de gebruiker toegang probeert te krijgen tot de OSDU-services of -gegevens. Zie Rechten voor meer informatie over osdu-groepsconcepten.
Vereisten
- Maak een Azure Data Manager for Energy-exemplaar. Zie Hoe u een Azure Data Manager for Energy-exemplaar maakt.
- Verschillende parameters van uw exemplaar ophalen, zoals
client-id
enclient-secret
. Zie Hoe u een verificatietoken genereert. - Genereer het toegangstoken voor de service-principal dat nodig is om de Rechten-API's aan te roepen. Zie Hoe u een verificatietoken genereert.
- Houd alle parameterwaarden bij de hand. Ze moeten verschillende aanvragen voor gebruikersbeheer uitvoeren via de Rechten-API.
Object-id ophalen
De Azure-object-id (OID) is de Microsoft Entra-gebruikers-OID.
Zoek eerst de OID van de gebruikers. Als u de toegang van een toepassing beheert, moet u de toepassings-id (of client-id) vinden en gebruiken in plaats van de OID.
Voer de OID van de gebruikers (of de toepassing of client-id in als u de toegang voor een toepassing beheert) als parameters in de aanroepen naar de Rechten-API van uw Azure Data Manager for Energy-exemplaar. U kunt de e-mail-id van de gebruiker niet gebruiken in de parameter en moet object-id gebruiken.
Eerste keer toevoegen van gebruikers in een nieuwe gegevenspartitie
Als u de eerste beheerder wilt toevoegen aan een nieuwe gegevenspartitie van een Exemplaar van Azure Data Manager for Energy, gebruikt u het toegangstoken van de OID die is gebruikt om het exemplaar in te richten.
Haal het
client-id
toegangstoken op met behulp van een client-id-toegangstoken genereren.Als u uw eigen toegangstoken rechtstreeks probeert te gebruiken voor het toevoegen van rechten, resulteert dit in een 401-fout. Het
client-id
toegangstoken moet worden gebruikt om de eerste set gebruikers in het systeem toe te voegen. Deze gebruikers (met beheerderstoegang) kunnen vervolgens meer gebruikers beheren met hun eigen toegangstoken.Gebruik het
client-id
toegangstoken om de volgende stappen uit te voeren met behulp van de opdrachten die in de volgende secties worden beschreven:- Voeg de gebruiker toe aan de
users@<data-partition-id>.<domain>
OSDU-groep met de rol OWNER. - Voeg de gebruiker toe aan de
users.datalake.ops@<data-partition-id>.<domain>
OSDU-groep met de rol OWNER om toegang te verlenen tot alle servicegroepen.
- Voeg de gebruiker toe aan de
De gebruiker wordt de beheerder van de gegevenspartitie. De beheerder kan vervolgens meer gebruikers toevoegen aan of verwijderen uit de vereiste rechtengroepen:
- Haal het verificatietoken van de beheerder op met behulp van het token voor gebruikerstoegang genereren met dezelfde
client-id
waarden.client-secret
- Haal de OSDU-groep op, zoals
service.legal.editor@<data-partition-id>.<domain>
, waaraan u meer gebruikers wilt toevoegen met behulp van het toegangstoken van de beheerder. - Voeg meer gebruikers toe aan die OSDU-groep met behulp van het toegangstoken van de beheerder.
- Haal het verificatietoken van de beheerder op met behulp van het token voor gebruikerstoegang genereren met dezelfde
users.data.root
is de standaard- en permanente EIGENAAR van alle gegevensrecords wanneer de records automatisch worden gemaakt in het systeem. Dus als de gebruiker, die de record heeft gemaakt en de EIGENAAR van de record is, de organisatie verlaat, hebben de ledenusers.data.root
altijd toegang tot alle gegevensrecords. Bekijk de gegevenshoofdgroep voor meer informatie.Wanneer u meer leden toevoegt aan een bepaalde OSDU-groep, is er een limiet van 5000 lidmaatschappen voor een bepaalde identiteit zoals gedefinieerd door de OSDU-community.
Bekijk hier voor meer informatie over de OSDU bootstrap-groepen.
De lijst ophalen van alle groepen die u toegang hebt tot een gegevenspartitie
Voer de volgende curl-opdracht uit in Azure Cloud Shell om alle groepen op te halen waartoe u toegang hebt of waartoe u toegang hebt in de specifieke gegevenspartitie van het Azure Data Manager for Energy-exemplaar.
curl --location --request GET "https://<adme-url>/api/entitlements/v2/groups/" \
--header 'data-partition-id: <data-partition>' \
--header 'Authorization: Bearer <access_token>'
Leden toevoegen aan een OSDU-groep in een gegevenspartitie
Voer de volgende curl-opdracht uit in Azure Cloud Shell om de gebruikers toe te voegen aan de gebruikersgroep met behulp van de rechtenservice.
De waarde die moet worden verzonden voor de parameter
email
is de OID van de gebruiker en niet het e-mailadres van de gebruiker.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" } '
Voorbeeldaanvraag voor gebruikers OSDU-groep
Overweeg een Azure Data Manager for Energy-exemplaar met de naam
medstest
een gegevenspartitie met de naamdp1
.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" }'
Voorbeeldrespons
{ "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX", "role": "MEMBER" }
Voorbeeldaanvraag voor osdu-groep voor juridische service-editor
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" }'
Belangrijk
De app-id is de standaardEIGENAAR van alle groepen.
OSDU-groepen ophalen voor een bepaalde gebruiker in een gegevenspartitie
Voer de volgende curl-opdracht uit in Azure Cloud Shell om alle groepen op te halen die aan de gebruiker zijn gekoppeld.
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>'
Voorbeeldaanvraag
Overweeg een Azure Data Manager for Energy-exemplaar met de naam
medstest
een gegevenspartitie met de naamdp1
.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.............'
Voorbeeldrespons
{ "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" } ] }
Een lid verwijderen uit een groep in een gegevenspartitie
Voer de volgende curl-opdracht uit in Azure Cloud Shell om een specifiek lid uit een groep te verwijderen.
Als de API probeert een lid uit
users@
een groep te verwijderen, maar het lid al deel uitmaakt van andere groepen, mislukt de API-aanvraag. Als u lid uitusers@
de groep en dus uit de gegevenspartitie wilt verwijderen, kunt u de opdracht Verwijderen gebruiken.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>'
Een specifieke gebruiker verwijderen uit alle groepen in een gegevenspartitie
Voer de volgende curl-opdracht uit in Azure Cloud Shell om een specifieke gebruiker uit een specifieke gegevenspartitie te verwijderen.
Verwijder de EIGENAAR van een groep alleen als u een andere EIGENAAR hebt die gebruikers in die groep kan beheren. Hoewel users.data.root de standaard- en permanente eigenaar van alle gegevensrecords is.
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>'
Voorbeeldaanvraag
Overweeg een Azure Data Manager for Energy-exemplaar met de naam
medstest
een gegevenspartitie met de naamdp1
.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.............'
Voorbeeldrespons
Geen uitvoer voor een geslaagd antwoord.
Volgende stappen
Nadat u gebruikers aan de groepen hebt toegevoegd, kunt u het volgende doen:
U kunt ook gegevens opnemen in uw Azure Data Manager for Energy-exemplaar: