Asignaciones de roles elegibles y con límite de tempo en Azure RBAC
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.
En este artículo se describe la integración del control de acceso basado en roles de Azure (Azure RBAC) y Microsoft Entra Privileged Identity Management (PIM) para crear asignaciones de roles elegibles y con límites de tiempo.
Funcionalidad de PIM
Si tiene PIM, puede crear asignaciones de roles elegibles y con límite de tiempo desde la página Control de acceso (IAM) de Azure Portal. Puede crear asignaciones de roles elegibles para usuarios, pero puede crearlos para aplicaciones, entidades de servicio ni identidades administradas porque no pueden realizar los pasos de activación. En la página Control de acceso (IAM), es posible crear asignaciones de roles aptas en el ámbito del grupo de administración, la suscripción y el grupo de recursos, pero no en el ámbito del recurso.
Este es un ejemplo de la pestaña Tipo de asignación cuando se agregar una asignación de roles mediante la página Control de acceso (IAM).. 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.
Los usuarios con asignaciones elegibles o con límite de tiempo deben tener una licencia válida. 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?
Enumeración de asignaciones de roles elegibles y con límite de tiempo
Si desea ver qué usuarios utilizan la funcionalidad de PIM, estas son las opciones para enumerar las asignaciones de roles elegibles y con límite de tiempo.
Opción 1: enumerar desde Azure Portal
Inicie sesión en Azure Portal, abra la página Control de acceso (IAM) y seleccione la pestaña Asignaciones de roles.
Filtre las asignaciones de roles elegibles y con límite de tiempo.
Puede agruparlas y ordenarlas por Estadoy buscar asignaciones de roles que no sean del tipo Permanente activo.
Opción 2: utilizar PowerShell para enumerar
No hay ningún comando de PowerShell que pueda enumerar las asignaciones de roles elegibles y activas con límite de tiempo. Para enumerar las asignaciones de roles elegibles, use el comando Get-AzRoleEligibilitySchedule. Para enumerar las asignaciones de roles activas, use el comando Get-AzRoleAssignmentSchedule.
En este ejemplo se muestra cómo enumerar las asignaciones de roles elegibles y con límite de tiempo en una suscripción, lo que incluye estos tipos de asignación de roles:
- Apta permanente
- Apta por un tiempo determinado
- Activa por un tiempo determinado
El comando Where-Object
filtra y elimina las asignaciones de roles permanentes activas que están disponibles con la funcionalidad Azure RBAC sin PIM.
Get-AzRoleEligibilitySchedule -Scope /subscriptions/<subscriptionId>
Get-AzRoleAssignmentSchedule -Scope /subscriptions/<subscriptionId> | Where-Object {$_.EndDateTime -ne $null }
Para obtener información sobre la construcción de ámbitos, consulte Descripción del ámbito de Azure RBAC.
Conversión de asignaciones de roles elegibles y con límite de tiempo a permanentes activas
Si su organización tiene que limitar el uso de PIM por motivos de proceso o cumplimiento normativo, estas son las opciones para convertir estas asignaciones de roles en permanentes activas.
Opción 1: conversión desde Azure Portal
En Azure Portal, en la pestaña Asignaciones de roles y en la columna Estado, seleccione los vínculos Elegible permanente, Elegible con límite de tiempo y Activo con límite de tiempo para cada asignación de roles que quiera convertir.
En el panel Editar asignación, seleccione Activo en tipo de asignación y Permanente en duración de la asignación.
Para más información, consulte Edición de asignaciones.
Cuando termine, seleccione Guardar.
Las actualizaciones pueden tardar un tiempo en procesarse y reflejarse en el portal.
Repita estos pasos en todas las asignaciones de roles de los ámbitos de grupo de administración, suscripción y grupo de recursos que desee convertir.
Si tiene asignaciones de roles en el ámbito de recurso que desee convertir, debe realizar los cambios directamente en PIM.
Opción 2: conversión mediante PowerShell
No hay ningún comando o API para convertir directamente asignaciones de roles a otro estado o tipo, por lo que puede seguir estos pasos para hacerlo.
Importante
La eliminación de asignaciones de roles puede provocar interrupciones en el entorno. Asegúrese de conoce el impacto que pueden provocar estos pasos antes de darlos.
Recupere la lista de todas las asignaciones de roles elegibles y con límite de tiempo y guárdela en una ubicación segura para evitar la pérdida de datos.
Importante
Es importante guardar la lista de asignaciones de roles elegibles y con límite a tiempo, ya que estos pasos requieren quitarlas antes de crear las mismas asignaciones de roles como activas permanentes.
Use el comando New-AzRoleEligibilityScheduleRequest para quitar las asignaciones de roles elegibles.
En este ejemplo se muestra cómo quitar una asignación de roles elegible.
$guid = New-Guid New-AzRoleEligibilityScheduleRequest -Name $guid -Scope <Scope> -PrincipalId <PrincipalId> -RoleDefinitionId <RoleDefinitionId> -RequestType AdminRemove
Use el comando New-AzRoleAssignmentScheduleRequest para quitar las asignaciones de roles con límite de tiempo activas.
En este ejemplo se muestra cómo quitar una asignación de roles con límite de tiempo activa.
$guid = New-Guid New-AzRoleAssignmentScheduleRequest -Name $guid -Scope <Scope> -PrincipalId <PrincipalId> -RoleDefinitionId <RoleDefinitionId> -RequestType AdminRemove
Use el comando Get-AzRoleAssignment para buscar una asignación de roles existente y el comando New-AzRoleAssignment para crear una asignación de roles permanente activa con Azure RBAC para cada asignación de roles elegible y con límite de tiempo.
En este ejemplo se muestra cómo comprobar si hay una asignación de roles existente y crear una asignación de roles permanente activa con Azure RBAC.
$result = Get-AzRoleAssignment -ObjectId $RA.PrincipalId -RoleDefinitionName $RA.RoleDefinitionDisplayName -Scope $RA.Scope; if($result -eq $null) { New-AzRoleAssignment -ObjectId $RA.PrincipalId -RoleDefinitionName $RA.RoleDefinitionDisplayName -Scope $RA.Scope }
Limitación de la creación de asignaciones de roles elegibles o con límite de tiempo
Si su organización tiene que limitar el uso de PIM por motivos de proceso o cumplimiento normativo, puede usar Azure Policy para limitar la creación de asignaciones de roles elegibles o con límite de tiempo. Para obtener más información, consulte ¿Qué es Azure Policy?
Esta es una directiva de ejemplo que limita la creación de asignaciones de roles elegibles y con límites de tiempo, excepto una lista específica de identidades. Se pueden agregar parámetros y comprobaciones adicionales para otras condiciones de permiso.
{
"properties": {
"displayName": "Limit eligible and active time-bound role assignments except for allowed principal IDs",
"policyType": "Custom",
"mode": "All",
"metadata": {
"createdBy": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"createdOn": "2024-11-05T02:31:25.1246591Z",
"updatedBy": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"updatedOn": "2024-11-06T07:58:17.1699721Z"
},
"version": "1.0.0",
"parameters": {
"allowedPrincipalIds": {
"type": "Array",
"metadata": {
"displayName": "Allowed Principal IDs",
"description": "A list of principal IDs that can receive PIM role assignments."
},
"defaultValue": []
}
},
"policyRule": {
"if": {
"anyof": [
{
"allOf": [
{
"field": "type",
"equals": "Microsoft.Authorization/roleEligibilityScheduleRequests"
},
{
"not": {
"field": "Microsoft.Authorization/roleEligibilityScheduleRequests/principalId",
"in": "[parameters('allowedPrincipalIds')]"
}
}
]
},
{
"allOf": [
{
"field": "type",
"equals": "Microsoft.Authorization/roleAssignmentScheduleRequests"
},
{
"not": {
"field": "Microsoft.Authorization/roleAssignmentScheduleRequests/principalId",
"in": "[parameters('allowedPrincipalIds')]"
}
}
]
}
]
},
"then": {
"effect": "deny"
}
},
"versions": [
"1.0.0"
]
},
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4ef/providers/Microsoft.Authorization/policyDefinitions/1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5",
"type": "Microsoft.Authorization/policyDefinitions",
"name": "1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5",
"systemData": {
"createdBy": "test1@contoso.com",
"createdByType": "User",
"createdAt": "2024-11-05T02:31:25.0836273Z",
"lastModifiedBy": "test1@contoso.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-11-06T07:58:17.1651655Z"
}
}
Para obtener información sobre las propiedades de los recursos de PIM, consulte estos documentos de la API REST:
Para obtener información sobre cómo asignar una instancia de Azure Policy con parámetros, consulte Tutorial: Creación y administración de directivas para aplicar el cumplimiento.