Roles personalizados en los recursos de AzureCustom roles for Azure resources

Si los roles integrados para los recursos de Azure no cumplen las necesidades específicas de su organización, puede crear sus propios roles personalizados.If the built-in roles for Azure resources don't meet the specific needs of your organization, you can create your own custom roles. Igual que los roles integrados, puede asignar roles personalizados a usuarios, grupos y entidades de servicio en los ámbitos de suscripción, grupo de recursos y recurso.Just like built-in roles, you can assign custom roles to users, groups, and service principals at subscription, resource group, and resource scopes.

Los roles personalizados se pueden compartir entre suscripciones que confían en el mismo directorio de Azure AD.Custom roles can be shared between subscriptions that trust the same Azure AD directory. Hay un límite de 5000 roles personalizados por directorio.There is a limit of 5,000 custom roles per directory. (Para nubes especializadas, como Azure Government, Azure Alemania y Azure China 21Vianet, el límite es de 2000 roles personalizados). Se pueden crear roles personalizados con Azure PowerShell, la CLI de Azure o la API REST.(For specialized clouds, such as Azure Government, Azure Germany, and Azure China 21Vianet, the limit is 2,000 custom roles.) Custom roles can be created using Azure PowerShell, Azure CLI, or the REST API.

Ejemplo de rol personalizadoCustom role example

A continuación se muestra el aspecto de un rol personalizado en formato JSON.The following shows what a custom role looks like as displayed in JSON format. Este rol personalizado puede usarse para supervisar y reiniciar máquinas virtuales.This custom role can be used for monitoring and restarting virtual machines.

{
  "Name": "Virtual Machine Operator",
  "Id": "88888888-8888-8888-8888-888888888888",
  "IsCustom": true,
  "Description": "Can monitor and restart virtual machines.",
  "Actions": [
    "Microsoft.Storage/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Authorization/*/read",
    "Microsoft.ResourceHealth/availabilityStatuses/read",
    "Microsoft.Resources/subscriptions/resourceGroups/read",
    "Microsoft.Insights/alertRules/*",
    "Microsoft.Insights/diagnosticSettings/*",
    "Microsoft.Support/*"
  ],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
    "/subscriptions/{subscriptionId1}",
    "/subscriptions/{subscriptionId2}",
    "/subscriptions/{subscriptionId3}"
  ]
}

Después de crear un rol personalizado, aparece en Azure Portal con un icono de recurso naranja.When you create a custom role, it appears in the Azure portal with an orange resource icon.

Icono de rol personalizado

Pasos para crear un rol personalizadoSteps to create a custom role

  1. Decidir cómo se quiere crear el rol personalizadoDecide how you want to create the custom role

    Puede crear roles personalizados con Azure PowerShell, la CLI de Azure o la API de REST.You can create custom roles using Azure PowerShell, Azure CLI, or the REST API.

  2. Determinar los permisos que necesitaDetermine the permissions you need

    Cuando crea un rol personalizado, debe conocer las operaciones del proveedor de recursos que están disponibles para definir los permisos.When you create a custom role, you need to know the resource provider operations that are available to define your permissions. Para ver la lista de operaciones, vea Operaciones del proveedor de recursos de Azure Resource Manager.To view the list of operations, see the Azure Resource Manager resource provider operations. Agregará las operaciones a las propiedades Actions o NotActions de la definición de roles.You will add the operations to the Actions or NotActions properties of the role definition. Si tiene operaciones de datos, las agregará a las propiedades DataActions o NotDataActions.If you have data operations, you will add those to the DataActions or NotDataActions properties.

  3. Creación del rol personalizadoCreate the custom role

    Por lo general, empiece con un rol integrado existente y, a continuación, modifíquelo según sus necesidades.Typically, you start with an existing built-in role and then modify it for your needs. A continuación, use los comandos New-AzRoleDefinition o az role definition create para crear el rol personalizado.Then you use the New-AzRoleDefinition or az role definition create commands to create the custom role. Para crear un rol personalizado, debe tener el permiso Microsoft.Authorization/roleDefinitions/write en todos los AssignableScopes, como Propietario o Administrador de acceso de usuario.To create a custom role, you must have the Microsoft.Authorization/roleDefinitions/write permission on all AssignableScopes, such as Owner or User Access Administrator.

  4. Probar el rol personalizadoTest the custom role

    Una vez que tenga el rol personalizado, tiene que probarlo para comprobar que funciona según lo esperado.Once you have your custom role, you have to test it to verify that it works as you expect. Si tiene que realizar ajustes más adelante, puede actualizar el rol personalizado.If you need to make adjustments later, you can update the custom role.

Para ver un tutorial paso a paso sobre cómo crear un rol personalizado, consulte Tutorial: Creación de un rol personalizado con Azure PowerShell o Tutorial: Creación de un rol personalizado con la CLI de Azure.For a step-by-step tutorial on how to create a custom role, see Tutorial: Create a custom role using Azure PowerShell or Tutorial: Create a custom role using Azure CLI.

Propiedades del rol personalizadoCustom role properties

Un rol personalizado tiene las siguientes propiedades.A custom role has the following properties.

PropiedadProperty ObligatorioRequired typeType DESCRIPCIÓNDescription
Name Yes CadenaString Nombre para mostrar del rol personalizado.The display name of the custom role. Aunque una definición de roles es un recurso de nivel de suscripción, una definición de roles se puede usar en varias suscripciones que compartan el mismo directorio de Azure AD.While a role definition is a subscription-level resource, a role definition can be used in multiple subscriptions that share the same Azure AD directory. Este nombre para mostrar debe ser único en el ámbito del directorio de Azure AD.This display name must be unique at the scope of the Azure AD directory. Puede incluir letras, números, espacios y caracteres especiales.Can include letters, numbers, spaces, and special characters. El número máximo de caracteres es 128.Maximum number of characters is 128.
Id Yes CadenaString El identificador exclusivo del rol personalizado.The unique ID of the custom role. Para Azure PowerShell y la CLI de Azure, este identificador se genera automáticamente cuando se crea un rol.For Azure PowerShell and Azure CLI, this ID is automatically generated when you create a new role.
IsCustom Yes CadenaString Indica si es un rol personalizado.Indicates whether this is a custom role. Establecido en true para los roles personalizados.Set to true for custom roles.
Description Yes CadenaString Descripción del rol personalizado.The description of the custom role. Puede incluir letras, números, espacios y caracteres especiales.Can include letters, numbers, spaces, and special characters. El número máximo de caracteres es 1024.Maximum number of characters is 1024.
Actions Yes String[]String[] Matriz de cadenas que especifica las operaciones de administración que el rol permite realizar.An array of strings that specifies the management operations that the role allows to be performed. Para obtener más información, consulte Actions.For more information, see Actions.
NotActions SinNo String[]String[] Matriz de cadenas que especifica las operaciones de administración que se excluyen de las Actions permitidas.An array of strings that specifies the management operations that are excluded from the allowed Actions. Para obtener más información, consulte notActions.For more information, see NotActions.
DataActions SinNo String[]String[] Matriz de cadenas que especifica las operaciones de datos que el rol permite realizar en los datos dentro de ese objeto.An array of strings that specifies the data operations that the role allows to be performed to your data within that object. Para más información, vea DataActions.For more information, see DataActions.
NotDataActions SinNo String[]String[] Matriz de cadenas que especifica las operaciones de datos que se excluyen de las DataActions permitidas.An array of strings that specifies the data operations that are excluded from the allowed DataActions. Para más información, vea NotDataActions.For more information, see NotDataActions.
AssignableScopes Yes String[]String[] Matriz de cadenas que especifica los ámbitos en los que el rol personalizado está disponible para la asignación.An array of strings that specifies the scopes that the custom role is available for assignment. En los roles personalizados, AssignableScopes no se puede establecer actualmente en el ámbito raíz ("/") o en un ámbito de grupo de administración.For custom roles, you currently cannot set AssignableScopes to the root scope ("/") or a management group scope. Para más información, consulte AssignableScopes y Organización de los recursos con grupos de administración de Azure.For more information, see AssignableScopes and Organize your resources with Azure management groups.

Quién puede crear, eliminar, actualizar o ver un rol personalizadoWho can create, delete, update, or view a custom role

Al igual que los roles integrados, la propiedad AssignableScopes especifica los ámbitos en los que el rol está disponible para la asignación.Just like built-in roles, the AssignableScopes property specifies the scopes that the role is available for assignment. La propiedad AssignableScopes de un rol personalizado también controla quién puede crear, eliminar, actualizar o ver dicho rol.The AssignableScopes property for a custom role also controls who can create, delete, update, or view the custom role.

TareaTask OperaciónOperation DESCRIPCIÓNDescription
Creación o eliminación de un rol personalizadoCreate/delete a custom role Microsoft.Authorization/ roleDefinitions/write Los usuarios que tienen acceso a esta operación en todos los ámbitos AssignableScopes del rol personalizado pueden crear (o eliminar) roles personalizados para usar en esos ámbitos.Users that are granted this operation on all the AssignableScopes of the custom role can create (or delete) custom roles for use in those scopes. Por ejemplo, los propietarios y administradores del acceso de los usuarios de las suscripciones, los grupos de recursos y los recursos.For example, Owners and User Access Administrators of subscriptions, resource groups, and resources.
Actualización de un rol personalizadoUpdate a custom role Microsoft.Authorization/ roleDefinitions/write Los usuarios que tienen acceso a esta operación en todos los ámbitos AssignableScopes del rol personalizado pueden actualizar roles personalizados en esos ámbitos.Users that are granted this operation on all the AssignableScopes of the custom role can update custom roles in those scopes. Por ejemplo, los propietarios y administradores del acceso de los usuarios de las suscripciones, los grupos de recursos y los recursos.For example, Owners and User Access Administrators of subscriptions, resource groups, and resources.
Visualización de un rol personalizadoView a custom role Microsoft.Authorization/ roleDefinitions/read Los usuarios que tienen acceso a esta operación en un ámbito pueden ver los roles personalizados que están disponibles para su asignación en ese ámbito.Users that are granted this operation at a scope can view the custom roles that are available for assignment at that scope. Todos los roles integrados permiten que los roles personalizados estén disponibles para la asignación.All built-in roles allow custom roles to be available for assignment.

Pasos siguientesNext steps