StudyToCert

SC-500 / Lecciones · English

Microsoft Certified: Cloud and AI Security Engineer Associate (replaces Azure Security Engineer Associate / AZ-500) SC-500

Roles personalizados de Azure RBAC: actions, notActions, dataActions y ámbitos asignables

Cuando ningún rol integrado se ajusta, puedes crear un rol personalizado de Azure RBAC. Un rol personalizado es una definición de rol en JSON que enumera exactamente qué operaciones están permitidas. Lo creas en el portal (clonando un rol existente y editándolo), con Azure PowerShell (New-AzRoleDefinition) o con la CLI de Azure (az role definition create --role-definition role.json). Los roles personalizados se almacenan en el tenant de Microsoft Entra y se pueden compartir entre las suscripciones indicadas en sus ámbitos asignables.

Las operaciones se escriben como cadenas de proveedor de recursos, por ejemplo Microsoft.Compute/virtualMachines/start/action o Microsoft.Storage/storageAccounts/read. Se permiten comodines: Microsoft.Compute/virtualMachines/* significa todas las operaciones sobre VM. La propiedad Actions enumera operaciones del plano de control (administración) que pasan por Azure Resource Manager: crear, leer, actualizar, eliminar y acciones especiales como reiniciar. La propiedad NotActions resta operaciones de un comodín en Actions. Por ejemplo, Actions: ["*"] con NotActions: ["Microsoft.Authorization/*/Delete", "Microsoft.Authorization/*/Write"] es esencialmente cómo está definido Contributor.

Importante: NotActions no es una denegación. Solo quita operaciones de lo que otorga este rol. Si el mismo usuario también tiene otro rol que permite la operación excluida, aún puede realizarla. Para bloquear algo de verdad dependes de la ausencia de permisos, de Azure Policy, de los bloqueos de recursos (resource locks) o de las asignaciones de denegación creadas por el sistema.

Las operaciones del plano de datos actúan sobre los datos dentro de un recurso, como leer un blob o un mensaje de cola, y se enumeran en DataActions y NotDataActions. Por ejemplo, Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read es una acción de datos. Esta separación es la razón por la que Contributor en una cuenta de almacenamiento puede administrar la cuenta pero no puede leer blobs mediante autorización de Entra ID; para eso se necesita un rol de datos como Storage Blob Data Reader. Solo los servicios que admiten autorización del plano de datos con Entra (Storage, Key Vault con RBAC, Service Bus, Event Hubs y otros) tienen acciones de datos.

AssignableScopes enumera dónde se puede asignar el rol personalizado: uno o más grupos de administración, suscripciones o grupos de recursos. Un rol con ámbito en una suscripción se puede asignar en esa suscripción o en cualquier nivel inferior. Los roles personalizados que incluyen DataActions no pueden incluir un grupo de administración en sus ámbitos asignables, y hay límites por tenant en la cantidad de roles personalizados que puedes crear, así que mantenlos pocos y reutilizables. Crear o actualizar un rol personalizado requiere Microsoft.Authorization/roleDefinitions/write, que tienen Owner y User Access Administrator.

Un buen flujo de trabajo es: busca el rol integrado más parecido, expórtalo con az role definition list --name "Virtual Machine Contributor", edita el JSON, dale un nombre y una descripción claros, establece ámbitos asignables lo más reducidos posible y pruébalo con un usuario de prueba y Check access antes de implementarlo.

Términos clave

Actions
Operaciones del plano de control que el rol permite, como crear o reiniciar una VM.
NotActions
Operaciones quitadas del comodín de Actions solo para este rol; no es una denegación si otro rol las otorga.
DataActions
Operaciones del plano de datos que el rol permite, como leer blobs o secretos de Key Vault.
AssignableScopes (ámbitos asignables)
Los grupos de administración, suscripciones o grupos de recursos donde se puede asignar un rol personalizado.
Ejemplo real

Los operadores deben iniciar, detener y reiniciar VM, pero nunca crearlas ni eliminarlas. Creas 'VM Operator' con Actions para virtualMachines/read, start/action, powerOff/action, restart/action y deallocate/action, estableces AssignableScopes en la suscripción de producción y lo asignas al grupo de operaciones en ese ámbito.

Consejo para el examen: Las preguntas suelen evaluar que NotActions no es una denegación y que leer datos en una cuenta de almacenamiento requiere un rol con DataActions, no Contributor. También presta atención a un rol que no se puede asignar porque el ámbito de destino está fuera de sus AssignableScopes.

Comprueba lo que sabes

Un usuario tiene un rol personalizado con NotActions para eliminar VM y además tiene Contributor en el mismo grupo de recursos. ¿Puede eliminar una VM?

Sí. NotActions solo recorta lo que otorga ese rol; Contributor sigue permitiendo la eliminación.

¿Qué propiedad contendría Microsoft.KeyVault/vaults/secrets/getSecret/action?

DataActions, porque leer el valor de un secreto es una operación del plano de datos.

¿Qué limita dónde se puede asignar un rol personalizado?

Su lista AssignableScopes; solo se puede asignar en esos ámbitos o por debajo de ellos.

Estudia SC-500 gratis
Plan semana a semana con lecciones, cuestionarios, simulaciones de examen y práctica, en español.
Abrir el plan de estudio