Si los roles integrados de Azure no cumplen las necesidades específicas de su organización, puede crear los suyos propios. Al igual que en el caso de los roles integrados, se pueden asignar roles personalizados a usuarios, grupos y entidades de servicio en los ámbitos del grupo de administración, de la suscripción y del grupo de recursos.
Los roles personalizados se pueden compartir entre suscripciones que confían en el mismo inquilino de Microsoft Entra. Hay un límite de 5000 roles personalizados por inquilino. (Para Microsoft Azure operado por 21Vianet, el límite es de 2000 roles personalizados.) Se pueden crear roles personalizados con Azure Portal, Azure PowerShell, la CLI de Azure o la API REST.
Pasos para crear un rol personalizado
Estos son los pasos básicos para crear un rol personalizado.
Determinar los permisos que necesita.
Cuando crea un rol personalizado, debe conocer las acciones que están disponibles para definir los permisos. Por lo general, empiece con un rol integrado existente y, a continuación, modifíquelo según sus necesidades. Agregará las acciones a las propiedades Actions o NotActions de la definición de roles. Si tiene acciones de datos, las agregará a las propiedades DataActions o NotDataActions.
Una vez que tenga el rol personalizado, tiene que probarlo para comprobar que funciona según lo esperado. Si tiene que realizar ajustes más adelante, puede actualizar el rol personalizado.
Determinación de los permisos que necesita
Azure tiene miles de permisos que se pueden incluir en el rol personalizado. A continuación, se muestran algunos métodos que pueden ayudarle de determinar los permisos que agregará al rol personalizado:
Los servicios de Azure exponen su funcionalidad y permisos a través de los proveedores de recursos. Por ejemplo, el proveedor de recursos Microsoft.Compute suministra recursos de máquina virtual y el proveedor de recursos Microsoft.Billing suministra recursos de suscripción y facturación. Conocer los proveedores de recursos puede ayudarle a reducir y determinar los permisos que necesita para el rol personalizado.
Al crear un rol personalizado mediante Azure Portal, puede buscar permisos por palabra clave. Por ejemplo, puede buscar permisos de máquina virtual o de facturación. También puede descargar todos los permisos como un archivo CSV y, a continuación, buscar en este archivo. Esta funcionalidad de búsqueda se describe en Creación o actualización de roles personalizados de Azure mediante Azure Portal.
Ejemplo de rol personalizado
A continuación se muestra el aspecto de un rol personalizado en formato JSON a través de Azure PowerShell. Este rol personalizado puede usarse para supervisar y reiniciar máquinas virtuales.
En la tabla siguiente se describe el significado de las propiedades de roles personalizadas.
Propiedad
Obligatorio
Type
Descripción
Name roleName
Sí
Cadena
Nombre para mostrar del rol personalizado. Aunque una definición de rol es un grupo de administración o un recurso de nivel de suscripción, se puede usar una definición de rol en varias suscripciones que comparten el mismo inquilino de Microsoft Entra. Este nombre para mostrar debe ser único en el ámbito del inquilino de Microsoft Entra. Puede incluir letras, números, espacios y caracteres especiales. El número máximo de caracteres es 512.
Id name
Sí
Cadena
El identificador exclusivo del rol personalizado. Para Azure PowerShell y la CLI de Azure, este identificador se genera automáticamente cuando se crea un rol.
IsCustom roleType
Sí
Cadena
Indica si es un rol personalizado. Se establece en true o CustomRole para los roles personalizados. Se establece en false o BuiltInRole para los roles integrados.
Description description
Sí
Cadena
Descripción del rol personalizado. Puede incluir letras, números, espacios y caracteres especiales. El número máximo de caracteres es 2048.
Actions actions
Sí
String[]
Matriz de cadenas que especifica las acciones del plano de control que el rol permite realizar. Para obtener más información, consulte Acciones.
NotActions notActions
No
String[]
Matriz de cadenas que especifica las acciones del plano de control que se excluyen de la propiedad Actions permitida. Para obtener más información, consulte notActions.
DataActions dataActions
No
String[]
Matriz de cadenas que especifica las acciones del plano de datos que el rol permite realizar en los datos dentro de ese objeto. Si crea un rol personalizado con DataActions, ese rol no se puede asignar en el ámbito del grupo de administración. Para más información, vea DataActions.
NotDataActions notDataActions
No
String[]
Matriz de cadenas que especifica las acciones del plano de datos que se excluyen de las DataActions permitidas. Para más información, vea NotDataActions.
AssignableScopes assignableScopes
Sí
String[]
Matriz de cadenas que especifica los ámbitos en los que el rol personalizado está disponible para la asignación. El número máximo de elementos AssignableScopes es 2000. Para obtener más información, consulte assignableScopes.
Las cadenas de permiso no distinguen mayúsculas de minúsculas. Al crear los roles personalizados, la convención consiste en hacer coincidir las mayúsculas y minúsculas que se ven para los permisos en las operaciones del proveedor de recursos de Azure.
Permisos con caracteres comodín
Actions, NotActions, DataActionsy NotDataActions admiten caracteres comodín (*) para definir los permisos. Los caracteres comodín (*) amplían los permisos a todo aquello que coincida con la cadena de acción que se especifique. Por ejemplo, supongamos que desea agregar todos los permisos relacionados con Azure Cost Management y las exportaciones. Puede agregar todas estas cadenas de acción:
En lugar de agregar todas estas cadenas, podría agregar únicamente una cadena comodín. Por ejemplo, la siguiente cadena comodín es equivalente a las cinco cadenas anteriores. De esta forma también se incluirían los futuros permisos de exportación que se pudieran agregar.
Microsoft.CostManagement/exports/*
Nota
Se recomienda especificar Actions y DataActions explícitamente en lugar de usar el carácter comodín (*). Con el comodín puede producirse un comportamiento no deseado en el futuro mediante Actions o DataActions, como concesión de acceso y permiso.
Quién puede crear, eliminar, actualizar o ver un rol personalizado
Al igual que los roles integrados, la propiedad AssignableScopes especifica los ámbitos en los que el rol está disponible para la asignación. La propiedad AssignableScopes de un rol personalizado también controla quién puede crear, eliminar, actualizar o ver dicho rol.
Tarea
Acción
Descripción
Creación o eliminación de un rol personalizado
Microsoft.Authorization/ roleDefinitions/write
Los usuarios que tienen acceso a esta acciones en todos los ámbitos AssignableScopes del rol personalizado pueden crear (o eliminar) roles personalizados para usar en esos ámbitos. Por ejemplo, los propietarios y administradores del acceso de los usuarios de los grupos de administración, las suscripciones y los grupos de recursos.
Actualización de un rol personalizado
Microsoft.Authorization/ roleDefinitions/write
Los usuarios que tienen acceso a esta acción en todos los ámbitos AssignableScopes del rol personalizado pueden actualizar roles personalizados en esos ámbitos. Por ejemplo, los propietarios y administradores del acceso de los usuarios de los grupos de administración, las suscripciones y los grupos de recursos.
Visualización de un rol personalizado
Microsoft.Authorization/ roleDefinitions/read
Los usuarios que tienen acceso a esta acción en un ámbito pueden ver los roles personalizados que están disponibles para su asignación en ese ámbito. Todos los roles integrados permiten que los roles personalizados estén disponibles para su asignación.
Nota
Incluso si se cambia el nombre de un rol, su identificador no cambia. Si utiliza scripts o automatización para crear las asignaciones de roles, se recomienda utilizar el identificador de rol único en lugar del nombre del rol. Por tanto, si se cambia el nombre de un rol, es más probable que los scripts funcionen.
Búsqueda de asignaciones de roles para eliminar un rol personalizado
Para poder eliminar un rol personalizado, debe quitar las asignaciones de roles que usen el rol personalizado. Si intenta eliminar un rol personalizado con asignaciones de roles, recibirá este mensaje: There are existing role assignments referencing role (code: RoleDefinitionHasAssignments).
Estos son los pasos para ayudar a encontrar las asignaciones de roles antes de eliminar un rol personalizado:
En la siguiente lista se describen los límites de los roles personalizados.
Cada inquilino puede tener hasta 5000 roles personalizados.
Microsoft Azure operado por 21Vianet puede tener hasta 2000 roles personalizados para cada inquilino.
AssignableScopes no se puede establecer en el ámbito raíz ("/").
No puede usar caracteres comodín (*) en AssignableScopes. Esta restricción de caracteres comodín ayuda a garantizar que un usuario no pueda obtener acceso a un ámbito mediante la actualización de la definición de rol.
Solo puede tener un carácter comodín en una cadena de acción.
Solo se puede definir un grupo de administración en AssignableScopes de un rol personalizado.
Azure Resource Manager no valida la existencia del grupo de administración en el AssignableScopes de la definición de roles.
No se pueden asignar roles personalizados con DataActions en el ámbito del grupo de administración.
Puede crear un rol personalizado con DataActions y un grupo de administración en AssignableScopes. No se puede asignar el rol personalizado en el propio ámbito del grupo de administración; sin embargo, puede asignar el rol personalizado en el ámbito de las suscripciones dentro del grupo de administración. Esto puede resultar útil si necesita crear un único rol personalizado con DataActions el que se debe asignar en varias suscripciones, en lugar de crear un rol personalizado independiente para cada suscripción.
Para crear un rol personalizado mediante la línea de comandos, normalmente se usa JSON para especificar las propiedades deseadas para el rol personalizado. En función de las herramientas que use, los formatos de entrada y salida tendrán un aspecto ligeramente diferente. En esta sección se enumeran los formatos de entrada y salida en función de la herramienta.
Azure PowerShell
Para crear un rol personalizado mediante Azure PowerShell, debe proporcionar la siguiente entrada.
Para crear o actualizar un rol personalizado mediante la CLI de Azure, debe proporcionar la siguiente entrada. Este es el mismo formato que el usado para crear un rol personalizado mediante Azure PowerShell.
Para crear o actualizar un rol personalizado mediante la API de REST, debe proporcionar la siguiente entrada. Este es el mismo formato que se genera al crear un rol personalizado mediante Azure Portal.
Muestre las características de Microsoft Entra ID para modernizar las soluciones de identidad, implementar soluciones híbridas e implementar la gobernanza de identidades.
Obtenga información acerca de las definiciones de roles de Azure en el control de acceso basado en roles de Azure (RBAC de Azure) para la administración de acceso específico de recursos de Azure.
Aprenda a crear roles personalizados de Azure mediante Azure Portal y el control de acceso basado en roles de Azure (RBAC de Azure). Esto incluye cómo enumerar, crear, actualizar y eliminar roles personalizados.
En este artículo se describen los roles integrados de Azure para el control de acceso basado en roles (Azure RBAC) de Azure. Se enumeran Actions, NotActions, DataActions y NotDataActions.
Obtenga información sobre cómo determinar a qué recursos tienen acceso los usuarios, grupos, entidades de servicio e identidades administradas mediante Azure Portal y el control de acceso basado en roles (RBAC) de Azure (RBAC de Azure).
Aprenda sobre las asignaciones de roles de Azure en el control de acceso basado en rol de Azure (Azure RBAC) para la administración del acceso específico de los recursos de Azure.