Administración de usuarios en Azure Data Manager for Energy
En este artículo, aprenderá a administrar usuarios y sus pertenencias a grupos de OSDU en Azure Data Manager for Energy. Las API de derechos se usan para agregar o quitar usuarios a grupos de OSDU y para comprobar los derechos cuando el usuario intenta acceder a los servicios o datos de OSDU. Para obtener más información sobre los conceptos del grupo de OSDU, consulte Derechos.
Requisitos previos
- Creación de una instancia de Azure Data Manager for Energy Consulte Cómo crear instancias de Azure Data Manager for Energy.
- Obtenga varios parámetros de la instancia, como
client-id
yclient-secret
. Consulte Cómo generar el token de autenticación. - Genere el token de acceso de la entidad de servicio necesario para llamar a las API de derechos. Consulte Cómo generar el token de autenticación.
- Mantenga a mano todos los valores de parámetro. Se necesitan para ejecutar diferentes solicitudes de administración de usuarios a través de la API de derechos.
Captura de object-id
El id. de objeto (OID) de Azure es el OID de usuario de Microsoft Entra.
Busque primero el OID de los usuarios. Si va a administrar el acceso de una aplicación, debe buscar y usar el id. de aplicación (o id. de cliente) en lugar del OID.
Escriba el OID de los usuarios (o la aplicación o el id. de cliente si administra el acceso a una aplicación) como parámetros en las llamadas a la API de derechos de la instancia de Azure Data Manager for Energy. No puede usar el id. de correo electrónico del usuario en el parámetro y debe usar el id. de objeto.
Primera adición de usuarios en una nueva partición de datos
Para agregar el primer administrador a una nueva partición de datos de una instancia de Azure Data Manager for Energy, use el token de acceso del OID que se usó para aprovisionar la instancia.
Obtenga el token de acceso
client-id
mediante Generar token de acceso de client-id.Si intenta usar directamente su propio token de acceso para agregar derechos, se producirá un error 401. El token de acceso
client-id
debe usarse para agregar el primer conjunto de usuarios en el sistema. Esos usuarios (con acceso de administrador) pueden administrar más usuarios con su propio token de acceso.Use el token de acceso
client-id
para realizar los pasos siguientes mediante los comandos descritos en las secciones siguientes:- Agregue el usuario al grupo OSDU
users@<data-partition-id>.<domain>
con el rol PROPIETARIO. - Agregue el usuario al grupo OSDU
users.datalake.ops@<data-partition-id>.<domain>
con el rol PROPIETARIO para conceder acceso a todos los grupos de servicios.
- Agregue el usuario al grupo OSDU
El usuario se convierte en el administrador de la partición de datos. Después, el administrador puede agregar o quitar más usuarios de los grupos de derechos necesarios:
- Obtenga el token de autenticación del administrador mediante Generar token de acceso de usuario con los mismos valores de
client-id
yclient-secret
. - Obtenga el grupo OSDU, como
service.legal.editor@<data-partition-id>.<domain>
, al que desea agregar más usuarios mediante el token de acceso del administrador. - Agregue más usuarios a ese grupo de OSDU mediante el token de acceso de administrador.
- Obtenga el token de autenticación del administrador mediante Generar token de acceso de usuario con los mismos valores de
users.data.root
es el OWNER predeterminado y permanente de todos los registros de datos cuando los registros se crean automáticamente en el sistema. Por lo tanto, si el usuario, que ha creado el registro y es el OWNER del registro, deja la organización, los miembros deusers.data.root
siempre tienen acceso a todos los registros de datos. Para obtener más información, consulte Grupo raíz de datos.A medida que agrega más miembros a un grupo de OSDU determinado, hay un límite de 5000 pertenencias a una identidad determinada, tal como se define en la comunidad de OSDU.
Para más información sobre los grupos de arranque de OSDU, consulte aquí.
Obtener la lista de todos los grupos a los que tiene acceso en una partición de datos
Ejecute el siguiente comando curl en Azure Cloud Shell para obtener todos los grupos disponibles para usted o a los que tenga acceso en la partición de datos específica de la instancia de 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>'
Agregar miembros a un grupo de OSDU en una partición de datos
Ejecute el siguiente comando curl en Azure Cloud Shell para agregar usuarios al grupo de usuarios mediante el servicio de derechos.
El valor que se va a enviar para el parámetro
email
es el OID del usuario y no el correo electrónico del usuario.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" } '
Solicitud de ejemplo para el grupo OSDU de usuarios
Considere una instancia de Azure Data Manager for Energy denominada
medstest
con una partición de datos denominadadp1
.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" }'
Respuesta de muestra
{ "email": "90e0d063-2f8e-4244-860a-XXXXXXXXXX", "role": "MEMBER" }
Solicitud de ejemplo para el grupo OSDU del editor de servicios legales
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
El id. de aplicación es el PROPIETARIO predeterminado de todos los grupos.
Obtención de grupos de OSDU para un usuario determinado en una partición de datos
Ejecute el siguiente comando curl en Azure Cloud Bash para obtener todos los grupos asociados al usuario.
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>'
Solicitud de muestra
Considere una instancia de Azure Data Manager for Energy denominada
medstest
con una partición de datos denominadadp1
.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.............'
Respuesta de muestra
{ "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" } ] }
Quitar a un miembro de un grupo en una partición de datos
Ejecute el siguiente comando curl en Azure Cloud Shell para quitar a un miembro específico de un grupo.
Si la API intenta quitar un miembro de
users@
grupo, pero el miembro ya forma parte de otros grupos, se producirá un error en la solicitud de API. Para eliminar a un miembro delusers@
grupo y, por tanto, de la partición de datos, puede usar el comando Eliminar.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>'
Eliminación de un usuario específico de todos los grupos de una partición de datos
Ejecute el siguiente comando curl en Azure Cloud Shell para eliminar a un usuario específico de una partición de datos específica.
NO elimine al PROPIETARIO de un grupo a menos que tenga otro PROPIETARIO que pueda administrar a los usuarios de ese grupo. Aunque users.data.root es el propietario predeterminado y permanente de todos los registros de datos.
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>'
Solicitud de muestra
Considere una instancia de Azure Data Manager for Energy denominada
medstest
con una partición de datos denominadadp1
.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.............'
Respuesta de muestra
No se genera ninguna salida para una respuesta correcta.
Pasos siguientes
Después de agregar usuarios a los grupos, puede hacer lo siguiente:
También puede ingerir datos en la instancia de Azure Data Manager for Energy: