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 en client-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.

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

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

    Schermopname van het vinden van de object-id van Microsoft Entra ID.

    Schermopname van het vinden van de OID uit het profiel.

Eerste keer toevoegen van gebruikers in een nieuwe gegevenspartitie

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

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

  3. Gebruik het client-id toegangstoken om de volgende stappen uit te voeren met behulp van de opdrachten die in de volgende secties worden beschreven:

    1. Voeg de gebruiker toe aan de users@<data-partition-id>.<domain> OSDU-groep met de rol OWNER.
    2. 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.
    3. Voeg de gebruiker toe aan de users.data.root@<data-partition-id>.<domain> OSDU-groep met de rol EIGENAAR om toegang te verlenen tot alle gegevensgroepen.
  4. De gebruiker wordt de beheerder van de gegevenspartitie. De beheerder kan vervolgens meer gebruikers toevoegen aan of verwijderen uit de vereiste rechtengroepen:

    1. Haal het verificatietoken van de beheerder op met behulp van het token voor gebruikerstoegang genereren en met behulp van hetzelfde client-id en client-secret dezelfde waarden.
    2. 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.
    3. Voeg meer gebruikers toe aan die OSDU-groep met behulp van het toegangstoken van de beheerder.

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

  1. Voer de volgende curl-opdracht uit in Azure Cloud Shell om de gebruikers toe te voegen aan de gebruikersgroep met behulp van de rechtenservice.

  2. 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 naam 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"
                    }'
    

    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.

    Schermopname van de app-id in Microsoft Entra ID.

OSDU-groepen ophalen voor een bepaalde gebruiker in een gegevenspartitie

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

    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

  1. Voer de volgende curl-opdracht uit in Azure Cloud Shell om een specifiek lid uit een groep te verwijderen.

  2. 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 uit users@ 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

  1. Voer de volgende curl-opdracht uit in Azure Cloud Shell om een specifieke gebruiker uit een specifieke gegevenspartitie te verwijderen.

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

    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: