Funciones de administración de los principales de servicio

En este artículo se describe cómo administrar las funciones de los principales de servicio en su cuenta de Azure Databricks.

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.

Puede conceder a los usuarios de Azure Databricks, a los principales de servicio y a los grupos de cuentas acceso para utilizar un principal 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.

Para obtener una visión general de los principales de servicio, consulte Administrar principales de servicio.

Funciones principales del servicio

Las funciones principales de servicio son funciones de nivel de cuenta. Esto significa que solo tienen que definirse una vez, en su cuenta, y se aplican a todas las áreas de trabajo. Hay dos roles que puede conceder en una entidad de servicio: Administrador de entidades de servicio y Usuario de entidades de servicio.

  • Administrador de entidades de servicio permite administrar roles en una entidad de servicio. El creador de una entidad de servicio tiene el rol Administrador de entidades de servicio en la entidad de servicio. Los administradores de cuentas tienen el rol de Administrador de entidades de servicio en todas las entidades de servicio de una cuenta.

Nota:

Si una entidad de servicio se creó antes del 13 de junio de 2023, el creador de la entidad de servicio no tiene el rol de Administrador de entidades de servicio de forma predeterminada. Si necesita ser administrador, pida a un administrador de cuenta que le conceda el rol de Administrador de entidades de servicio.

  • Usuario de entidades de servicio permite a los usuarios de áreas de trabajo ejecutar trabajos como entidad de servicio. El trabajo se ejecutará con la identidad de la entidad de servicio, en lugar de la identidad del propietario del trabajo.

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.

Nota:

Los roles principales del servicio Azure Databricks no se solapan con los roles de Azure ni con los roles de Microsoft Entra ID (anteriormente, Azure Active Directory). Estas funciones solo abarcan la cuenta Azure Databricks.

Administrar las funciones de las entidades de seguridad mediante la consola de cuentas

Los administradores de cuentas pueden administrar las funciones de las entidades de seguridad a través de la consola de cuentas.

Ver las funciones de una entidad de seguridad de servicio

  1. Como administrador de la cuenta, inicie sesión en la consola de la cuenta.
  2. En la barra lateral, haz clic en Administración de usuarios.
  3. En la pestaña Entidades de servicio, busque y haga clic en el nombre.
  4. Haga clic en la pestaña Permisos.

Puede ver la lista de entidades de seguridad y las funciones que tienen asignadas en la entidad de seguridad. También puede utilizar la barra de búsqueda para buscar un director o una función concretos.

Conceder funciones en una entidad de seguridad

  1. Como administrador de la cuenta, inicie sesión en la consola de la cuenta.

  2. En la barra lateral, haz clic en Administración de usuarios.

  3. En la pestaña Entidades de servicio, busque y haga clic en el nombre.

  4. Haga clic en la pestaña Permisos.

  5. Haga clic en Conceder acceso.

  6. Busque y seleccione el usuario, la entidad de seguridad o el grupo y elija la función o funciones (Entidad de seguridad: Administrador o Entidad de seguridad: Usuario) que desea asignar.

    Nota:

    Los usuarios con el rol de Administrador de entidades de servicio no heredan el rol de Usuario de entidades de servicio. Si desea que el usuario utilice la entidad de servicio para ejecutar trabajos, deberá asignar explícitamente el rol de Usuario de entidad de servicio.

  7. Haga clic en Save(Guardar).

Revocar funciones en una entidad de seguridad

  1. Como administrador de la cuenta, inicie sesión en la consola de la cuenta.
  2. En la barra lateral, haz clic en Administración de usuarios.
  3. En la pestaña Entidades de servicio, busque y haga clic en el nombre.
  4. Haga clic en la pestaña Permisos.
  5. Busque el usuario, la entidad de seguridad o el grupo para editar sus funciones.
  6. En la fila con el director, haga clic en el menú Elipsis vertical y seleccione Editar. Como alternativa, seleccione Eliminar para revocar todas las funciones de la entidad de seguridad.
  7. Haga clic en Editar.
  8. Haga clic en la X situada junto a las funciones que desea revocar.
  9. Haga clic en Save(Guardar).

Administrar las funciones de la entidad de seguridad mediante la página de configuración del administrador del área de trabajo

Los administradores del área de trabajo pueden administrar las funciones de las entidades de seguridad para las entidades de seguridad en las que tienen la función Administrador de entidades de seguridad mediante la página de configuración del administrador.

Ver las funciones de una entidad de seguridad de servicio

  1. Como administrador del área de trabajo, inicia sesión en el área de trabajo de Azure Databricks.
  2. Haga clic en su nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Configuración.
  3. Haga clic en la pestaña Identidad y acceso.
  4. Junto a Entidades de servicio, haga clic en Administrar.
  5. Busque y haga clic en el nombre.
  6. Haga clic en la pestaña Permisos.

Puede ver la lista de entidades de seguridad y las funciones que tienen asignadas en la entidad de seguridad. También puede utilizar la barra de búsqueda para buscar un director o una función concretos.

Conceder funciones en una entidad de seguridad

Debe tener la función Administrador de entidades de seguridad en una entidad de seguridad para poder otorgar funciones.

  1. Como administrador del área de trabajo, inicia sesión en el área de trabajo de Azure Databricks.

  2. Haga clic en su nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Configuración.

  3. Haga clic en la pestaña Identidad y acceso.

  4. Junto a Entidades de servicio, haga clic en Administrar.

  5. Busque y haga clic en el nombre.

  6. Haga clic en la pestaña Permisos.

  7. Haga clic en Conceder acceso.

  8. Busque y seleccione el usuario, la entidad de seguridad o el grupo y elija la función o funciones (Entidad de seguridad: Administrador o Entidad de seguridad: Usuario) que desea asignar.

    Nota:

    Las funciones se pueden conceder a cualquier usuario de nivel de cuenta, entidad de seguridad o grupo, aunque no sean miembros del área de trabajo. No se pueden conceder roles a grupos locales del área de trabajo.

    Los usuarios con el rol de Administrador de entidades de servicio no heredan el rol de Usuario de entidades de servicio. Si desea que el usuario utilice la entidad de servicio para ejecutar trabajos, deberá asignar explícitamente el rol de Usuario de entidad de servicio.

  9. Haga clic en Save(Guardar).

Revocar funciones en una entidad de seguridad

Para poder revocar funciones, debe tener la función Administrador de entidades de seguridad de servicio en una entidad de seguridad.

  1. Como administrador del área de trabajo, inicia sesión en el área de trabajo de Azure Databricks.
  2. Haga clic en su nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Configuración.
  3. Haga clic en la pestaña Identidad y acceso.
  4. Junto a Entidades de servicio, haga clic en Administrar.
  5. Busque y haga clic en el nombre.
  6. Haga clic en la pestaña Permisos.
  7. Busque el usuario, la entidad de seguridad o el grupo para editar sus funciones.
  8. En la fila con el director, haga clic en el menú Elipsis vertical y seleccione Editar. Como alternativa, seleccione Eliminar para revocar todas las funciones de la entidad de seguridad.
  9. Haga clic en Editar.
  10. Haga clic en la X situada junto a las funciones que desea revocar.
  11. Haga clic en Save(Guardar).

Administrar los roles de las entidades de servicio mediante la CLI de Databricks

Es necesario tener el rol Administrador de la entidad de servicio para administrar roles en una entidad de servicio. Es posible usar la CLI de Databricks para administrar roles. Para obtener información sobre cómo instalar y autenticar en la CLI de Databricks, consulte ¿Qué es la CLI de Databricks?.

También es posible administrar los roles de las entidades de servicio mediante la API de control de acceso a cuentas. La API de control de acceso a cuentas es compatible con la cuenta y las áreas de trabajo de Azure Databricks.

Los administradores de cuentas llaman a la API en accounts.azuredatabricks.net ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control).

Los usuarios con el rol de Administrador de entidades de servicio que no son administradores de cuentas llaman a la API en el dominio del área de trabajo ({workspace-domain}/api/2.0/preview/accounts/access-control/).

Conceder roles a entidades de seguridades mediante la CLI de Databricks

La API de control de acceso a cuentas utiliza un campo etag para garantizar la coherencia. Para conceder o revocar funciones de la entidad de seguridad a través de la API, primero emitaGET un comando de conjunto de reglas y reciba etag una respuesta. A continuación, puede aplicar los cambios localmente y, por último, emitir un PUTconjunto de reglas con la etag.

Por ejemplo, emita un GET conjunto de reglas en la entidad de seguridad de servicio a la que desea conceder acceso ejecutando el siguiente comando:

databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>

Sustituya:

  • <account-id> con el Id. de la cuenta.
  • <application-id> con el Id. de la aplicación principal del servicio.
  • <etag> con “”

Respuesta de ejemplo:

{
  "etag":"<etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.manager"
    },
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"<name>"
}

Copie el campo etag del cuerpo de la respuesta para su uso posterior.

A continuación, puede realizar actualizaciones localmente cuando decida el estado final de las reglas y luego actualizar el conjunto de reglas utilizando la etiqueta electrónica. Para otorgar la función Entidad de seguridad: Usuario función para el usuariouser2@example.com, ejecute lo siguiente:

databricks account access-control update-rule-set --json '{
  "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
  "rule_set": {
      "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
      "grant_rules": [
        {
            "role": "roles/servicePrincipal.user",
            "principals": ["users/user2@example.com"]
        }
      ],
      "etag": "<etag>"
  }
}'

Sustituya:

  • <account-id> con el Id. de la cuenta.
  • <application-id> con el Id. de la aplicación principal del servicio.
  • <etag> con el etag que copió de la última respuesta.

Respuesta de ejemplo:

{
  "etag":"<new-etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user2@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default"
}

Importante

Como se trata de un método PUT, todas las funciones existentes se sobrescriben. Para conservar las funciones existentes, debe agregarlas a la matriz grant_roles.

Enumere los principales servicios que puede utilizar

Mediante la API de entidades de seguridad del área de trabajo, puede obtener una lista de las entidades de seguridad de servicio en las que tiene la función de usuario filtrando en servicePrincipal/use.

Para obtener una lista de las entidades de seguridad en las que tiene la función de Usuario de entidad de seguridad, ejecute el siguiente comando:

databricks service-principals list -p WORKSPACE --filter "permission eq 'servicePrincipal/use'"

También es posible enumerar entidades de servicio mediante la API de entidades de servicio del área de trabajo.