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.

  • -UserId el parámetro especifica el identificador de un usuario al que va a asignar el rol de aplicación.
  • -PrincipalId el parámetro especifica el identificador de un usuario al que va a asignar el rol de aplicación.
  • -ResourceId el parámetro especifica el identificador de un servicePrincipal de recurso que ha definido el rol de aplicación.
  • -AppRoleId el 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.

  • -UserId el parámetro especifica el identificador de un usuario al que va a asignar el rol de aplicación.
  • -PrincipalId el parámetro especifica el identificador de un usuario al que va a asignar el rol de aplicación.
  • -ResourceId el parámetro especifica el identificador de un servicePrincipal de recurso que ha definido el rol de aplicación.
  • -AppRoleId el 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.