Share via


Gerenciar usuários no Gerenciador de Dados do Azure para Energia

Neste artigo, você aprenderá a gerenciar usuários e suas associações em grupos OSDU no Gerenciador de Dados do Azure para Energia. As APIs de Direitos são usadas para remover ou adicionar usuários a grupos OSDU e verificar os direitos quando o usuário tenta acessar os serviços ou dados da OSDU. Para obter mais informações sobre conceitos do grupo OSDU, consulte Direitos.

Pré-requisitos

Busca a id de objeto

A ID do objeto do Azure (OID) é a OID do usuário do Microsoft Entra.

  1. Localize a OID dos usuários primeiro. Se você estiver gerenciando o acesso de um aplicativo, deverá encontrar e usar a ID do aplicativo (ou a ID do cliente) em vez da OID.

  2. Insira a OID dos usuários (ou a ID do aplicativo ou do cliente se estiver gerenciando o acesso a um aplicativo) como parâmetros nas chamadas à API de Direitos da instância do Gerenciador de Dados do Azure para Energia. Você não pode usar a ID do email do usuário no parâmetro e deve usar a ID do objeto.

    Captura de tela que mostra a localização da ID do objeto do Microsoft Entra ID.

    Captura de tela que mostra a localização da OID do perfil.

Adição de usuários pela primeira vez em uma nova partição de dados

  1. Para adicionar o primeiro administrador a uma nova partição de dados de uma instância do Gerenciador de Dados do Azure para Energia, use o token de acesso do OID que foi usado para provisionar a instância.

  2. Obtenha o token de acesso client-id usando Gerar token de acesso à id do cliente.

    Se você tentar usar diretamente seu próprio token de acesso para adicionar direitos, isso resultará em um erro 401. O token de acesso client-id deve ser usado para adicionar o primeiro conjunto de usuários ao sistema. Esses usuários (com acesso de administrador) podem gerenciar mais usuários com seu próprio token de acesso.

  3. Use o token de acesso client-id para executar as seguintes etapas usando os comandos descritos nas seguintes seções:

    1. Adicione o usuário ao grupo OSDU users@<data-partition-id>.<domain> com a função OWNER.
    2. Adicione o usuário ao grupo OSDU users.datalake.ops@<data-partition-id>.<domain> com a função OWNER para conceder acesso a todos os grupos de serviços.
    3. Adicione o usuário ao grupo OSDU users.data.root@<data-partition-id>.<domain> com a função OWNER para conceder acesso a todos os grupos de dados.
  4. O usuário se torna o administrador da partição de dados. O administrador pode remover ou adicionar mais usuários aos grupos de direitos necessários:

    1. Obtenha o token de autenticação do administrador usando Gerar token de acesso do usuário e usando os mesmos valores client-id e client-secret.
    2. Obtenha o grupo OSDU, como service.legal.editor@<data-partition-id>.<domain>, ao qual você deseja adicionar mais usuários usando o token de acesso do administrador.
    3. Adicione mais usuários a esse grupo OSDU usando o token de acesso do administrador.

Para saber mais sobre os grupos de inicialização OSDU, confira aqui.

Obter a lista de todos os grupos aos quais você tem acesso em uma partição de dados

Execute o seguinte comando curl no Azure Cloud Shell para obter todos os grupos que estão disponíveis para você ou aos quais você tem acesso na partição de dados específica da instância do Gerenciador de Dados do Azure para Energia.

    curl --location --request GET "https://<adme-url>/api/entitlements/v2/groups/" \
    --header 'data-partition-id: <data-partition>' \
    --header 'Authorization: Bearer <access_token>'

Adicionar usuários a um grupo OSDU em uma partição de dados

  1. Execute o seguinte comando curl no Azure Cloud Shell para adicionar os usuários ao grupo de usuários usando o serviço de direitos.

  2. O valor a ser enviado para o parâmetro email é o OID do usuário e não o email do usuário.

        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"
                    }
                   '
    

    Solicitação de exemplo para usuários do grupo OSDU

    Considere uma instância do Gerenciador de Dados do Azure para Energia chamada medstest com uma partição de dados chamada 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"
                    }'
    

    Resposta de exemplo

        {
            "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX",
            "role": "MEMBER"
        }
    

    Solicitação de exemplo para o grupo OSDU do editor de serviços legais

        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"
                    }'
    

    Importante

    A ID do aplicativo é o PROPRIETÁRIO padrão de todos os grupos.

    Captura de tela que mostra a ID do aplicativo no Microsoft Entra ID.

Obter grupos OSDU para um determinado usuário em uma partição de dados

  1. Execute o comando curl abaixo no Azure Cloud Shell para obter todos os grupos associados ao usuário.

        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>'
    

    Solicitação de exemplo

    Considere uma instância do Gerenciador de Dados do Azure para Energia chamada medstest com uma partição de dados chamada 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.............'
    

    Resposta de exemplo

        {
        "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"
            }
        ]
        }
    

Remover um membro de um grupo em uma partição de dados

  1. Execute o seguinte comando curl no Azure Cloud Shell para remover um membro específico de um grupo.

  2. Se a API tentar remover um membro do grupo users@, mas o membro já fizer parte de outros grupos, a solicitação de API não será atendida. Para remover o membro do grupo users@ e, portanto, da partição de dados, você pode usar o comando Excluir.

        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>'
    

Excluir um usuário específico de todos os grupos em uma partição de dados

  1. Execute o seguinte comando curl no Azure Cloud Shell para excluir um usuário específico de uma partição de dados específica.

  2. NÃO exclua o PROPRIETÁRIO de um grupo, a menos que outro PROPRIETÁRIO possa gerenciar os usuários nesse grupo. Embora users.data.root seja o proprietário padrão e permanente de todos os registros de dados.

        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>'
    

    Solicitação de exemplo

    Considere uma instância do Gerenciador de Dados do Azure para Energia chamada medstest com uma partição de dados chamada 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.............'
    

    Resposta de exemplo

    Nenhuma saída para uma resposta bem-sucedida.

Próximas etapas

Depois de adicionar usuários aos grupos, você pode:

Também pode ingerir dados na sua instância do Gerenciador de Dados do Azure para Energia: