Como administrador de sistemas, es muy frecuente encontrarse con aplicaciones instaladas en servidores que ejecutan servicios y tareas en segundo plano. Estos servicios normalmente se ejecutan al iniciarse el servidor o son desencadenados por otros eventos de la aplicación y no requieren ninguna interacción del usuario. 

Por lo tanto, para que el servicio se inicie y se autentique sin necesidad de que estemos pendientes a la expiración de la contraseña, es recomendable utilizar una cuenta de servicio.

Una cuenta de servicio administrada (MSA) es un tipo de objeto en Active Directory (msDS-ManagedServiceAccount) que fue introducido con Windows Server 2008 R2 y proporciona administración automática de contraseñas, administración simplificada de nombre principal de servicio (SPN) y la capacidad de delegar la administración a otros administradores. 


Ventajas

  • Gestión simplificada de contraseñas
  • Gestión simplificada de SPN

Desventajas

  • Solo puede ser utilizada en un solo servidor (no puede ser utilizada en clusters o NLBs)

Los requisitos para poder utilizar este tipo de objeto en Active Directory, son los siguientes:

  • Nivel funcional del dominio Windows Server 2008 R2 o superior
  • Sistema operativo soportado Windows Server 2008 R2 o superior
  • Un controlador de dominio con Servicio de Distribución de Llaves (KDSsvc) habilitado
  • Tener el modulo de Active Directory de PowerShell instalado
  • Tener .Net framework 3.5 o superior instalado en el servidor

Con Windows Server 2012, Microsoft introdujo un nuevo tipo de objeto que viene a expandir las funcionalidades de las cuentas de servicio administradas para poder funcionar en más de un servidor a la vez.

Una cuenta de servicio administrada de grupo (gMSA) es un tipo de objeto en Active Directory (tipo msDS-GroupManagedServiceAccount) que tiene las mismas ventajas de una MSA, y por lo contrario, estas si pueden ser utilizadas de manera simultanea en múltiples servidores.


%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22Cuenta%20de%20servicios%20administrada%20de%20grupo%22%20style%3D%22text%3Bhtml%3D1%3BstrokeColor%3Dnone%3BfillColor%3Dnone%3Balign%3Dcenter%3BverticalAlign%3Dmiddle%3BwhiteSpace%3Dwrap%3Brounded%3D0%3Bdashed%3D1%3BstrokeWidth%3D4%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22132%22%20y%3D%22239%22%20width%3D%22119%22%20height%3D%2230%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E



Los requisitos para poder utilizar este tipo de objeto en Active Directory, son los siguientes:

  • Nivel funcional del dominio Windows Server 2012 o superior
  • Sistema operativo soportado Windows Server 2012 o superior
  • Un controlador de dominio con Servicio de Distribución de Llaves (KDSsvc) habilitado
  • Tener el modulo de Active Directory de PowerShell instalado
  • Tener .Net framework 3.5 o superior instalado en el servidor


Creando cuentas de servicio administradas

De acuerdo la los requisitos, tanto para las MSAs como para las gMSAs, tenemos que habilitar el servicio de distribución de llaves (KDS). Para ello, debemos abrir PowerShell en nuestro controlador de dominio y ejecutar el siguiente comando como administrador:


Add-KdsRootKey –EffectiveImmediately

Una vez ejecutado el comando, por defecto la llave tarda unas 10 horas en replicarse por todos los controladores de dominio. Podemos agilizar este proceso (recomendado para entornos de laboratorio), ejecutando el siguiente comando:

Add-KdsRootKey –EffectiveTime ((get-date).addhours(-10))


Ahora que tenemos el KDS configurado, podemos crear una cuenta gMSA utilizando el siguiente comando de ejemplo:


New-ADServiceAccount -Name WebSrvgMSA -PrincipalsAllowedToRetrieveManagedPassword WEBSRV1, WEBSRV2, WEBSRV3

En cambio, si quisiéramos crear una MSA, tendríamos que utilizar el siguiente comando:


$getWebSrv = Get-ADComputer -identity WEBSRV1Add-ADComputerServiceAccount -Identity $getWebSrv -ServiceAccount WebSrvMSA