Hola a todos!
A raÃz de un post publicado por Azure Brains en el cual habÃa interacturado vÃa twitter, he decidido realizar este post veraniego para explicar, desde mi punto de vista, y sobre todo, desde el punto de vista de hacer correr VDAs (Citrix Cloud Virtual Apps & Desktop) en Azure.
- ¿Que es Azure Service Principal (ASP)?
Es la definición de polÃticas y permisos que tiene una aplicación en Azure. - ¿Cualquier Aplicación necesita ASP?
No, sólo aquellas que generar un Azure AD Application y que el fabricante ha generar un plugin para la integración con la infraestructura de Azure. - ¿Desde donde se configura el ASP?
Se debe de configurar desde RBAC (Rol Based Access Control), en el IAM de la subscripción.
HOME > SUBSCRIPTIONS > [SUSCRIPTION NAME] > Access Control (IAM).
Una vez definido e identificado para que sirve ASP, debemos de saber que tenemos 2 tipologÃas:
- Subscription Scope Service Principal (SSSP)
- Subscripton Scope Narrow Service Princial (SSNSP)
El primero (SSSP), normalmente lo utilizamos por defecto en las tÃpicas suscripciones de prueba que utilizamos la primera vez que accedemos a Azure y/o nos proporcionar en eventos como Azure BootCamp. Este tipo de configuración nos permite auto-generar la gran mayorÃa de recursos necesario para que la aplicación funcione correctamente.
El segundo (SSNSP), normalmente lo utilizamos en entornos de producción, ya que por seguridad vamos a requerir que las aplicaciones sólo puedan modificar y eliminar los recursos generados por ella, y no cualquier otro recursos que esté ya generado y asignado a otro servicio/aplicación (vamos serÃa un marrón 😉 ).
En la siguiente tabla, resumo algo las diferencias entre ellos.
Subscription Scope Service Principal | Narrow Scope Service Principal |
Suscripción ad-HOC, sólo para 1 servicio | La Subscripción hospeda múltiples servicio/aplicación |
No es necesario definir Roles Personalizados, Servicios Principales y/o permisos RBAC (IAM) | Los administradores de Azure generan usuarios con diferentes permisos en la suscripción, a demanda de la aplicación y/o tipo de rol |
La subscripción está dedicada a una aplicación, o todas las aplicaciones utilizan las mismas credenciales de acceso | La CompañÃa tiene estándar de seguridad que requieren control de acceso y tienen una granularidad en el nivel de acceso |
Pensado para usarlo en Pruebas de Concepto (PoC). | Pensado para utilizarlo en entornos en producción en donde el administrador de Azure tiene conocimientos de RBAC y de Servicios Principales |
La Aplicación es capaz de crear los recursos necesarios para generar la infraestructura necesaria para levantar el servicio | Se debe de generar previamente los Grupos de Recursos (Resource Groups) antes de iniciar la configuración de la aplicación. |