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
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.
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:
- Cómo usar identidades administradas para App Service y Azure Functions
- Cree una aplicación de Microsoft Entra y una entidad de servicio con acceso a los recursos
- Uso de Azure PowerShell para crear una entidad de servicio con un certificado
Pasos siguientes
Más información sobre las entidades de servicio:
- Cree una aplicación de Microsoft Entra y una entidad de servicio con acceso a los recursos
- Registros de inicio de sesión en Microsoft Entra ID
Protección de cuentas de servicio:
- Protección de cuentas de servicio en la nube
- Protección de identidades administradas en Microsoft Entra ID
- Gobernanza de las cuentas de servicio de Microsoft Entra
- Protección de cuentas de servicio locales
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.