Dela via


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

Hämta objekt-ID

Azure-objekt-ID (OID) är Microsoft Entra-användar-OID.

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

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

    Skärmbild som visar hur du hittar objekt-ID:t från Microsoft Entra-ID: t.

    Skärmbild som visar hur du hittar OID från profilen.

Första gången användare läggs till i en ny datapartition

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

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

  3. client-id Använd åtkomsttoken för att utföra följande steg med hjälp av kommandona som beskrivs i följande avsnitt:

    1. Lägg till användaren i users@<data-partition-id>.<domain> OSDU-gruppen med rollen ÄGARE.
    2. 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.
  4. 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:

    1. Hämta administratörens autentiseringstoken med hjälp av Generera användaråtkomsttoken med samma client-id värden och client-secret värden.
    2. 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.
    3. Lägg till fler användare i den OSDU-gruppen med hjälp av administratörens åtkomsttoken.
  5. 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 medlemmarna users.data.root i alltid åtkomst till alla dataposter. Mer information finns i Datarotgrupp.

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

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

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

    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.

    Skärmbild som visar app-ID i Microsoft Entra-ID.

Hämta OSDU-grupper för en viss användare i en datapartition

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

    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

  1. Kör följande curl-kommando i Azure Cloud Shell för att ta bort en specifik medlem från en grupp.

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

  1. Kör följande curl-kommando i Azure Cloud Shell för att ta bort en specifik användare från en specifik datapartition.

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

    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: