Administración de entidades de servicio
En este artículo se explica cómo crear y administrar entidades de servicio para tu cuenta y tus áreas de trabajo de Azure Databricks.
Para obtener información general sobre el modelo de identidad de Azure Databricks, consulte Identidades de Azure Databricks.
Para administrar el acceso a las entidades de servicio, vea Autenticación y control de acceso.
¿Qué es una entidad de servicio?
Una entidad de servicio es una identidad que se crea en Azure Databricks para su uso con herramientas, trabajos y aplicaciones automatizados. Las entidades de servicio proporcionan acceso de solo API de herramientas y scripts automatizados a los recursos de Azure Databricks, lo que proporciona mayor seguridad que el uso de usuarios o grupos.
Puedes conceder el acceso de una entidad de servicio a recursos de la misma manera que un usuario de Azure Databricks. Por ejemplo, puedes hacer lo siguiente:
- Asigna roles de administrador de cuenta de entidad de servicio y administrador del área de trabajo.
- Concede a una entidad de servicio acceso a los datos, ya sea en el nivel de cuenta mediante el catálogo de Unity o en el nivel de área de trabajo.
- Agrega una entidad de servicio a un grupo en el nivel de cuenta y área de trabajo, incluido el grupo de áreas de trabajo
admins
.
También puede conceder permisos a usuarios, entidades de servicio y grupos de Azure Databricks para usar entidades de servicio. Esto permite a los usuarios ejecutar trabajos como la entidad de servicio en lugar de como su identidad. Esto impedirá que se produzcan errores en los trabajos si un usuario deja la organización o se modifica un grupo.
A diferencia de un usuario de Azure Databricks, una entidad de servicio es una identidad solo de API; no se puede usar para acceder a la interfaz de usuario de Azure Databricks.
Databricks recomienda habilitar las áreas de trabajo para la federación de identidades. La federación de identidades le permite configurar entidades de servicio en la consola de la cuenta y, a continuación, asignarles acceso a áreas de trabajo específicas. Esto simplifica la administración y la gobernanza de datos de Azure Databricks.
Importante
Databricks comenzó a habilitar nuevas áreas de trabajo para la federación de identidades y Unity Catalog automáticamente el 9 de noviembre de 2023, mediante un proceso de implementación gradual entre cuentas. Si el área de trabajo está habilitada para la federación de identidades de manera predeterminada, no se puede deshabilitar. Para más información, consulte Habilitación automática de Unity Catalog.
Entidades de servicio de Databricks y Microsoft Entra ID
Las entidades de servicio pueden ser entidades de servicio administradas de Azure Databricks o entidades de servicio administradas de Microsoft Entra ID.
Las entidades de servicio administradas de Azure Databricks pueden autenticarse en Azure Databricks mediante la autenticación de OAuth de Databricks y los tokens de acceso personal. Las entidades de servicio administradas de Microsoft Entra ID pueden autenticarse en Azure Databricks mediante la autenticación de OAuth de Databricks y los tokens de Microsoft Entra ID. Para más información sobre la autenticación para entidades de servicio, consulte Administración de tokens para una entidad de servicio.
Las entidades de servicio administradas de Azure Databricks se administran directamente en Azure Databricks. Las entidades de servicio administradas de Microsoft Entra ID se administran en Microsoft Entra ID, lo que requiere permisos adicionales. Databricks recomienda usar entidades de servicio administradas de Azure Databricks para la automatización de Azure Databricks y que use entidades de servicio administradas de Microsoft Entra ID en casos en los que debe autenticarse con Azure Databricks y otros recursos de Azure al mismo tiempo.
Para crear una entidad de servicio administrada de Azure Databricks, omita esta sección y continúe leyendo en ¿Quién puede administrar y usar entidades de servicio?
Para usar entidades de servicio de Microsoft Entra ID en Azure Databricks, un usuario administrador debe crear una aplicación de Microsoft Entra ID en Azure. Para crear una entidad de servicio administrada de Id. de Microsoft Entra, consulte Autenticación de entidad de servicio de MS Entra.
¿Quién puede administrar y usar entidades de servicio?
Para administrar entidades de servicio en Azure Databricks, debe tener uno de los siguientes roles: el rol de administrador de la cuenta, el rol de administrador del área de trabajo o el rol de administrador o usuario en una entidad de servicio.
- Los administradores de la cuenta pueden agregar entidades de servicio a la cuenta y asignarles roles de administrador. También pueden asignar entidades de servicio a áreas de trabajo, siempre que usen la federación de identidades.
- Los administradores de áreas de trabajo pueden agregar entidades de servicio a un área de trabajo de Azure Databricks, asignarles el rol de administrador de área de trabajo y administrar el acceso a los objetos y la funcionalidad del área de trabajo, como la capacidad de crear clústeres o acceder a entornos específicos basados en roles.
- Los administradores de entidades de seguridad pueden administrar los roles de una entidad de seguridad. El creador de una entidad de servicio se convertirá en el administrador de la entidad de servicio. Los administradores de cuentas son administradores de todas las entidades de servicio de una cuenta.
Nota:
Si se creó una entidad de servicio antes del 13 de junio de 2023, el creador de la entidad de servicio no tiene el rol de administrador de la entidad de servicio de forma predeterminada. Pida a un administrador de cuenta que le conceda el rol de administrador de la entidad de servicio.
Los usuarios con el rol de Administrador de entidades de servicio no heredan el rol de Usuario de entidades de servicio. Si desea utilizar la entidad de seguridad de servicio para ejecutar tareas, debe asignarse explícitamente el rol de usuario de entidad de seguridad de servicio, incluso después de crear la entidad de seguridad de servicio.
- Los usuarios de la entidad de seguridad pueden ejecutar trabajos como la entidad de seguridad. El trabajo se ejecuta con la identidad de la entidad de servicio, en lugar de la identidad del propietario del trabajo. Para obtener más información, consulte Administración de identidades, permisos y privilegios para trabajos de Databricks.
Para obtener información sobre cómo conceder los roles de administrador y usuario de la entidad de seguridad del servicio, consulte Roles para administrar entidades de seguridad del servicio.
Administración de entidades de servicio en la cuenta
Los administradores de cuentas pueden agregar entidades de servicio a la cuenta de Azure Databricks mediante la consola de la cuenta.
Adición de entidades de servicio a la cuenta mediante la consola de la cuenta
Las entidades de servicio se pueden crear en Azure Databricks o vincularlas desde una entidad de servicio existente de Microsoft Entra ID. Consulte Databricks y entidades de servicio de Microsoft Entra ID.
- Como administrador de la cuenta, inicie sesión en la consola de la cuenta.
- En la barra lateral, haz clic en Administración de usuarios.
- En la pestaña Entidades de servicio, haz clic en Agregar entidad de servicio.
- En Administración, seleccione Administrado por Databricks o Administrado por Microsoft Entra ID.
- Si eligió Administrado por Microsoft Entra ID, en Id. de aplicación de Microsoft Entra, pegue el identificador de aplicación (cliente) de la entidad de servicio.
- Proporcione un nombre para la entidad de servicio.
- Haga clic en Agregar.
Asignación de roles de administrador de cuenta a una entidad de seguridad de servicio
- Como administrador de la cuenta, inicie sesión en la consola de la cuenta.
- En la barra lateral, haz clic en Administración de usuarios.
- En la pestaña Entidades de servicio, busca y haz clic en el nombre de usuario.
- En la pestaña Roles, active Administrador de cuenta o Administrador de Marketplace.
Asignación de una entidad de servicio a un área de trabajo mediante la consola de la cuenta
Para agregar usuarios a un área de trabajo mediante la consola de la cuenta, el área de trabajo debe estar habilitada para la federación de identidades. Los administradores del área de trabajo también pueden asignar entidades de servicio a áreas de trabajo mediante la página de configuración del administrador del área de trabajo. Para más detalles, consulte Agregar una entidad de servicio a un área de trabajo usando la configuración del administrador del área de trabajo.
- Como administrador de la cuenta, inicie sesión en la consola de la cuenta.
- En la barra lateral, haz clic en Área de trabajo.
- Haga clic en el nombre del área de trabajo.
- En la pestaña Permissions (Permisos), haga clic en Add permissions (Agregar permisos).
- Busca y selecciona la entidad de servicio, asigna el nivel de permiso (Usuario o Administrador del área de trabajo) y haz clic en Guardar.
Eliminar una entidad de servicio desde un área de trabajo mediante la consola de la cuenta
Para eliminar entidades de servicio desde un área de trabajo mediante la consola de la cuenta, el área de trabajo debe estar habilitada para la federación de identidades. Cuando se elimina una entidad de seguridad de un área de trabajo, ésta ya no puede acceder al área de trabajo, aunque se mantienen los permisos sobre la entidad de seguridad. Si la entidad de seguridad de servicio se vuelve a agregar posteriormente al área de trabajo, recupera sus permisos anteriores.
- Como administrador de la cuenta, inicia sesión en la consola de la cuenta.
- En la barra lateral, haz clic en Área de trabajo.
- Haga clic en el nombre del área de trabajo.
- En la pestaña Permisos, busca entidad de servicio.
- Haz clic en el menú de tres puntos verticales en el extremo derecho de la fila de entidad de servicio y selecciona Eliminar.
- En el cuadro de diálogo de confirmación, haga clic en Remove (Quitar).
Desactivación de una entidad de servicio en la cuenta de Azure Databricks
Los administradores de cuentas pueden desactivar entidades de servicio de una cuenta de Azure Databricks. Una entidad de servicio desactivada no se puede autenticar en las áreas de trabajo o la cuenta de Azure Databricks. Sin embargo, todos los permisos de las entidades de servicio y los objetos del área de trabajo permanecen sin cambios. Cuando se desactiva una entidad de servicio, se cumple lo siguiente:
- La entidad de servicio no se puede autenticar en la cuenta ni ninguna de sus áreas de trabajo desde ningún método.
- Las aplicaciones o scripts que usen los tokens que generó esa entidad de servicio ya no pueden acceder a la API de Databricks. Los tokens permanecerán, pero no se podrán usar para autenticarse mientras una entidad de servicio esté desactivada.
- Los clústeres que pertenezcan a la entidad de servicio seguirán en ejecución.
- Los trabajos programados creados por la entidad de servicio generan un error a menos que se asignen a un nuevo propietario.
Cuando se reactiva una entidad de servicio, puede iniciar sesión en Azure Databricks con los mismos permisos. Databricks recomienda desactivar las entidades de servicio de la cuenta en lugar de quitarlas porque quitar una entidad de servicio es una acción destructiva. El estado de una entidad de servicio desactivada está etiquetada como Inactivo en la consola de la cuenta. También puede desactivar una entidad de servicio desde un área de trabajo específica. Consulte Desactivación de una entidad de servicio en el área de trabajo de Azure Databricks.
No se puede desactivar una entidad de servicio mediante la consola de la cuenta. En su lugar, use la API de entidades de servicio de cuentas.
Por ejemplo:
curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.1/accounts/{account_id}/scim/v2/ServicePrincipals/{id} \
--header 'Content-type: application/scim+json' \
--data @update-sp.json \
| jq .
update-sp.json
:
{
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
"Operations": [
{
"op": "replace",
"path": "active",
"value": [
{
"value": "false"
}
]
}
]
}
Eliminación de entidades de servicio de la cuenta de Azure Databricks
Los administradores de cuentas pueden eliminar entidades de servicio de una cuenta de Azure Databricks. Los administradores de área de trabajo no pueden. Al eliminar una entidad de servicio de la cuenta, esa entidad de seguridad también se quita de tus áreas de trabajo.
Importante
Al quitar una entidad de servicio de la cuenta, esa entidad de servicio también se quitará de sus áreas de trabajo, independientemente de si se hubiera habilitado o no la federación de identidad. Se recomienda abstenerse de eliminar entidades de servicio de nivel de cuenta a menos que quieras que pierdan acceso a todas las áreas de trabajo de la cuenta. Tenga en cuenta las siguientes consecuencias que acarrea la eliminación de servicios principales:
- Las aplicaciones o scripts que usen los tokens que generó esa entidad de servicio ya no podrán acceder a las API de Databricks
- Los trabajos que pertenecen a la entidad de servicio fallan
- Los clústers que pertenecen a la entidad de servicio paran
- Las consultas o paneles que haya creado esa entidad de servicio y que se hayan compartido mediante el uso de la credencial Ejecutar como propietario tienen que asignarse a un nuevo propietario para evitar que se produzca un error de uso compartido
Cuando se elimina una entidad de seguridad de servicio de Microsoft Entra ID de una cuenta, la entidad de seguridad de servicio ya no puede acceder a la cuenta ni a sus áreas de trabajo, aunque se mantienen los permisos sobre la entidad de seguridad de servicio. Si la entidad de seguridad de servicio se vuelve a agregar posteriormente a la cuenta, recupera sus permisos anteriores.
Para quitar una entidad de servicio mediante la consola de la cuenta, haz lo siguiente:
- Como administrador de la cuenta, inicia sesión en la consola de la cuenta.
- En la barra lateral, haz clic en Administración de usuarios.
- En la pestaña Entidades de servicio, busca y haz clic en el nombre de usuario.
- En la pestaña Información principal, haz clic en el menú de tres puntos en la esquina superior derecha y selecciona Eliminar.
- En el cuadro de diálogo de confirmación, haz clic en Confirmar eliminación.
Administración de entidades de servicio en el área de trabajo
Los administradores del área de trabajo pueden administrar las entidades de servicio en sus áreas de trabajo usando la página de configuración del administrador del área de trabajo.
Agregar una entidad de servicio a un área de trabajo mediante la configuración de administración del área de trabajo
Las entidades de servicio se pueden crear en Azure Databricks o vincularlas desde una entidad de servicio existente de Microsoft Entra ID. Consulte Databricks y entidades de servicio de Microsoft Entra ID.
Como administrador del área de trabajo, inicia sesión en el área de trabajo de Azure Databricks.
Haga clic en su nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Configuración.
Haga clic en la pestaña Identidad y acceso.
Junto a Entidades de servicio, haga clic en Administrar.
Haga clic en Agregar entidad de servicio.
Seleccione una entidad de servicio existente para asignar al área de trabajo o haga clic en Agregar nuevo para crear una nueva.
Para agregar una nueva entidad de servicio, elija Administrado por Databricks o Administrado por Microsoft Entra ID. Si elige Administrado por Microsoft Entra ID, pegue el identificador de aplicación (cliente) de la entidad de servicio y escriba un nombre para mostrar.
Haga clic en Agregar.
Nota:
Si el área de trabajo no está habilitada para la federación de identidades, no puedes asignar entidades de servicio existentes al área de trabajo.
Asignar el rol de administrador del área de trabajo a una entidad de servicio mediante la página de configuración de la administración del área de trabajo
- Como administrador del área de trabajo, inicia sesión en el área de trabajo de Azure Databricks.
- Haga clic en su nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Configuración.
- Haga clic en la pestaña Identidad y acceso.
- Junto a Grupos, haga clic en Administrar.
- Seleccione el grupo del sistema
admins
. - Haga clic en Agregar miembros.
- Selecciona la entidad de servicio y haz clic en Confirmar.
Para eliminar la función de administrador del área de trabajo de una entidad de servicio, elimina la entidad de servicio del grupo de administradores.
Desactivación de una entidad de servicio en el área de trabajo de Azure Databricks
Los administradores del área de trabajo pueden desactivar entidades de servicio en áreas de trabajo de Azure Databricks. Una entidad de servicio desactivada no puede acceder al área de trabajo desde las API de Azure Databricks. Sin embargo, todos los permisos y objetos del área de trabajo de la entidad de servicio permanecerán sin cambios. Cuando se desactiva una entidad de servicio:
- La entidad de servicio no se puede autenticar en las áreas de trabajo desde ningún método.
- El estado de la entidad de seguridad de servicio se muestra como Inactivo en la página de configuración del administrador del área de trabajo.
- Las aplicaciones o scripts que usen los tokens que generó esa entidad de servicio ya no podrán acceder a la API de Databricks. Los tokens permanecerán, pero no se podrán usar para autenticarse mientras una entidad de servicio esté desactivada.
- Los clústeres que pertenezcan a la entidad de servicio seguirán en ejecución.
- Los trabajos programados creados por la entidad de servicio deben asignarse a un nuevo propietario para evitar que se produzcan errores.
Cuando se reactiva una entidad de servicio, puede autenticarse en el área de trabajo con los mismos permisos. Databricks recomienda desactivar las entidades de servicio en lugar de quitarlas porque quitar una entidad de servicio es una acción destructiva.
- Como administrador del área de trabajo, inicia sesión en el área de trabajo de Azure Databricks.
- Haga clic en su nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Configuración.
- Haga clic en la pestaña Identidad y acceso.
- Junto a Entidades de servicio, haga clic en Administrar.
- Seleccione la entidad de servicio que desea desactivar.
- En Estado, desactive Activo.
Para establecer una entidad de servicio en activa, realice los mismos pasos, pero active la casilla en su lugar.
Quitar una entidad de servicio de un área de trabajo mediante la página de configuración de la administración del área de trabajo
Quitar una entidad de servicio de un área de trabajo no quita la entidad de servicio de la cuenta. Para quitar una entidad de servicio de su cuenta, consulte Eliminación de entidades de servicio de la cuenta de Azure Databricks.
Cuando se elimina una entidad de seguridad de un área de trabajo, ésta ya no puede acceder al área de trabajo, aunque se mantienen los permisos sobre la entidad de seguridad. Si la entidad de seguridad de servicio se vuelve a agregar posteriormente a un área de trabajo, recupera sus permisos anteriores.
- Como administrador del área de trabajo, inicia sesión en el área de trabajo de Azure Databricks.
- Haga clic en su nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Configuración.
- Haga clic en la pestaña Identidad y acceso.
- Junto a Entidades de servicio, haga clic en Administrar.
- Seleccione la entidad de servicio.
- En la esquina superior derecha, haga clic en Eliminar.
- Haga clic en Delete (Eliminar) para confirmar.
Administración de entidades de seguridad de servicio usando la API
Los administradores de cuentas y de áreas de trabajo pueden administrar entidades de servicio en la cuenta de Azure Databricks y en las áreas de trabajo usando las API de Databricks. Para administrar roles en una entidad de servicio mediante la API, consulte Administración de roles de entidad de servicio mediante la CLI de Databricks.
Administración de entidades de servicio en la cuenta mediante la API
Los administradores pueden agregar y administrar entidades de servicio en la cuenta de Azure Databricks usando la API de entidades de servicio de cuentas. Los administradores de la cuenta y los administradores del área de trabajo invocan la API mediante una dirección URL de punto de conexión diferente:
- Los administradores de cuenta usan
{account-domain}/api/2.1/accounts/{account_id}/scim/v2/
. - Los administradores de área de trabajo usan
{workspace-domain}/api/2.0/account/scim/v2/
.
Para más detalles, consulte la API de entidades de servicio de cuentas.
Administración de entidades de servicio en el área de trabajo mediante la API
Los administradores de cuentas y áreas de trabajo pueden usar la API de asignación de áreas de trabajo para asignar entidades de servicio a las áreas de trabajo habilitadas para la federación de identidades. La API de asignación de áreas de trabajo se admite a través de las áreas de trabajo y la cuenta de Azure Databricks.
- Los administradores de cuenta usan
{account-domain}/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignments
. - Los administradores de área de trabajo usan
{workspace-domain}/api/2.0/preview/permissionassignments/principals/{principal_id}
.
Consulta API de asignación de áreas de trabajo.
Si su área de trabajo no está habilitada para la federación de identidades, un administrador del área de trabajo puede usar las API del área de trabajo para asignar entidades de servicio a sus áreas de trabajo. Consulte API de entidades de servicio del área de trabajo.
Administración de tokens de acceso para una entidad de servicio
Las entidades de servicio se pueden autenticar en las API de Azure Databricks mediante tokens de OAuth de Azure Databricks o tokens de acceso personal de Azure Databricks, como se indica a continuación:
- Los tokens de OAuth de Azure Databricks se pueden usar para autenticarse en las API de nivel de cuenta y de área de trabajo de Azure Databricks.
- Los tokens de OAuth de Azure Databricks que se crean en el nivel de cuenta de Azure Databricks se pueden usar para autenticarse en las API de nivel de cuenta y de nivel de área de trabajo de Azure Databricks.
- Los tokens de OAuth de Azure Databricks que se crean en el nivel de área de trabajo de Azure Databricks se pueden usar para autenticarse solo en las API de nivel de área de trabajo de Azure Databricks.
- Los tokens de acceso personal de Azure Databricks se pueden usar para autenticarse solo en las API de nivel de área de trabajo de Azure Databricks.
Administración de la autenticación de OAuth de Databricks para una entidad de servicio
Para autenticarse en las API REST de Databricks de nivel de cuenta y de área de trabajo, los administradores de cuentas pueden usar tokens de OAuth de Azure Databricks para entidades de servicio. Puede solicitar un token de OAuth mediante el identificador de cliente y un secreto de cliente para la entidad de servicio. Para obtener más información, consulte Autenticación del acceso a Azure Databricks con una entidad de servicio mediante OAuth (OAuth M2M).
Consulte también
Para más información sobre cómo trabajar con entidades de servicio como desarrollador que trabaja con la CLI de Azure Databricks o las API rest de Azure Databricks, consulte Autenticación del acceso a Azure Databricks con una entidad de servicio mediante OAuth (OAuth M2M).
Para más información sobre cómo trabajar con identidades de servicio administradas de Microsoft (MSI) o tokens de acceso de Microsoft Entra, consulte Autenticación de identidades administradas de Azure y autenticación de entidad de servicio ms Entra respectivamente.