Published on

January 26, 2020

Concediendo el mínimo privilegio para iniciar/detener máquinas virtuales de Azure

Hoy, discutiremos cómo puedes conceder el mínimo privilegio necesario para detener, iniciar o reiniciar una máquina virtual de Azure. Esto no solo te permite gestionar el control de acceso de manera efectiva, sino que también demuestra cómo puedes crear roles de seguridad personalizados en Azure.

¿Por qué deberías crear un rol personalizado? Cuando se trata de conceder seguridad, es una práctica recomendada asignar permisos a nivel de grupo de recursos. Digamos que tienes varias máquinas virtuales construidas para el grupo de desarrolladores para realizar pruebas. Quieres conceder acceso a las personas para iniciar, reiniciar o detener cualquier máquina virtual en ese grupo. Al crear un rol personalizado, puedes conceder acceso al grupo de recursos y cualquier máquina virtual agregada al grupo heredará el rol personalizado. Este enfoque garantiza que los usuarios tengan los permisos necesarios sin otorgarles privilegios excesivos.

¿Cómo creamos roles personalizados? Primero, necesitamos identificar las tareas que el rol debería poder realizar. En este caso, los usuarios deberían poder ver una máquina virtual para poder tomar cualquier acción sobre ella. Además, deberían poder iniciar, detener (desasignar) y reiniciar la máquina virtual. Al investigar en IAM, podemos encontrar las siguientes opciones de seguridad:

"Microsoft.Compute/*/read",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/deallocate/action"

Ahora, podemos crear un archivo de texto JSON personalizado que importaremos usando Azure CLI. A continuación, se muestra un ejemplo de archivo JSON para construir nuestro rol de seguridad personalizado:

{
  "Name": "Operador de VM",
  "IsCustom": true,
  "Description": "Puede iniciar, reiniciar y detener (desasignar) máquinas virtuales.",
  "Actions": [
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Compute/virtualMachines/deallocate/action"
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/<ID de suscripción aquí>"
  ]
}

Una vez que tengamos nuestro rol de seguridad personalizado definido en un archivo JSON, podemos usar Azure CLI para iniciar sesión en el inquilino e importar el rol de seguridad. Primero, debemos iniciar sesión en Azure CLI:

az login --username <miCorreoElectrónico> -t <IDdeInquilino-o-Dominio>

A continuación, podemos cargar nuestro archivo JSON guardado e importar el rol de seguridad:

az role definition create --role-definition IAMRole-VMOperator.json

Después de unos minutos, deberíamos ver nuestro nuevo rol de seguridad en el portal de Azure. Ahora, podemos conceder acceso a nuestro rol personalizado de la misma manera que lo haríamos con cualquier otro rol en Azure.

Siguiendo estos pasos, puedes asegurarte de que los usuarios tengan los permisos necesarios para iniciar, detener o reiniciar máquinas virtuales de Azure sin otorgarles privilegios innecesarios. Este enfoque mejora la seguridad y ayuda a mantener un modelo de mínimo privilegio.

¡Gracias por leer! Si tienes alguna pregunta o necesitas más ayuda, no dudes en contactar nuestro Servicio de Consultoría de SQL Server y DBA Remoto.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.