Saltar al contenido

Azure (no Entra): RBAC de recursos, Key Vault y Defender for Cloud

    Azure (no Entra):

    RBAC de recursos, Key Vault y Defender for Cloud

    Seguridad en la nube  |  unfantasmaenelsistema.com

    Mucha gente que trabaja con Azure usa «Azure AD» y «Azure» como si fueran lo mismo, y ahí empieza la confusión de permisos. Entra ID (el antiguo Azure AD) es el directorio de identidades: quién eres, a qué grupos perteneces, qué aplicaciones puedes usar. Azure RBAC es otra cosa: controla qué puedes hacer sobre los recursos — una máquina virtual, una cuenta de almacenamiento, una base de datos — dentro de una suscripción. Son dos sistemas de autorización distintos, con roles distintos, y un administrador de Entra no es automáticamente administrador de los recursos.

    Este artículo se centra en la mitad «recursos»: cómo funciona Azure RBAC y sus ámbitos, qué roles concentran poder, cómo se guardan los secretos en Key Vault sin repetir los errores clásicos, qué son las Managed Identities, y cómo Defender for Cloud y Azure Policy te dan una foto continua de lo que está mal. El enfoque es defensivo y sobre tu propia suscripción. Es el complemento del artículo sobre Entra ID, donde cubrimos la parte de identidad.

    Qué aprenderas en este articulo

    La diferencia real entre los roles de Entra ID y los roles de Azure RBAC · Los cuatro ámbitos de RBAC (grupo de administración, suscripción, grupo de recursos, recurso) y cómo se hereda · Qué pueden hacer de verdad Owner, Contributor y User Access Administrator, y dónde están sus límites · Key Vault: modelo de acceso, soft-delete y purge protection, y por qué importan · Cómo leer el Secure Score de Defender for Cloud y auditar con Activity Log y Resource Graph

    1. Dos sistemas de permisos, no uno

    En Azure conviven dos planos de autorización que se evalúan por separado:

    • Roles de Entra ID (directory roles): Global Administrator, User Administrator, Privileged Role Administrator, etc. Gobiernan el directorio: usuarios, grupos, registros de aplicación, políticas de acceso condicional. No dan, por sí mismos, acceso a una VM
    • Roles de Azure RBAC: Owner, Contributor, Reader y varios cientos de roles específicos por servicio. Gobiernan las operaciones sobre recursos a través del proveedor de recursos de Azure (el plano de gestión, `management.azure.com`)

    Hay un punto de cruce importante: el Global Administrator de Entra puede, con un solo clic («elevación de acceso»), concederse el rol User Access Administrator en la raíz de todas las suscripciones del tenant. Es decir, quien controla el directorio puede tomar el control de los recursos. Por eso el número de Global Admins y su protección con MFA y PIM es una cuestión de seguridad de toda la plataforma, no solo del directorio.

    2. Azure RBAC: ámbitos, definiciones y asignaciones

    Una asignación de rol en RBAC son tres cosas: un principal (usuario, grupo, service principal o managed identity), una definición de rol (el conjunto de acciones permitidas) y un ámbito (dónde aplica). El ámbito es jerárquico y la asignación se hereda hacia abajo.

    ÁmbitoQué abarcaCuándo asignar aquí
    Grupo de administraciónUn conjunto de suscripciones agrupadas (por unidad de negocio, entorno)Roles de plataforma y políticas comunes a muchas suscripciones
    SuscripciónTodos los recursos y grupos de recursos de esa suscripciónAdministración de un entorno completo; con cuidado, casi siempre es demasiado amplio
    Grupo de recursosTodos los recursos de ese grupo (una aplicación, un proyecto)El ámbito recomendado por defecto para equipos de trabajo
    RecursoUna única instancia (esta cuenta de almacenamiento, este Key Vault)Accesos muy concretos y de corta duración

    Owner, Contributor y User Access Administrator

    Owner = Contributor + gestionar asignaciones de rol. Puede darse a sí mismo o a otros cualquier permiso en su ámbito: es el rol de escalada · Contributor puede crear y borrar cualquier recurso del ámbito, pero NO puede modificar asignaciones de RBAC. Aun así puede crear recursos con managed identities privilegiadas: no es inofensivo · User Access Administrator solo gestiona accesos, no toca recursos; combinado con Contributor equivale a Owner · Cuenta cuántas asignaciones de Owner hay en cada suscripción y a nivel de grupo de administración: en una organización sana son muy pocas y todas nominales

    Complementos que acotan el poder de RBAC: los deny assignments (los crean Azure Blueprints y los Managed Applications, no se editan a mano), las condiciones ABAC sobre algunas acciones de almacenamiento, y los resource locks (`CanNotDelete`, `ReadOnly`), que frenan borrados accidentales aunque no son un control de seguridad frente a un atacante con permisos.

    3. Key Vault: dónde viven los secretos

    Azure Key Vault guarda tres tipos de objeto: secretos (cadenas: contraseñas, cadenas de conexión), claves (criptográficas, con opción de respaldo en HSM) y certificados. El punto delicado no es el almacén en sí, sino quién puede leer de él y qué pasa cuando alguien borra algo.

    3.1 Dos modelos de autorización

    • Access policies (el modelo antiguo): una lista por vault donde cada principal recibe permisos sobre secretos, claves y certificados. No es granular por objeto y no se integra con PIM ni con las herramientas de gobierno de RBAC
    • Azure RBAC para Key Vault (el modelo recomendado): usa roles como `Key Vault Secrets User`, `Key Vault Crypto Officer`, `Key Vault Reader`. Se audita y se gestiona igual que el resto de RBAC, admite ámbito por secreto individual y se lleva bien con PIM

    3.2 Soft-delete y purge protection

    Soft-delete conserva los objetos borrados (y el propio vault) durante un periodo de retención, de modo que se puedan recuperar. Está activado de forma obligatoria. Purge protection va un paso más allá: impide el borrado definitivo antes de que expire la retención, incluso para un administrador. Sin purge protection, alguien con permisos de gestión puede borrar un vault y purgarlo de inmediato, destruyendo claves de las que dependen discos cifrados o bases de datos. Actívala en todo vault que guarde claves de cifrado.

    Higiene de Key Vault

    Modelo RBAC, no access policies; un vault por aplicación y entorno, no uno compartido para todo · Purge protection y soft-delete con retención de 90 días en los vaults de claves de cifrado · Acceso de red restringido: private endpoint o, como mínimo, firewall del vault con lista de servicios de confianza · Rotación automática de secretos y alertas de «secreto a punto de caducar» · Registro de diagnóstico (`AuditEvent`) enviado a Log Analytics para saber quién leyó qué

    4. Managed Identities: sin contraseñas para las cargas de trabajo

    Una Managed Identity es un service principal en Entra ID cuyo ciclo de vida gestiona Azure por ti. La carga de trabajo (una VM, una App Service, una Function, un contenedor) obtiene tokens de Entra a través del endpoint local de identidad, sin que haya ninguna credencial almacenada en el código ni en la configuración.

    • Asignada por el sistema: ligada a un recurso concreto; se crea y se borra con él. Ideal para relaciones uno a uno
    • Asignada por el usuario: un recurso independiente que puedes adjuntar a varias cargas. Útil cuando varias aplicaciones comparten el mismo conjunto de permisos
    • El patrón correcto: la App Service tiene una managed identity con el rol `Key Vault Secrets User` solo sobre su vault, y lee de él la cadena de conexión a la base de datos. Cero secretos en variables de entorno

    Una managed identity con demasiados permisos es un blanco

    Si una aplicación con managed identity tiene una vulnerabilidad de tipo SSRF o de ejecución remota, el atacante puede pedir tokens de esa identidad desde dentro y actuar con sus roles · Da a cada managed identity el rol mínimo y el ámbito más estrecho posible (un grupo de recursos o un único recurso, nunca la suscripción) · Evita adjuntar managed identities a recursos expuestos a internet si esas identidades tienen roles de escritura amplios

    5. Defender for Cloud y Azure Policy: la foto continua

    Saber que la configuración es correcta el día del despliegue no sirve de nada si nadie vuelve a mirar. Azure ofrece dos herramientas complementarias para vigilar la deriva.

    PiezaQué haceNota
    Microsoft Defender for Cloud (CSPM gratuito)Evalúa recursos contra el Microsoft Cloud Security Benchmark y calcula el Secure ScoreEl nivel base no cuesta; los planes de protección de cargas (servidores, almacenamiento, bases de datos) sí
    Secure ScorePorcentaje que resume cuántas recomendaciones de seguridad están resueltas, ponderadas por impactoSirve para priorizar y para seguir la tendencia, no como objetivo absoluto
    Azure PolicyMotor de reglas que audita o impide configuraciones (deny, audit, deployIfNotExists)Es lo que convierte una recomendación en una barrera dura
    Regulatory complianceMapea el estado contra marcos (CIS, ISO 27001, ENS, PCI)Requiere un plan de Defender para las vistas completas

    El flujo sano: Defender for Cloud te muestra qué está mal (puertos de gestión abiertos, almacenamiento sin «secure transfer», SQL sin auditoría, VMs sin cifrado de disco); resuelves lo prioritario; y para lo que no debe repetirse, creas una Azure Policy con efecto `deny` asignada a nivel de grupo de administración para que nadie pueda volver a crearlo mal.

    Iniciativas de Azure Policy que conviene asignar pronto

    Denegar direcciones IP públicas en interfaces de red salvo excepción aprobada · Exigir HTTPS y TLS mínimo en App Service, Storage y bases de datos · Exigir cifrado de disco / cifrado con clave gestionada por el cliente donde aplique · Denegar cuentas de almacenamiento con acceso de blob anónimo permitido · Exigir private endpoint en Key Vault, Storage y bases de datos de producción

    6. Auditar tu suscripción

    Todo lo siguiente es de solo lectura sobre tu propia suscripción.

    HerramientaPara quéCoste
    Azure Resource Graph ExplorerConsultas KQL sobre todos los recursos y asignaciones de rol del tenant en segundosGratuito
    Activity LogRegistro de operaciones del plano de gestión: quién creó, modificó o borró qué, y quién cambió RBACGratuito (90 días; más si se exporta)
    Access review (Entra ID Governance / PIM)Revisión periódica de quién tiene roles privilegiados, con caducidadRequiere licencia P2
    `az role assignment list` / `Get-AzRoleAssignment`Volcado de asignaciones de RBAC por ámbitoGratuito (CLI/PowerShell)
    ScoutSuite / Prowler (Azure)Auditoría open source con informe navegable por severidadOpen source
    # Todas las asignaciones de Owner en la suscripcion, con el principal y el ambito
    az role assignment list --all --role Owner \
        --query "[].{quien:principalName, ambito:scope, tipo:principalType}" -o table
     
    # Resource Graph: recursos con IP publica asociada
    az graph query -q "Resources | where type =~ 'microsoft.network/publicipaddresses'
      | where isnotempty(properties.ipConfiguration) | project name, resourceGroup, location"
     
    # Activity Log: cambios de asignaciones de rol en los ultimos 7 dias
    az monitor activity-log list --offset 7d \
        --query "[?contains(operationName.value, 'roleAssignments/write')]" -o table

    Uso solo sobre infraestructura propia y con autorización

    Enumerar o auditar asignaciones de RBAC, Key Vault o la configuración de suscripciones de Azure que no son tuyas y sin autorización escrita del titular es un acceso ilícito a un sistema informático · En España es aplicable el Código Penal: art. 197 bis (acceso no autorizado), art. 197 ter (facilitación de medios) y art. 264 y siguientes (daños informáticos) · Practica con tu propia suscripción, con una suscripción de laboratorio o con los entornos formativos diseñados para ello

    7. Lo mínimo que debería estar hecho

    • Poquísimos Global Admins en Entra y poquísimos Owner en cada ámbito de Azure, todos nominales, todos con MFA y bajo PIM (activación temporal, no permanente)
    • Asignar RBAC a grupos y en el ámbito de grupo de recursos, no a personas ni en la suscripción entera
    • Key Vault en modelo RBAC, con purge protection y acceso de red restringido
    • Cargas de trabajo con Managed Identity de permiso mínimo; ningún secreto en configuración ni en el repositorio
    • Defender for Cloud activo, Secure Score vigilado, y las reglas que no deben romperse convertidas en Azure Policy con efecto deny a nivel de grupo de administración
    • Activity Log y los registros de diagnóstico de Key Vault exportados a Log Analytics; revisión trimestral de asignaciones privilegiadas

    Referencias

    learn.microsoft.com/azure/role-based-access-control — Documentación de Azure RBAC y ámbitos · learn.microsoft.com/azure/key-vault/general/security-features — Seguridad de Key Vault, soft-delete y purge protection · learn.microsoft.com/azure/defender-for-cloud — Defender for Cloud y Secure Score · learn.microsoft.com/security/benchmark/azure — Microsoft Cloud Security Benchmark · Nuestro artículo sobre Entra ID (Azure AD) para la parte de identidad y las rutas de escalada del directorio

    Conclusión

    La mayoría de los sustos en Azure no vienen de un fallo de la plataforma, sino de mezclar los dos planos de permisos y de conceder de más: un Owner en la suscripción «para ir rápido», un Key Vault compartido sin purge protection, una managed identity con Contributor sobre todo el entorno. El modelo tiene sus asimetrías — el Global Admin que puede elevarse a los recursos, el Contributor que no toca RBAC pero sí crea identidades — y conviene tenerlas presentes.

    La defensa es conocida: ámbitos estrechos, roles a grupos, PIM para lo privilegiado, secretos solo en Key Vault con managed identities, y Defender for Cloud más Azure Policy para que la configuración correcta de hoy siga siéndolo dentro de seis meses. Ninguna de esas piezas es cara y todas se revisan en una tarde.

    unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)

    Resumen de privacidad

    Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.