Administración de roles personalizados de Azure

Completado

En esta unidad, aprenderá quién puede administrar roles personalizados de Azure y cómo.

¿Quién puede administrar roles personalizados?

Por lo general, los administradores con los roles propietario o administrador de acceso de usuario tienen permisos para crear y administrar roles personalizados. De manera predeterminada, esos roles tienen el permiso Microsoft.Authorization/roleDefinitions/write en todos los ámbitos de asignación de roles. Este permiso es necesario para crear, eliminar o actualizar roles personalizados.

Los ámbitos de asignación de roles se definen en la definición de roles personalizados en AssignableScopes. Como se ha explicado en la unidad 2, AssignableScopes puede ser una o varias suscripciones, grupos de recursos o recursos.

En la tabla siguiente se enumeran los permisos necesarios para crear, eliminar, actualizar o ver roles personalizados. Para administrar roles personalizados, debe tener asignado un rol que tenga los valores Actions y AssignableScopes correspondientes en la definición de roles.

Tarea Acciones Descripción
Crear/Eliminar Microsoft.Authorization/roleDefinitions/write Los usuarios pueden crear o eliminar roles personalizados para su uso en ámbitos. Por ejemplo, los propietarios y administradores de acceso de usuarios de suscripciones, grupos de recursos y recursos.
Actualizar Microsoft.Authorization/roleDefinitions/write Los usuarios pueden actualizar los roles personalizados en los ámbitos. Por ejemplo, los propietarios y administradores de acceso de usuarios de suscripciones, grupos de recursos y recursos.
Ver Microsoft.Authorization/roleDefinitions/read Los usuarios pueden ver los roles personalizados disponibles para la asignación en un ámbito. Todos los roles integrados permiten que los roles personalizados estén disponibles para su asignación.

Creación de roles personalizados

En la unidad anterior, creó un rol personalizado mediante la CLI de Azure. También puede crear un rol personalizado mediante Azure Portal o Azure PowerShell.

Creación de roles personalizados mediante Azure Portal

En Azure Portal, vaya a la suscripción o al grupo de recursos al que quiere aplicar el ámbito de rol personalizado. Luego, vaya a Control de acceso (IAM) y seleccione Agregar>Agregar rol personalizado.

Screenshot that shows Add custom role option under Add button.

Puede optar por clonar un rol existente o comenzar desde cero.

Screenshot of clone role radio button selected and Virtual Machine Contributor as role to clone.

Con cualquier selección, puede editar los permisos, los ámbitos y el JSON resultante.

Creación de un rol personalizado mediante Azure PowerShell

Los pasos necesarios para crear un rol mediante Azure PowerShell son similares a los que tratamos en las dos unidades anteriores. Después de definir el rol personalizado en un archivo JSON, use el siguiente comando en CLI de Azure para crear el rol personalizado:

az role definition create --role-definition vm-operator-role.json

Para crear el rol en Azure PowerShell, ejecute el siguiente comando:

New-AzRoleDefinition -InputFile "vm-operator-role.json"

Actualización de roles personalizados

Para actualizar un rol personalizado, puede usar la CLI de Azure o Azure PowerShell. Recorrerá los pasos específicos para actualizar la definición de roles personalizados en la siguiente unidad; pero, en general, después de actualizar el archivo JSON con los cambios, ejecutará uno de los siguientes comandos.

Para actualizar el rol personalizado mediante la CLI de Azure, ejecute el comando siguiente con la ruta de acceso al archivo JSON que tiene las actualizaciones:

az role definition update --role-definition "<<path-to-json-file>>"

En Azure PowerShell, ejecute el siguiente comando con la ruta de acceso al archivo JSON actualizado:

Set-AzRoleDefinition -InputFile "<<path-to-json-file>>"

Visualización de roles personalizados

En la unidad siguiente, aprenderá a consultar los roles personalizados en Azure Portal. También puede obtener una lista de roles personalizados mediante CLI de Azure o PowerShell.

Para enumerar todos los roles personalizados mediante la CLI de Azure, use el comando siguiente:

az role definition list --custom-role-only true --output json | jq '.[] | {"roleName":.roleName, "roleType":.roleType}'

Observe cómo el comando solo solicita el nombre de rol y el tipo de rol. Esto facilita la visualización de muchos roles.

Para enumerar todos los roles personalizados mediante Azure PowerShell, use el siguiente comando. Este comando muestra los roles personalizados que están disponibles para asignación en la suscripción. Si la suscripción no está en AssignableScopes del rol, no se mostrará el rol personalizado.

Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom

Visualización de la definición de roles

Para ver la definición completa de un rol específico, use el comando siguiente de la CLI de Azure:

az role definition list --name "Virtual Machine Operator"

Para ver la definición en PowerShell, use el comando siguiente:

Get-AzRoleDefinition "Virtual Machine Operator" 

Lista de asignación de roles personalizados

El siguiente comando le permite ver quién está asignado al rol personalizado que ha creado en la CLI de Azure:

az role assignment list --role "Virtual Machine Operator"

En PowerShell, use el siguiente comando:

Get-AzRoleAssignment -RoleDefinitionName "Virtual Machine Operator"

Eliminación de roles personalizados

Para los ejercicios de la unidad siguiente, necesitará el rol personalizado que creó en la unidad anterior. No lo elimine todavía. Vamos a hablar primero sobre cómo eliminar un rol personalizado.

Eliminación de asignaciones de rol

Si decide que ya no necesita el rol personalizado, debe quitar las asignaciones de roles para poder eliminar el rol.

En Azure Portal, puede quitar las asignaciones si va a la suscripción, al grupo de recursos o al recurso al que se aplica el ámbito del rol personalizado. Después, vaya a Control de acceso (IAM)>Asignaciones de roles. Filtre por el nombre del rol, seleccione todos los usuarios asignados al rol y seleccione Quitar.

En la CLI de Azure, use el siguiente comando con el nombre del rol personalizado:

   az role assignment delete --role "role name"

En Azure PowerShell, use el cmdlet Remove-AzRoleAssignment. El comando podría tener un aspecto similar al siguiente:

Remove-AzRoleAssignment -ObjectId <object_id> -RoleDefinitionName "role name" -Scope /subscriptions/<subscription_id>

ObjectID es el valor de ObjectId de Microsoft Entra del usuario, grupo o entidad de servicio.

Eliminación del rol personalizado

Puede eliminar un rol personalizado mediante Azure Portal, la CLI de Azure o Azure PowerShell.

En Azure Portal, vaya a la suscripción, el grupo de recursos o el recurso al que se aplica el ámbito del rol personalizado. Luego, vaya a Control de acceso (IAM)>Roles. Para encontrar el rol, seleccione Tipo>CustomRole.

Screenshot that shows custom roles selected from drop-down list.

Seleccione el rol y, luego, seleccione Quitar.

En la unidad siguiente, usará este comando para eliminar el rol personalizado con la CLI de Azure:

az role definition delete --name "role name"

En PowerShell, use el siguiente comando para eliminar un rol:

Get-AzRoleDefinition "role name" | Remove-AzRoleDefinition

Comprobar los conocimientos

1.

¿Cuál es el cmdlet de Azure PowerShell para actualizar un rol personalizado?

2.

¿Cuáles son los pasos para quitar un rol personalizado?