Partilhar via


Gerenciar usuários no Azure Data Manager for Energy

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

Pré-requisitos

  • Crie uma instância do Azure Data Manager for Energy. Consulte Como criar a instância do Azure Data Manager for Energy.
  • Obtenha vários parâmetros da sua instância, como client-id e client-secret. Consulte Como gerar token de autenticação.
  • Gere o token de acesso da entidade de serviço necessário para chamar as APIs de Direito. Consulte Como gerar token de autenticação.
  • Mantenha todos os valores de parâmetros à mão. Eles são necessários para executar diferentes solicitações de gerenciamento de usuários por meio da API de direitos.

Buscar object-id

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

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

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

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

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

Primeira adição de usuários 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 Azure Data Manager for Energy, use o token de acesso do OID que foi usado para provisionar a instância.

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

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

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

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

    1. Obtenha o token de autenticação do administrador usando Gerar token de acesso do usuário com os mesmos client-id valores 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.
  5. users.data.root é o PROPRIETÁRIO padrão e permanente de todos os registros de dados quando os registros são criados automaticamente no sistema. Assim, se o usuário, que criou o registro e é o PROPRIETÁRIO do registro, sai da organização, os membros do sempre têm o acesso de todos os registros de users.data.root dados. Para obter mais detalhes, consulte Grupo raiz de dados.

  6. À medida que você adiciona mais membros a um determinado grupo OSDU, há um limite de 5000 membros para uma determinada identidade, conforme definido pela comunidade OSDU.

Para saber mais sobre os grupos de bootstrap 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 Azure Data Manager for Energy.

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

Adicionar membros 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 direito.

  2. O valor a ser enviado para o parâmetro email é o OID do usuário e não o endereço de e-mail 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 Azure Data Manager for Energy nomeada 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 amostra

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

    Exemplo de pedido para o editor de serviços jurídicos do grupo OSDU

        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

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

    Captura de ecrã que mostra o ID da aplicação no Microsoft Entra ID.

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

  1. Execute o seguinte comando curl 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>'
    

    Pedido de amostra

    Considere uma instância do Azure Data Manager for Energy nomeada 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 amostra

        {
        "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 numa 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 users@ grupo, mas o membro já fizer parte de outros grupos, a solicitação da API falhará. Para remover o membro do users@ grupo 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 você tenha outro PROPRIETÁRIO que possa gerenciar 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>'
    

    Pedido de amostra

    Considere uma instância do Azure Data Manager for Energy nomeada 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 amostra

    Nenhuma saída para uma resposta bem-sucedida.

Próximos passos

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

Você também pode ingerir dados em sua instância do Azure Data Manager for Energy: