New-EntraServicePrincipalAppRoleAssignment

Asigna una entidad de servicio a un rol de aplicación.

Sintaxis

Default (valor predeterminado)

New-EntraServicePrincipalAppRoleAssignment

    -ServicePrincipalId <String>
    -PrincipalId <String>
    -Id <String>
    -ResourceId <String>
    [<CommonParameters>]

Description

El New-EntraServicePrincipalAppRoleAssignment cmdlet asigna una entidad de servicio a un rol de aplicación en Microsoft Entra ID.

En escenarios delegados, el usuario que llama necesita al menos uno de los siguientes roles Microsoft Entra.

  • Cuentas de sincronización de directorios
  • 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 rol de aplicación a una entidad de servicio

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$clientServicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
$resourceServicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Microsoft Graph'"
$appRole = $resourceServicePrincipal.AppRoles | Where-Object { $_.Value -eq "User.ReadBasic.All" }

New-EntraServicePrincipalAppRoleAssignment -ServicePrincipalId $clientServicePrincipal.Id -PrincipalId $clientServicePrincipal.Id -Id $appRole.Id -ResourceId $resourceServicePrincipal.Id

Ejemplo 2: Asignación de un rol de aplicación a otra entidad de servicio

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$clientServicePrincipal = Get-EntraServicePrincipal -Filter "displayName eq 'Helpdesk Application'"
$servicePrincipalObject = Get-EntraServicePrincipal -Filter "displayName eq 'Box'"
New-EntraServicePrincipalAppRoleAssignment -ServicePrincipalId $clientServicePrincipal.Id -PrincipalId $clientServicePrincipal.Id -ResourceId $servicePrincipalObject.Id -Id $servicePrincipalObject.Approles[1].Id
Id                                          AppRoleId                            CreationTimestamp   PrincipalDisplayName PrincipalId                          PrincipalType    ResourceDisplayName ResourceId
--                                          ---------                            -----------------   -------------------- -----------                          -------------    ------------------- ----------
1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5 00000000-0000-0000-0000-000000000000 12-03-2024 11:05:29 Box                  aaaaaaaa-bbbb-cccc-1111-222222222222 ServicePrincipal Box                 aaaa0000-bb11-2222-33cc-444444dddddd

En este ejemplo se muestra cómo asignar un rol de aplicación a otra entidad de servicio en Microsoft Entra ID. Puede usar el comando Get-EntraServicePrincipal para obtener un identificador de entidad de servicio.

  • -ServicePrincipalId el parámetro especifica el ObjectId de una entidad de servicio de cliente a la que va a asignar el rol de aplicación.
  • -ResourceIdparameter especifica el ObjectId de la entidad de servicio de recursos.
  • -Id el parámetro especifica el identificador del rol de aplicación (definido en la entidad de servicio de recursos) que se va a asignar a la entidad de servicio de cliente. Si no se definen roles de aplicación en la aplicación de recursos, puede usar 00000000-0000-0000-0000-000000000000.
  • -PrincipalId el parámetro especifica el ObjectId de la entidad de servicio de cliente a la que va a asignar el rol de aplicación.

Ejemplo 3: Asignación de un rol de aplicación a un usuario

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$servicePrincipalObject = Get-EntraServicePrincipal -Filter "displayName eq 'Box'"
$user = Get-EntraUser -UserId 'PattiF@Contoso.com'

New-EntraServicePrincipalAppRoleAssignment `
    -ServicePrincipalId $servicePrincipalObject.Id `
    -ResourceId $servicePrincipalObject.Id `
    -Id $servicePrincipalObject.Approles[1].Id `
    -PrincipalId $user.Id
Id                                          AppRoleId                            CreationTimestamp   PrincipalDisplayName PrincipalId                          PrincipalType    ResourceDisplayName ResourceId
--                                          ---------                            -----------------   -------------------- -----------                          -------------    ------------------- ----------
2bbbbbb2-3cc3-4dd4-5ee5-6ffffffffff6 00000000-0000-0000-0000-000000000000 12-03-2024 11:05:29 Box                  aaaaaaaa-bbbb-cccc-1111-222222222222 ServicePrincipal Box                 bbbb1111-cc22-3333-44dd-555555eeeeee

En este ejemplo se muestra cómo asignar un rol de aplicación a un usuario en Microsoft Entra ID. Puede usar el comando Get-EntraServicePrincipal para obtener un identificador de entidad de servicio. Puede usar el comando Get-EntraUser para obtener un identificador de usuario.

  • -ServicePrincipalId el parámetro especifica el ObjectId de la entidad de servicio de la aplicación.
  • -ResourceIdel parámetro especifica el ObjectId de la entidad de servicio de la aplicación.
  • -Id el parámetro especifica el identificador del rol de aplicación (definido en la entidad de servicio de la aplicación) que se va a asignar al usuario. Si no se define ningún rol de aplicación en la aplicación de recursos, puede usar 00000000-0000-0000-0000-000000000000 para indicar que la aplicación está asignada al usuario.
  • -PrincipalId el parámetro especifica el ObjectId de un usuario al que va a asignar el rol de aplicación.

Ejemplo 4: Asignación de un rol de aplicación a un grupo

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$servicePrincipalObject = Get-EntraServicePrincipal -Filter "displayName eq 'Box'"
$group = Get-EntraGroup -Filter "displayName eq 'Contoso marketing'"

New-EntraServicePrincipalAppRoleAssignment `
    -ServicePrincipalId $servicePrincipalObject.Id `
    -ResourceId $servicePrincipalObject.Id `
    -Id $servicePrincipalObject.Approles[1].Id `
    -PrincipalId $group.Id
Id                                          AppRoleId                            CreationTimestamp   PrincipalDisplayName PrincipalId                          PrincipalType    ResourceDisplayName ResourceId
--                                          ---------                            -----------------   -------------------- -----------                          -------------    ------------------- ----------
3cccccc3-4dd4-5ee5-6ff6-7aaaaaaaaaa7 00000000-0000-0000-0000-000000000000 12-03-2024 11:05:29 Box                  aaaaaaaa-bbbb-cccc-1111-222222222222 ServicePrincipal Box                 cccc2222-dd33-4444-55ee-666666ffffff

En este ejemplo se muestra cómo asignar un rol de aplicación a un grupo en Microsoft Entra ID. Puede usar el comando Get-EntraServicePrincipal para obtener un identificador de entidad de servicio. Puede usar el comando Get-EntraGroup para obtener un identificador de grupo.

  • -ServicePrincipalId el parámetro especifica el ObjectId de la entidad de servicio de la aplicación.
  • -ResourceIdel parámetro especifica el ObjectId de la entidad de servicio de la aplicación.
  • -Id el parámetro especifica el identificador del rol de aplicación (definido en la entidad de servicio de la aplicación) que se va a asignar al grupo. Si no se definen roles de aplicación en la aplicación de recursos, puede usar 00000000-0000-0000-0000-000000000000 para indicar que la aplicación está asignada al grupo.
  • -PrincipalId el parámetro especifica el ObjectId de un grupo al que va a asignar el rol de aplicación.

Parámetros

-Id

Especifica el identificador.

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

Especifica un identificador de entidad de seguridad.

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

Especifica un identificador de recurso.

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

-ServicePrincipalId

Especifica el identificador de una entidad de servicio en Microsoft Entra ID.

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.

Notas

New-EntraServiceAppRoleAssignment es un alias de New-EntraServicePrincipalAppRoleAssignment.