New-EntraUserAppRoleAssignment
Asigna un usuario a un rol de aplicación.
Sintaxis
Default (valor predeterminado)
New-EntraUserAppRoleAssignment
-UserId <String>
-PrincipalId <String>
-AppRoleId <String>
-ResourceId <String>
[<CommonParameters>]
Description
El New-EntraUserAppRoleAssignment cmdlet asigna un usuario a un rol de aplicación en Microsoft Entra ID.
En escenarios delegados con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe tener un rol de Microsoft Entra compatible o un rol personalizado con los permisos necesarios. Entre los roles admitidos se incluyen:
- Cuentas de sincronización de directorios (para Entra Connect y Cloud Sync)
- Escritor de directorios
- Administrador de identidades híbridas
- Administrador de gobernanza de identidades
- Administrador de roles con privilegios
- Administrador de usuarios
- Administrador de aplicaciones
- Administrador de aplicaciones en la nube
Ejemplos
Ejemplo 1: Asignación de un usuario a una aplicación sin roles
Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$appId = (Get-EntraApplication -SearchString '<App-DisplayName>').AppId
$user = Get-EntraUser -SearchString '<UserPrincipalName>'
$servicePrincipal = Get-EntraServicePrincipal -Filter "appId eq '$appId'"
$params = @{
UserId = $user.Id
PrincipalId = $user.Id
ResourceId = $servicePrincipal.Id
AppRoleId = [Guid]::Empty
}
New-EntraUserAppRoleAssignment @params
DeletedDateTime Id AppRoleId CreatedDateTime PrincipalDisplayName PrincipalId PrincipalType ResourceDisplayName
--------------- -- --------- --------------- -------------------- ----------- ------------- ------------------- -
A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 18-06-2024 11:22:40 UserPrincipalName aaaaaaaa-bbbb-cccc-1111-222222222222 User App-DisplayName
Este comando asigna un usuario a una aplicación que no tiene ningún rol.
-
-UserIdel parámetro especifica el identificador de un usuario al que va a asignar el rol de aplicación. -
-PrincipalIdel parámetro especifica el identificador de un usuario al que va a asignar el rol de aplicación. -
-ResourceIdel parámetro especifica el identificador de un servicePrincipal de recurso que ha definido el rol de aplicación. -
-AppRoleIdel parámetro especifica el identificador de una appRole (definida en la entidad de servicio de recursos) que se va a asignar al usuario.
Ejemplo 2: Asignación de un usuario a un rol específico dentro de una aplicación
Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$servicePrincipal = Get-EntraServicePrincipal -Filter "DisplayName eq 'Box'"
$user = Get-EntraUser -UserId 'SawyerM@contoso.com'
$params = @{
UserId = $user.Id
PrincipalId = $user.Id
ResourceId = $servicePrincipal.Id
AppRoleId = $servicePrincipal.AppRoles[1].Id
}
New-EntraUserAppRoleAssignment @params
DeletedDateTime Id AppRoleId CreatedDateTime PrincipalDisplayName PrincipalId PrincipalType ResourceDisplayName
--------------- -- --------- --------------- -------------------- ----------- ------------- -------------------
A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 06/18/2024 09:47:00 Sawyer Miller 1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5 User Box
En este ejemplo se muestra cómo asignar un usuario a un rol de aplicación en Microsoft Entra ID.
-
-UserIdel parámetro especifica el identificador de un usuario al que va a asignar el rol de aplicación. -
-PrincipalIdel parámetro especifica el identificador de un usuario al que va a asignar el rol de aplicación. -
-ResourceIdel parámetro especifica el identificador de un servicePrincipal de recurso que ha definido el rol de aplicación. -
-AppRoleIdel parámetro especifica el identificador de una appRole (definida en la entidad de servicio de recursos) que se va a asignar al usuario.
Parámetros
-AppRoleId
Identificador del rol de aplicación que se va a asignar.
Si la aplicación no tiene ningún rol al crear una nueva asignación de roles de aplicación, proporcione un guid vacío o el identificador del rol que se va a asignar al usuario.
Puede recuperar los roles de la aplicación examinando la propiedad AppRoles del objeto de aplicación:
Get-EntraApplication -SearchString 'Your-Application-DisplayName' | Select-Object Approles | Format-List
Este cmdlet devuelve la lista de roles definidos en una aplicación:
AppRoles: {GUID1, GUID2}
Propiedades de parámetro
| Tipo: | System.String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-PrincipalId
Identificador de objeto de la entidad de seguridad a la que se asigna el nuevo rol de aplicación.
Al asignar un nuevo rol a un usuario, proporcione el identificador de objeto del usuario.
Propiedades de parámetro
| Tipo: | System.String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-ResourceId
Identificador de objeto de la entidad de servicio de la aplicación a la que se asigna el rol de usuario.
Propiedades de parámetro
| Tipo: | System.String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-UserId
Especifica el identificador del usuario (como UserPrincipalName o ObjectId) en Microsoft Entra ID al que se va a asignar el nuevo rol de aplicación.
Propiedades de parámetro
| Tipo: | System.String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | ObjectId (identificador de objeto) |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.