Hantera användare i Azure Data Manager for Energy
I den här artikeln får du lära dig hur du hanterar användare och deras medlemskap i OSDU-grupper i Azure Data Manager for Energy. API:er för berättiganden används för att lägga till eller ta bort användare i OSDU-grupper och för att kontrollera berättigandena när användaren försöker komma åt OSDU-tjänsterna eller data. Mer information om osdu-gruppbegrepp finns i Berättiganden.
Förutsättningar
- Skapa en Azure Data Manager för Energy-instans. Se Skapa Azure Data Manager för Energy-instans.
- Hämta olika parametrar för din instans, till exempel
client-id
ochclient-secret
. Se Så här genererar du autentiseringstoken. - Generera den åtkomsttoken för tjänstens huvudnamn som behövs för att anropa API:er för berättigande. Se Så här genererar du autentiseringstoken.
- Behåll alla parametervärden till hands. De behövs för att köra olika användarhanteringsbegäranden via berättigande-API:et.
Hämta objekt-ID
Azure-objekt-ID (OID) är Microsoft Entra-användar-OID.
Leta reda på användarnas OID först. Om du hanterar ett programs åtkomst måste du hitta och använda program-ID (eller klient-ID) i stället för OID.
Ange OID för användarna (eller programmet eller klient-ID:t om du hanterar åtkomst för ett program) som parametrar i anropen till berättigande-API:et för din Azure Data Manager for Energy-instans. Du kan inte använda användarens e-post-ID i parametern och måste använda objekt-ID.
Första gången användare läggs till i en ny datapartition
Om du vill lägga till den första administratören i en ny datapartition i en Azure Data Manager for Energy-instans använder du åtkomsttoken för den OID som användes för att etablera instansen.
client-id
Hämta åtkomsttoken med hjälp av Generera klient-ID-åtkomsttoken.Om du försöker använda din egen åtkomsttoken direkt för att lägga till rättigheter resulterar det i ett 401-fel. Åtkomsttoken
client-id
måste användas för att lägga till den första uppsättningen användare i systemet. Dessa användare (med administratörsåtkomst) kan sedan hantera fler användare med sin egen åtkomsttoken.client-id
Använd åtkomsttoken för att utföra följande steg med hjälp av kommandona som beskrivs i följande avsnitt:- Lägg till användaren i
users@<data-partition-id>.<domain>
OSDU-gruppen med rollen ÄGARE. - Lägg till användaren i
users.datalake.ops@<data-partition-id>.<domain>
OSDU-gruppen med rollen ÄGARE för att ge åtkomst till alla tjänstgrupper.
- Lägg till användaren i
Användaren blir administratör för datapartitionen. Administratören kan sedan lägga till eller ta bort fler användare i de behörighetsgrupper som krävs:
- Hämta administratörens autentiseringstoken med hjälp av Generera användaråtkomsttoken med samma
client-id
värden ochclient-secret
värden. - Hämta OSDU-gruppen, till exempel
service.legal.editor@<data-partition-id>.<domain>
, som du vill lägga till fler användare till med hjälp av administratörens åtkomsttoken. - Lägg till fler användare i den OSDU-gruppen med hjälp av administratörens åtkomsttoken.
- Hämta administratörens autentiseringstoken med hjälp av Generera användaråtkomsttoken med samma
users.data.root
är standard och permanent ÄGARE för alla dataposter när posterna skapas automatiskt i systemet. Om användaren, som skapade posten och är ägare till posten, lämnar organisationen har medlemmarnausers.data.root
i alltid åtkomst till alla dataposter. Mer information finns i Datarotgrupp.När du lägger till fler medlemmar i en viss OSDU-grupp finns det en gräns på 5 000 medlemskap för en viss identitet enligt definitionen i OSDU-communityn.
Mer information om OSDU-bootstrap-grupperna finns här.
Hämta listan över alla grupper som du har åtkomst till i en datapartition
Kör följande curl-kommando i Azure Cloud Shell för att hämta alla grupper som är tillgängliga för dig eller som du har åtkomst till i den specifika datapartitionen i Azure Data Manager for Energy-instansen.
curl --location --request GET "https://<adme-url>/api/entitlements/v2/groups/" \
--header 'data-partition-id: <data-partition>' \
--header 'Authorization: Bearer <access_token>'
Lägga till medlemmar i en OSDU-grupp i en datapartition
Kör följande curl-kommando i Azure Cloud Shell för att lägga till användarna i användargruppen med hjälp av berättigandetjänsten.
Värdet som ska skickas för parametern
email
är användarens OID och inte användarens e-postadress.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" } '
Exempelbegäran för användares OSDU-grupp
Överväg en Azure Data Manager for Energy-instans med namnet
medstest
med en datapartition med namnetdp1
.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" }'
Exempelsvar
{ "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX", "role": "MEMBER" }
Exempelbegäran för OSDU-grupp för juridiska tjänstredigerare
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" }'
Viktigt!
App-ID:t är standardägaren för alla grupper.
Hämta OSDU-grupper för en viss användare i en datapartition
Kör följande curl-kommando i Azure Cloud Shell för att hämta alla grupper som är associerade med användaren.
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>'
Exempelbegäran
Överväg en Azure Data Manager for Energy-instans med namnet
medstest
med en datapartition med namnetdp1
.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.............'
Exempelsvar
{ "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" } ] }
Ta bort en medlem från en grupp i en datapartition
Kör följande curl-kommando i Azure Cloud Shell för att ta bort en specifik medlem från en grupp.
Om API:et försöker ta bort en medlem från
users@
gruppen men medlemmen redan ingår i andra grupper misslyckas API-begäran. Om du vill ta bort medlemmen frånusers@
gruppen och därmed från datapartitionen kan du använda kommandot Ta bort.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>'
Ta bort en specifik användare från alla grupper i en datapartition
Kör följande curl-kommando i Azure Cloud Shell för att ta bort en specifik användare från en specifik datapartition.
Ta inte bort ägaren av en grupp om du inte har en annan ÄGARE som kan hantera användare i gruppen. Även om users.data.root är standard och permanent ägare av alla dataposter.
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>'
Exempelbegäran
Överväg en Azure Data Manager for Energy-instans med namnet
medstest
med en datapartition med namnetdp1
.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.............'
Exempelsvar
Inga utdata för ett lyckat svar.
Nästa steg
När du har lagt till användare i grupperna kan du:
Du kan också mata in data i din Azure Data Manager for Energy-instans: