Protección de entidades de servicio en Microsoft Entra ID

Una entidad de servicio de Microsoft Entra es la representación local de un objeto aplicación en un inquilino o directorio. Es la identidad de la instancia de la aplicación. Las entidades de servicio definen el acceso a la aplicación y los recursos a los que tiene acceso la aplicación. La entidad de servicio se crea en cada inquilino donde se usa la aplicación y hace referencia al objeto de aplicación único globalmente. El inquilino protege el inicio de sesión y el acceso a los recursos de la entidad de servicio.

Más información: Objetos de aplicación y de entidad de servicio en Microsoft Entra ID

Relaciones de entidad de servicio del inquilino

Una aplicación de un solo inquilino solamente tiene una entidad de servicio en su inquilino principal. Una API o aplicación web multiinquilino requiere una entidad de servicio en cada inquilino. Una entidad de servicio se crea cuando un usuario de ese inquilino consiente el uso de la aplicación o API. Este consentimiento crea una relación de uno a varios entre la aplicación multiinquilino y sus entidades de servicio asociadas.

Una aplicación multiinquilino se hospeda en un inquilino y tiene instancias en otros inquilinos. La mayoría de las aplicaciones de software como servicio (SaaS) alojan varios inquilinos. Use entidades de servicio para garantizar la postura de seguridad adecuada para la aplicación y sus usuarios, en escenarios de un solo inquilino y de varios.

ApplicationID y ObjectID

Una instancia de aplicación determinada tiene dos propiedades distintas: ApplicationID (o ClientID) y ObjectID.

Nota:

Los términos aplicación y entidad de servicio se utilizan indistintamente cuando se refieren a una aplicación en las tareas de autenticación. Sin embargo, en Microsoft Entra ID hay dos representaciones de aplicaciones.

El valor ApplicationID representa la aplicación global y es igual para las instancias de la aplicación en todos los inquilinos. El valor ObjectID es único para un objeto de aplicación. Al igual que sucede con los usuarios, grupos y otros recursos, el valor ObjectID ayuda a identificar una instancia de aplicación en Microsoft Entra ID.

Para más información, consulte Relación de aplicaciones y entidades de servicio en Microsoft Entra ID

Creación de una aplicación y su objeto de entidad de servicio

Puede crear una aplicación y su objeto de entidad de servicio (ObjectID) en un inquilino mediante:

  • Azure PowerShell
  • PowerShell de Microsoft Graph
  • Interfaz de la línea de comandos de Azure (CLI de Azure)
  • Microsoft Graph API
  • El Portal de Azure
  • Otras herramientas

Screenshot of Application or Client ID and Object ID on the New App page.

Autenticación de entidad de servicio

Existen dos mecanismos para la autenticación cuando se usan entidades de servicio: certificados de cliente y secretos de cliente.

Screenshot of Certificates and Client secrets under New App, Certificates and secrets.

Dado que los certificados son más seguros, se recomienda usarlos siempre que sea posible. A diferencia de los secretos de cliente, los certificados de cliente no se pueden insertar en el código accidentalmente. Use Azure Key Vault para la administración de certificados y secretos cuando sea posible para cifrar recursos con claves protegidas por módulos de seguridad de hardware:

  • Claves de autenticación
  • Claves de cuenta de almacenamiento
  • Claves de cifrado de datos
  • Archivos .pfx
  • Contraseñas

Para obtener más información sobre Azure Key Vault y cómo usarlo para la administración de certificados y secretos, consulte:

Desafíos y mitigaciones

Al usar entidades de servicio, use la tabla siguiente para hacer coincidir los desafíos y las mitigaciones.

Desafío Mitigación
Revisiones de acceso para las entidades de servicio asignadas a roles con privilegios Esta funcionalidad está en versión preliminar.
Revisiones de acceso de las entidades de servicio Comprobación manual de la lista de control de acceso de recursos mediante Azure Portal
Entidades de servicio con más permisos de los previstos Cuando cree entidades de servicio o cuentas de servicio de automatización, proporcione permisos para la tarea. Evalúe las entidades de servicio para reducir los privilegios.
Identificación de las modificaciones de las credenciales o los métodos de autenticación de las entidades de servicio - Consulte Libro de informes de operaciones confidenciales
- Consulte la entrada de blog de Tech Community, Libro de Microsoft Entra para ayudarle a evaluar el riesgo de Solorigate

Búsqueda de cuentas con entidades de servicio

Para buscar cuentas, ejecute los comandos siguientes mediante entidades de servicio con la CLI de Azure o PowerShell.

  • CLI de Azure: az ad sp list
  • PowerShell - Get-MgServicePrincipal -All:$true

Para más información, consulte Get-MgServicePrincipal

Evaluación de la seguridad de la entidad de servicio

Para evaluar la seguridad, evalúe los privilegios y el almacenamiento de credenciales. Use la tabla siguiente para ayudar a mitigar los desafíos:

Desafío Mitigación
Detección del usuario que ha dado su consentimiento a una aplicación multiinquilino y detección de las concesiones de consentimiento ilícitas a una aplicación multiinquilino - Ejecute el siguiente PowerShell para buscar aplicaciones multiinquilino
Get-MgServicePrincipal -All:$true | ? {$_.Tags -eq "WindowsAzureActiveDirectoryIntegratedApp"}
- Deshabilite el consentimiento del usuario
- Permita el consentimiento del usuario de los editores verificados, para los permisos seleccionados (recomendado)
- Configúrelos en el contexto del usuario
- Use sus tokens para desencadenar la entidad de servicio
Use un secreto compartido codificado de forma rígida en un script mediante una entidad de servicio Uso de un certificado
Seguimiento de quién usa el certificado o el secreto Supervisión de los inicios de sesión de la entidad de servicio mediante los registros de inicio de sesión de Microsoft Entra
No se puede administrar el inicio de sesión de entidades de servicio con acceso condicional Supervisión de los inicios de sesión mediante los registros de inicio de sesión de Microsoft Entra
Colaborador es el rol predeterminado de control de acceso basado en rol de Azure (RBAC de Azure) Evalúe las necesidades y aplique los mínimos permisos posibles

Más información: ¿Qué es el acceso condicional?

Traslado de una cuenta de usuario a una entidad de servicio

Si usa una cuenta de usuario de Azure como entidad de servicio, evalúe si puede pasar a una identidad administrada o a una entidad de servicio. Si no puede usar una identidad administrada, conceda a una entidad de servicio suficientes permisos y ámbito para ejecutar las tareas necesarias. Puede crear una entidad de servicio mediante el registro de una aplicación o con PowerShell.

Al usar Microsoft Graph, consulte la documentación de la API. Asegúrese de que se admite el tipo de permiso para la aplicación.
Consulte Crear servicePrincipal.

Más información:

Pasos siguientes

Más información sobre las entidades de servicio:

Protección de cuentas de servicio:

Acceso condicional:

Use el acceso condicional para bloquear las entidades de servicio de ubicaciones que no son de confianza.

Consulte Creación de una directiva de acceso condicional basada en la ubicación.