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
- Criar uma instância do Gerenciador de Dados do Azure para Energia. Consulte Como criar uma instância do Gerenciador de Dados do Azure para Energia.
- Obtenha vários parâmetros de sua instância, como
client-id
eclient-secret
. Consulte Como gerar um token de autenticação. - Gere o token de acesso da entidade de serviço necessário para chamar as APIs de Direitos. Consulte Como gerar um token de autenticação.
- Mantenha todos os valores dos parâmetros à mão. Eles são necessários para executar diferentes solicitações de gerenciamento de usuário por meio da API de Direitos.
Busca a id de objeto
A ID do objeto do Azure (OID) é a OID do usuário do Microsoft Entra.
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.
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.
Adição de usuários pela primeira vez em uma nova partição de dados
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.
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.Use o token de acesso
client-id
para executar as seguintes etapas usando os comandos descritos nas seguintes seções:- Adicione o usuário ao grupo OSDU
users@<data-partition-id>.<domain>
com a função OWNER. - 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.
- Adicione o usuário ao grupo OSDU
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:
- Obtenha o token de autenticação do administrador usando Gerar token de acesso do usuário com os mesmos valores
client-id
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 valores
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. Portanto, se o usuário, que criou o registro e é o PROPRIETÁRIO do registro, sair da organização, os membros dousers.data.root
sempre terão o acesso de todos os registros de dados. Para obter mais detalhes, confira o Grupo Raiz de Dados.À medida que você adiciona mais membros a um determinado grupo OSDU, há um limite de 5.000 associações para uma determinada identidade, conforme definido pela comunidade OSDU.
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
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.
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 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 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.
Obter grupos OSDU para um determinado usuário em uma partição de dados
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 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 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
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 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 grupousers@
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 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 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 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: