Descripción de las asignaciones de roles de Azure
Las asignaciones de roles permiten conceder a una entidad de seguridad (como un usuario, un grupo, una identidad administrada o una entidad de servicio) acceso a un recurso de Azure concreto. En este artículo se describen los detalles de las asignaciones de roles.
Asignación de roles
El acceso a los recursos de Azure se concede mediante la creación de una asignación de roles y se revoca al quitar una asignación de roles.
Una asignación de roles tiene varios componentes, entre los que se incluyen:
- La entidad de seguridad o quién tiene asignado el rol.
- El rol que tienen asignado.
- El ámbito en el que se asigna el rol.
- El nombre de la asignación de roles y una descripción que le ayuda a explicar por qué se ha asignado el rol.
Por ejemplo, puede usar Azure RBAC para asignar roles como:
- El usuario Sally tiene acceso de propietario a la cuenta de almacenamiento contoso123 en el grupo de recursos ContosoStorage.
- Todos los usuarios del grupo Administradores de la nube de Microsoft Entra ID tienen acceso de lector a todos los recursos del grupo de recursos ContosoStorage.
- La identidad administrada asociada a una aplicación puede reiniciar las máquinas virtuales dentro de la suscripción de Contoso.
Este es un ejemplo de las propiedades de una asignación de roles cuando se muestran mediante Azure PowerShell:
{
"RoleAssignmentName": "00000000-0000-0000-0000-000000000000",
"RoleAssignmentId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"Scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"DisplayName": "User Name",
"SignInName": "user@contoso.com",
"RoleDefinitionName": "Contributor",
"RoleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c",
"ObjectId": "22222222-2222-2222-2222-222222222222",
"ObjectType": "User",
"CanDelegate": false,
"Description": null,
"ConditionVersion": null,
"Condition": null
}
Este es un ejemplo de las propiedades de una asignación de roles cuando se muestran mediante la CLI de Azure o la API REST:
{
"canDelegate": null,
"condition": null,
"conditionVersion": null,
"description": null,
"id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000",
"name": "00000000-0000-0000-0000-000000000000",
"principalId": "22222222-2222-2222-2222-222222222222",
"principalName": "user@contoso.com",
"principalType": "User",
"roleDefinitionId": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c",
"roleDefinitionName": "Contributor",
"scope": "/subscriptions/11111111-1111-1111-1111-111111111111",
"type": "Microsoft.Authorization/roleAssignments"
}
En la tabla siguiente se describe el significado de las propiedades de la asignación de roles.
Propiedad | Descripción |
---|---|
RoleAssignmentName name |
Nombre de la asignación de roles, que es un identificador único global (GUID). |
RoleAssignmentId id |
Identificador único de la asignación de roles, que incluye el nombre. |
Scope scope |
Identificador de recursos de Azure al que se limita la asignación de roles. |
RoleDefinitionId roleDefinitionId |
Identificador único del rol. |
RoleDefinitionName roleDefinitionName |
Nombre del rol. |
ObjectId principalId |
Identificador de objeto de Microsoft Entra de la entidad de seguridad que tiene asignado el rol. |
ObjectType principalType |
Tipo de objeto de Microsoft Entra que representa la entidad de seguridad. Los valores válidos son User , Group y ServicePrincipal . |
DisplayName |
Para las asignaciones de roles de los usuarios, el nombre para mostrar del usuario. |
SignInName principalName |
El nombre principal de usuario (UPN) o el nombre de la aplicación asociada a la entidad de servicio. |
Description description |
Descripción de la asignación de roles. |
Condition condition |
Instrucción de condición compilada mediante una o varias acciones de definición de roles y atributos. |
ConditionVersion conditionVersion |
Número de versión de una condición. El valor predeterminado es 2.0 y es la única versión admitida. |
CanDelegate canDelegate |
Sin implementar. |
Ámbito
Al crear una asignación de roles, debe especificar el ámbito en el que se aplica. El ámbito representa el recurso o el conjunto de recursos a los que la entidad de seguridad puede acceder. Puede limitar una asignación de roles a un único recurso, un grupo de recursos, una suscripción o un grupo de administración.
Sugerencia
Use el ámbito más pequeño que necesita para cumplir sus requisitos.
Por ejemplo, si necesita conceder a una identidad administrada acceso a una única cuenta de almacenamiento, un procedimiento recomendado de seguridad consiste en crear la asignación de roles en el ámbito de la cuenta de almacenamiento, no en el del grupo de recursos ni el de la suscripción.
Para obtener más información sobre el ámbito, vea Comprensión del ámbito.
Rol que se asigna
Una asignación de roles está asociada a una definición de roles. La definición de roles especifica los permisos que la entidad de seguridad debe tener dentro del ámbito de la asignación de roles.
Puede asignar una definición de rol integrada o una definición de rol personalizada. Al crear una asignación de roles, algunas herramientas requieren que use el identificador de definición de roles, mientras que otras le permiten proporcionar el nombre del rol.
Para más información sobre las definiciones de roles, consulte Descripción de definiciones de roles.
Principal
Las entidades de seguridad incluyen usuarios, grupos de seguridad, identidades administradas, identidades de carga de trabajo y entidades de servicio. Las entidades de seguridad se crean y administran en el inquilino de Microsoft Entra. Puede asignar un rol a cualquier entidad de seguridad. Use el identificador de objeto de Microsoft Entra ID para identificar la entidad de seguridad a la que quiere asignar el rol.
Al crear una asignación de roles mediante Azure PowerShell, la CLI de Azure, Bicep u otra tecnología de infraestructura como código (IaC), especifique el tipo de entidad de seguridad. Los tipos principales incluyen User, Group y ServicePrincipal. Es importante especificar el tipo de entidad de seguridad correcto. De lo contrario, es posible que reciba errores de implementación intermitentes, especialmente cuando trabaja con entidades de servicio e identidades administradas.
Nombre
El nombre del recurso de una asignación de roles debe ser un identificador único global (GUID).
Los nombres de recursos de asignación de roles deben ser únicos dentro del inquilino de Microsoft Entra, incluso si el ámbito de la asignación de roles es más reducido.
Sugerencia
Al crear una asignación de roles mediante Azure Portal, Azure PowerShell o la CLI de Azure, el proceso de creación le asigna automáticamente un nombre único a la asignación de roles.
Si crea una asignación de roles mediante Bicep u otra tecnología de infraestructura como código (IaC), debe planear cuidadosamente cómo nombrar las asignaciones de roles. Para obtener más información, consulte Creación de recursos de RBAC de Azure mediante Bicep.
Comportamiento de la eliminación de recursos
Al eliminar un usuario, un grupo, una entidad de servicio o una identidad administrada de Microsoft Entra ID, se recomienda eliminar también cualquier asignación de roles, ya que no se eliminan automáticamente. Las asignaciones de roles que hacen referencia a un identificador de entidad de seguridad eliminado no son válidas.
Si intenta reutilizar el nombre de una asignación de roles para otra asignación, se producirá un error en la implementación. Es más probable que se produzca este problema cuando se usa Bicep o una plantilla de Azure Resource Manager (plantilla de ARM) para implementar las asignaciones de roles, ya que tiene que establecer explícitamente el nombre de la asignación de roles al usar estas herramientas. Para solucionar este comportamiento, debe eliminar la asignación de roles anterior antes de volver a crearla o asegurarse de que usa un nombre único al implementar una nueva asignación de roles.
Descripción
Puede agregar una descripción de texto a una asignación de roles. Aunque las descripciones son opcionales, se recomienda agregarlas a las asignaciones de roles. Proporcione una breve justificación de por qué la entidad de seguridad necesita el rol asignado. Cuando alguien audita las asignaciones de roles, las descripciones pueden ayudar a comprender por qué se han creado y si siguen siendo aplicables.
Condiciones
Algunos roles admiten condiciones de asignación de roles basadas en atributos en el contexto de acciones específicas. Una condición de asignación de roles es una comprobación adicional que puede agregar opcionalmente a la asignación de roles para proporcionar un control de acceso más preciso.
Por ejemplo, puede agregar una condición que requiera que un objeto tenga una etiqueta específica para leerlo.
Normalmente, se crean condiciones con un editor de condiciones visuales, pero este es el aspecto de una condición de ejemplo en el código:
((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})) OR (@resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'))
La condición anterior permite a los usuarios leer blobs con una clave de etiqueta de índice de blob de Project y un valor de Cascade.
Para más información sobre las condiciones, consulte ¿Qué es el control de acceso basado en atributos de Azure (Azure ABAC)?
Integración con Privileged Identity Management (versión preliminar)
Importante
La integración de la asignación de roles de Azure con Privileged Identity Management se encuentra actualmente en versión preliminar. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
Si tiene una licencia de Microsoft Entra ID P2 o Microsoft Entra ID, Privileged Identity Management (PIM) de Microsoft Entra se integra en los pasos de asignación de roles. Por ejemplo, puede asignar roles a los usuarios durante un período de tiempo limitado. También puede hacer que los usuarios sean aptos para las asignaciones de roles para que deban activarse para usar el rol, como la aprobación de solicitudes. Las asignaciones de roles aptas proporcionan acceso Just-In-Time a un rol durante un período de tiempo limitado. No puede crear asignaciones de roles aptas para aplicaciones, entidades de servicio ni identidades administradas porque no pueden realizar los pasos de activación. Puede crear asignaciones de roles aptas en los ámbitos de grupo de administración, suscripción y grupo de recursos, pero no en el ámbito de recurso. Esta funcionalidad se implementa en fases, por lo que es posible que aún no esté disponible en el inquilino o que la interfaz tenga un aspecto diferente.
Las opciones de tipo de asignación disponibles pueden variar en función de la directiva de PIM. Por ejemplo, la directiva de PIM define si se pueden crear asignaciones permanentes, la duración máxima de las asignaciones enlazadas a tiempo, los requisitos de activación de roles (aprobación, autenticación multifactor o contexto de autenticación de acceso condicional) y otras configuraciones. Para más información, vea Configuración de valores de rol de recurso de Azure en Privileged Identity Management.
Si no desea usar la funcionalidad de PIM, seleccione las opciones de tipo de asignación Activa y duración de asignación Permanente. Esta configuración crea una asignación de roles donde la entidad de seguridad siempre tiene permisos en el rol.
Para comprender mejor PIM, debe revisar los términos siguientes.
Término o concepto | Categoría de asignación de roles | Descripción |
---|---|---|
Apto | Tipo | Asignación de roles que requiere que un usuario realice una o varias acciones para usar el rol. Si un usuario es apto para un rol, eso significa que puede activarlo cuando necesite para realizar tareas con privilegios. No hay ninguna diferencia en el acceso proporcionado de forma permanente a una persona o una asignación de roles aptos. La única diferencia es que algunas personas no necesitan ese acceso todo el tiempo. |
active | Tipo | Asignación de roles que no requiere que el usuario realice ninguna acción para usar el rol. Los usuarios asignados como activos tienen privilegios asignados al rol. |
activar | Proceso de realizar una o varias acciones para usar un rol para el que es apto un usuario. Entre las acciones se puede incluir realizar una comprobación de autenticación multifactor (MFA), proporcionar una justificación de negocios o solicitar la aprobación de los aprobadores designados. | |
apto permanente | Duration | Asignación de roles en la que un usuario siempre es apto para activar el rol. |
activo permanente | Duration | Asignación de roles en la que un usuario siempre puede usar el rol, sin realizar ninguna acción. |
apto temporal | Duration | Asignación de roles en la que un usuario es apto para activar el rol solo dentro de un intervalo entre una fecha de inicio y otra de finalización. |
activo temporal | Duration | Asignación de roles en la que un usuario puede usar el rol solo dentro de un intervalo entre una fecha de inicio y otra de finalización. |
Acceso Just-In-Time (JIT) | Modelo en el que los usuarios reciben permisos temporales para realizar tareas con privilegios, lo que impide que usuarios malintencionados o sin autorización obtengan acceso después de que el permiso haya expirado. El acceso se concede solo cuando los usuarios lo necesitan. | |
Principio de acceso con privilegios mínimos | Una práctica de seguridad recomendada en la que se proporcionan a todos los usuarios únicamente los privilegios mínimos necesarios para realizar las tareas que están autorizados a realizar. Esta práctica minimiza el número de administradores globales, ya que en su lugar utiliza roles de administrador específicos para determinados escenarios. |
Para más información, vea ¿Qué es Privileged Identity Management de Microsoft Entra?