Administración de la asignación de usuarios para una aplicación en Azure Active DirectoryManage user assignment for an app in Azure Active Directory

En este artículo se explica cómo asignar usuarios o grupos a aplicaciones empresariales en Azure Active Directory (Azure AD), ya sea desde Azure Portal o con PowerShell.This article shows you how to assign users, and groups, to enterprise applications in Azure Active Directory (Azure AD), either from within the Azure portal or by using PowerShell. Cuando un usuario se asigna a una aplicación, dicha aplicación aparece en Aplicaciones del usuario para que pueda acceder a ella más fácilmente.When you assign a user to an application, the application appears in the user's My Apps for easy access. Si la aplicación expone roles, también se puede asignar un rol concreto al usuario.If the application exposes roles, you can also assign a specific role to the user.

De cara a tener un mayor control, se pueden configurar algunos tipos de aplicaciones empresariales para requerir la asignación de usuarios.For greater control, certain types of enterprise applications can be configured to require user assignment.

Importante

Cuando se asigna un grupo a una aplicación, solo tendrán acceso los usuarios del grupo.When you assign a group to an application, only users in the group will have access. La asignación no se aplica en cascada a los grupos anidados.The assignment does not cascade to nested groups.

Nota

La asignación basada en grupos requiere Azure Active Directory Premium P1 o P2.Group-based assignment requires Azure Active Directory Premium P1 or P2 edition. La asignación basada en grupo se admite en grupos de seguridad únicamente.Group-based assignment is supported for Security groups only. Actualmente no se admiten las pertenencias a grupos anidados y los grupos de Microsoft 365.Nested group memberships and Microsoft 365 groups are not currently supported. Para conocer más requisitos de licencia de las características abordadas en este artículo, vea la página de precios de Azure Active Directory.For more licensing requirements for the features discussed in this article, see the Azure Active Directory pricing page.

Configuración de una aplicación para que requiera la asignación de usuariosConfigure an application to require user assignment

En los siguientes tipos de aplicaciones existe la opción de requerir que los usuarios estén asignados a la aplicación para poder acceder a ella:With the following types of applications, you have the option of requiring users to be assigned to the application before they can access it:

  • Aplicaciones configuradas para el inicio de sesión único (SSO) federado con autenticación basada en SAMLApplications configured for federated single sign-on (SSO) with SAML-based authentication
  • Aplicaciones de proxy de aplicación que usan la autenticación previa de Azure Active DirectoryApplication Proxy applications that use Azure Active Directory Pre-Authentication
  • Aplicaciones integradas en la plataforma de aplicaciones de Azure AD que usan la autenticación de OAuth 2.0 u OpenID Connect después de que un usuario o un administrador han dado su consentimiento en esa aplicación.Applications built on the Azure AD application platform that use OAuth 2.0 / OpenID Connect Authentication after a user or admin has consented to that application.

Cuando se requiere la asignación de usuarios, solo podrán iniciar sesión los usuarios que se asignen expresamente a la aplicación (ya sea a través de una asignación directa de usuarios o según la pertenencia a grupos).When user assignment is required, only those users you explicitly assign to the application (either through direct user assignment or based on group membership) will be able to sign in. Estos pueden acceder a la aplicación desde su página Mis aplicaciones o a través de un vínculo directo.They can access the app on their My Apps page or by using a direct link.

Cuando la asignación no es necesaria, ya sea porque esta opción se ha establecido en No o porque la aplicación usa otro modo de SSO, podrá acceder a la aplicación cualquier usuario que tenga un vínculo directo a la aplicación o la dirección URL de acceso de usuario en la página Propiedades de la aplicación.When assignment is not required, either because you've set this option to No or because the application uses another SSO mode, any user will be able to access the application if they have a direct link to the application or the User Access URL in the application’s Properties page.

Esto no afecta a si una aplicación aparece o no en Aplicaciones.This setting doesn't affect whether or not an application appears on My Apps. Las aplicaciones aparecen en los paneles de acceso Mis aplicaciones de los usuarios en el momento en que un usuario o un grupo se asigna a la aplicación en cuestión.Applications appear on users' My Apps access panels once you've assigned a user or group to the application. Para obtener información general, vea Administración del acceso a las aplicaciones.For background, see Managing access to apps.

Para requerir la asignación de usuarios en una aplicación:To require user assignment for an application:

  1. Inicie sesión en Azure Portal con una cuenta de administrador o como propietario de la aplicación.Sign in to the Azure portal with an administrator account or as an owner of the application.
  2. Seleccione Azure Active Directory.Select Azure Active Directory. En el menú de navegación de la izquierda, seleccione Aplicaciones empresariales.In the left navigation menu, select Enterprise applications.
  3. Seleccione la aplicación de la lista.Select the application from the list. Si no la ve, empiece a escribir su nombre en el cuadro de búsqueda.If you don't see the application, start typing its name in the search box. También puede usar controles de filtro para seleccionar el tipo de aplicación, el estado o la visibilidad. Tras ello, seleccione Aplicar.Or use the filter controls to select the application type, status, or visibility, and then select Apply.
  4. En el menú de navegación de la izquierda, seleccione Propiedades.In the left navigation menu, select Properties.
  5. Asegúrese de que el botón de alternancia ¿Asignación de usuarios? está establecido en .Make sure the User assignment required? toggle is set to Yes.

    Nota

    Si ¿Asignación de usuarios? no está disponible, puede usar PowerShell para establecer la propiedad appRoleAssignmentRequired en la entidad de servicio.If the User assignment required? toggle isn't available, you can use PowerShell to set the appRoleAssignmentRequired property on the service principal.

  6. Seleccione el botón Guardar de la parte superior de la pantalla.Select the Save button at the top of the screen.

Asignación o desasignación de usuarios y grupos para una aplicación mediante Azure PortalAssign or unassign users, and groups, for an app using the Azure portal

Para obtener información sobre cómo asignar o desasignar un usuario o grupo mediante Azure Portal, consulte la serie de inicios rápidos de Administración de aplicaciones.To learn how to assign, or unassign, a user or group using the Azure portal, see the Quickstart Series on Application Management.

Asignación o desasignación de usuarios y grupos para una aplicación mediante Graph APIAssign or unassign users, and groups, for an app using the Graph API

Puede usar Graph API para asignar o desasignar usuarios y grupos para una aplicación.You can use the Graph API to assign or unassign users, and groups, for an app. Para más información, consulte Asignaciones de roles de aplicación.To learn more, see App role assignments.

Asignación de usuarios y grupos a una aplicación mediante PowerShellAssign users, and groups, to an app using PowerShell

  1. Abra un símbolo del sistema de Windows PowerShell con privilegios elevados.Open an elevated Windows PowerShell command prompt.

    Nota

    Debe instalar el módulo de AzureAD (use el comando Install-Module -Name AzureAD).You need to install the AzureAD module (use the command Install-Module -Name AzureAD). Si se le pide que instale un módulo de NuGet o el nuevo módulo de PowerShell para Azure Active Directory V2, escriba S y presione ENTRAR.If prompted to install a NuGet module or the new Azure Active Directory V2 PowerShell module, type Y and press ENTER.

  2. Ejecute Connect-AzureAD e inicie sesión con una cuenta de usuario administrador global.Run Connect-AzureAD and sign in with a Global Admin user account.

  3. Use el siguiente script para asignar un usuario y un rol a una aplicación:Use the following script to assign a user and role to an application:

    # Assign the values to the variables
    $username = "<Your user's UPN>"
    $app_name = "<Your App's display name>"
    $app_role_name = "<App role display name>"
    
    # Get the user to assign, and the service principal for the app to assign to
    $user = Get-AzureADUser -ObjectId "$username"
    $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
    
    # Assign the user to the app role
    New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
    

Para obtener más información sobre cómo asignar un usuario a un rol de aplicación, consulte la documentación de New-AzureADUserAppRoleAssignment.For more information about how to assign a user to an application role, see the documentation for New-AzureADUserAppRoleAssignment.

Para asignar un grupo a una aplicación empresarial, es necesario reemplazar Get-AzureADUser por Get-AzureADGroup y reemplazar New-AzureADUserAppRoleAssignment por New-AzureADGroupAppRoleAssignment.To assign a group to an enterprise app, you must replace Get-AzureADUser with Get-AzureADGroup and replace New-AzureADUserAppRoleAssignment with New-AzureADGroupAppRoleAssignment.

Para obtener más información sobre cómo asignar un grupo a un rol de aplicación, consulte la documentación de New-AzureADGroupAppRoleAssignment.For more information about how to assign a group to an application role, see the documentation for New-AzureADGroupAppRoleAssignment.

EjemploExample

En este ejemplo se asigna el usuario Britta Simon a la aplicación Microsoft Workplace Analytics mediante PowerShell.This example assigns the user Britta Simon to the Microsoft Workplace Analytics application using PowerShell.

  1. En PowerShell, asigne los valores correspondientes a las variables $username, app_name $ y $app_role_name.In PowerShell, assign the corresponding values to the variables $username, $app_name and $app_role_name.

    # Assign the values to the variables
    $username = "britta.simon@contoso.com"
    $app_name = "Workplace Analytics"
    
  2. En este ejemplo, no se sabe cuál es el nombre exacto del rol de aplicación que se quiere asignar a Britta Simon.In this example, we don't know what is the exact name of the application role we want to assign to Britta Simon. Ejecute los comandos siguientes para obtener el usuario ($user) y la entidad de servicio ($sp) mediante el UPN de usuario y los nombres para mostrar de la entidad de servicio.Run the following commands to get the user ($user) and the service principal ($sp) using the user UPN and the service principal display names.

    # Get the user to assign, and the service principal for the app to assign to
    $user = Get-AzureADUser -ObjectId "$username"
    $sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
    
  3. Ejecute el comando $sp.AppRoles para mostrar los roles disponibles para la aplicación Workplace Analytics.Run the command $sp.AppRoles to display the roles available for the Workplace Analytics application. En este ejemplo, queremos asignar a Britta Simon el rol de Analyst (acceso limitado).In this example, we want to assign Britta Simon the Analyst (Limited access) Role. Muestra los roles disponibles para un usuario con el rol Workplace Analytics.Shows the roles available to a user using Workplace Analytics Role

  4. Asigne el nombre de rol a la variable $app_role_name.Assign the role name to the $app_role_name variable.

    # Assign the values to the variables
    $app_role_name = "Analyst (Limited access)"
    $appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
    
  5. Ejecute el comando siguiente para asignar el rol de aplicación al usuario:Run the following command to assign the user to the app role:

    # Assign the user to the app role
    New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
    

Desasignación de usuarios y grupos de una aplicación mediante PowerShellUnassign users, and groups, from an app using PowerShell

  1. Abra un símbolo del sistema de Windows PowerShell con privilegios elevados.Open an elevated Windows PowerShell command prompt.

    Nota

    Debe instalar el módulo de AzureAD (use el comando Install-Module -Name AzureAD).You need to install the AzureAD module (use the command Install-Module -Name AzureAD). Si se le pide que instale un módulo de NuGet o el nuevo módulo de PowerShell para Azure Active Directory V2, escriba S y presione ENTRAR.If prompted to install a NuGet module or the new Azure Active Directory V2 PowerShell module, type Y and press ENTER.

  2. Ejecute Connect-AzureAD e inicie sesión con una cuenta de usuario administrador global.Run Connect-AzureAD and sign in with a Global Admin user account.

  3. Use el siguiente script para eliminar un usuario y un rol de una aplicación:Use the following script to remove a user and role from an application:

    # Store the proper parameters
    $user = get-azureaduser -ObjectId <objectId>
    $spo = Get-AzureADServicePrincipal -ObjectId <objectId>
    
    #Get the ID of role assignment 
    $assignments = Get-AzureADServiceAppRoleAssignment -ObjectId $spo.ObjectId | Where {$_.PrincipalDisplayName -eq $user.DisplayName}
    
    #if you run the following, it will show you what is assigned what
    $assignments | Select *
    
    #To remove the App role assignment run the following command.
    Remove-AzureADServiceAppRoleAssignment -ObjectId $spo.ObjectId -AppRoleAssignmentId $assignments[assignment #].ObjectId
    

Pasos siguientesNext steps