New-AzureADServiceAppRoleAssignment

Asigna un rol de aplicación a un usuario, un grupo u otra entidad de servicio.

Syntax

New-AzureADServiceAppRoleAssignment
   -ObjectId <String>
   [-InformationAction <ActionPreference>]
   [-InformationVariable <String>]
   -Id <String>
   -PrincipalId <String>
   -ResourceId <String>
   [<CommonParameters>]

Description

El cmdlet New-AzureADServiceAppRoleAssignment asigna un rol de aplicación de una entidad de servicio de recursos a un usuario, un grupo u otra entidad de servicio. Los roles de aplicación asignados a entidades de servicio también se conocen como permisos de aplicación.

Nota

El comportamiento descrito aquí se aplica cuando Connect-AzureAD se llamó a sin parámetros o mediante una identidad de aplicación propiedad de Microsoft. Consulte el ejemplo 4 para obtener más información sobre la diferencia cuando se conecta mediante un registro de aplicación propiedad del cliente o una identidad de servicio.

Ejemplos

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

PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $client.ObjectId

En este ejemplo, a una entidad de servicio de cliente se le asigna un rol de aplicación (permiso de aplicación) definido por una entidad de servicio de recursos (por ejemplo, una API):

  • ObjectId: ObjectId de la entidad de servicio del recurso (por ejemplo, una API).
  • ResourceId: ObjectId de la entidad de servicio del recurso (por ejemplo, una API).
  • Id: 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 han definido roles de aplicación en la aplicación de recursos, puede usar 00000000-0000-0000-0000-000000000000.
  • PrincipalId: objectId de la entidad de servicio de cliente a la que va a asignar el rol de aplicación.

Nota

Este ejemplo se aplica cuando Connect-AzureAD se llamó a sin parámetros. Consulte el ejemplo 4 para ver cómo se usa este cmdlet cuando se conecta mediante un registro de aplicación propiedad del cliente o una identidad de servicio.

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

PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $user.ObjectId

En este ejemplo, a un usuario se le asigna un rol de aplicación definido por una aplicación de recursos:

  • ObjectId: ObjectId de la entidad de servicio de la aplicación.
  • ResourceId: ObjectId de la entidad de servicio de la aplicación.
  • Id: 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 han definido 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 usuario.
  • PrincipalId: el valor de ObjectId del usuario al que va a asignar el rol de aplicación.

Nota

Este ejemplo se aplica cuando Connect-AzureAD se llamó a sin parámetros. Consulte el ejemplo 4 para ver cómo se usa este cmdlet cuando se conecta mediante un registro de aplicación propiedad del cliente o una identidad de servicio.

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

PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $group.ObjectId

En este ejemplo, a un grupo se le asigna un rol de aplicación definido por una aplicación de recursos. Todos los usuarios que son miembros directos del grupo asignado se consideran asignados al rol de aplicación:

  • ObjectId: ObjectId de la entidad de servicio de la aplicación.
  • ResourceId: ObjectId de la entidad de servicio de la aplicación.
  • Id: 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 ha definido 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 se asigna al grupo.
  • PrincipalId: el valor de ObjectId del grupo al que va a asignar el rol de aplicación.

Nota

Este ejemplo se aplica cuando Connect-AzureAD se llamó a sin parámetros. Consulte el ejemplo 4 para ver cómo se usa este cmdlet cuando se conecta mediante un registro de aplicación propiedad del cliente o una identidad de servicio.

Ejemplo 4: cuando se conecta mediante una identidad de servicio o una aplicación propiedad del cliente

PS C:\> Connect-AzureAD -TenantId $tenantOrDomain -ApplicationId $appId -CertificateThumbprint $thumb
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $client.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $client.ObjectId

El comportamiento de este cmdlet cambia cuando se conecta al módulo de PowerShell de Azure AD mediante un registro de aplicación propiedad del cliente o una identidad de servicio, entre las que se incluyen:

  • Al conectarse como entidad de servicio y
  • Cuando se usa el AadAccessToken parámetro con un token de acceso obtenido para un registro de aplicación propiedad del cliente o una identidad de servicio.

En estas circunstancias, este cmdlet solo se usa para asignar un rol de aplicación a otra entidad de servicio, identificado por los ObjectId parámetros y PrincipalId :

  • ObjectId: objectId de la entidad de servicio de cliente a la que va a asignar el rol de aplicación.
  • ResourceId: ObjectId de la entidad de servicio del recurso (por ejemplo, una API).
  • Id: 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 han definido roles de aplicación en la aplicación de recursos, puede usar 00000000-0000-0000-0000-000000000000.
  • PrincipalId: objectId de la entidad de servicio de cliente a la que va a asignar el rol de aplicación.

Cuando se conecta mediante una identidad de servicio o una aplicación propiedad del cliente, use New-AzureADUserAppRoleAssignment y New-AzureADGroupAppRoleAssignment para crear asignaciones de roles de aplicación para un usuario y grupos, respectivamente.

Parámetros

-Id

Especifica el identificador del rol de aplicación (definido en la entidad de servicio de recursos) que se va a asignar. Si no se ha definido ningún rol de aplicación en la aplicación de recursos, puede usar 00000000-0000-0000-0000-000000000000 para indicar la asignación de la aplicación de recursos o el servicio, sin especificar un rol de aplicación.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InformationAction

Especifica cómo responde este cmdlet a un evento de información. Los valores permitidos para este parámetro son los siguientes:

  • Continuar
  • Ignorar
  • Consultar
  • SilentlyContinue
  • Stop
  • Suspender
Type:ActionPreference
Aliases:infa
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InformationVariable

Especifica una variable de información.

Type:String
Aliases:iv
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ObjectId

Especifica el ObjectId de la entidad de servicio de recursos (como una aplicación o una API) que se va a asignar a un usuario, un grupo u otra entidad de servicio.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PrincipalId

Especifica el ObjectId del usuario, grupo u otra entidad de servicio a la que se asigna el rol de aplicación.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceId

Especifica el ObjectId de la entidad de servicio de recursos (como una aplicación o una API) que se va a asignar a un usuario, un grupo u otra entidad de servicio.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Notas

Consulte la guía de migración para New-AzureADServiceAppRoleAssignment en Microsoft Graph PowerShell.