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
eclient-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.
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.
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.
Primeira adição de usuários em uma nova partição de dados
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.
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.Use o
client-id
token de acesso para executar as seguintes etapas usando os comandos descritos nas seguintes seções:- Adicione o usuário ao
users@<data-partition-id>.<domain>
grupo OSDU com a função OWNER. - 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.
- Adicione o usuário ao
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:
- Obtenha o token de autenticação do administrador usando Gerar token de acesso do usuário com os mesmos
client-id
valores eclient-secret
. - 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. - Adicione mais usuários a esse grupo OSDU usando o token de acesso do administrador.
- Obtenha o token de autenticação do administrador usando Gerar token de acesso do usuário com os mesmos
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 deusers.data.root
dados. Para obter mais detalhes, consulte Grupo raiz de dados.À 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
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.
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 chamadadp1
.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.
Obter grupos OSDU para um determinado usuário em uma partição de dados
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 chamadadp1
.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
Execute o seguinte comando curl no Azure Cloud Shell para remover um membro específico de um grupo.
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 dousers@
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
Execute o seguinte comando curl no Azure Cloud Shell para excluir um usuário específico de uma partição de dados específica.
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 chamadadp1
.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: