New-AzureADServiceAppRoleAssignment

Attribue un rôle d’application à un utilisateur, un groupe ou un autre principal de service.

Syntax

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

Description

L’applet de commande New-AzureADServiceAppRoleAssignment attribue un rôle d’application d’un principal de service de ressources à un utilisateur, un groupe ou un autre principal de service. Les rôles d’application attribués aux principaux de service sont également appelés autorisations d’application.

Notes

Le comportement décrit ici s’applique quand Connect-AzureAD a été appelé sans aucun paramètre ou à l’aide d’une identité d’application appartenant à Microsoft. Consultez l’exemple 4 pour en savoir plus sur la différence lors de la connexion à l’aide d’une inscription d’application ou d’une identité de service appartenant au client.

Exemples

Exemple 1 : Attribuer un rôle d’application à un autre principal de service

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

Dans cet exemple, un principal de service client se voit attribuer un rôle d’application (autorisation d’application) défini par un principal de service de ressources (par exemple, une API) :

  • ObjectId: ObjectId du principal du service de ressources (par exemple, une API).
  • ResourceId: ObjectId du principal du service de ressources (par exemple, une API).
  • Id: ID du rôle d’application (défini sur le principal du service de ressources) à affecter au principal du service client. Si aucun rôle d’application n’a été défini sur l’application de ressources, vous pouvez utiliser 00000000-0000-0000-0000-000000000000.
  • PrincipalId: ObjectId du principal de service client auquel vous attribuez le rôle d’application.

Notes

Cet exemple s’applique lorsque Connect-AzureAD a été appelé sans aucun paramètre. Consultez l’exemple 4 pour voir comment cette applet de commande est utilisée lors de la connexion à l’aide d’une inscription d’application ou d’une identité de service appartenant au client.

Exemple 2 : Attribuer un rôle d’application à un utilisateur

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

Dans cet exemple, un utilisateur se voit attribuer un rôle d’application défini par une application de ressources :

  • ObjectId: ObjectId du principal de service de l’application.
  • ResourceId: ObjectId du principal de service de l’application.
  • Id: ID du rôle d’application (défini sur le principal de service de l’application) à attribuer à l’utilisateur. Si aucun rôle d’application n’a été défini pour l’application de ressources, vous pouvez utiliser 00000000-0000-0000-0000-000000000000 pour indiquer que l’application est affectée à l’utilisateur.
  • PrincipalId: ObjectId de l’utilisateur auquel vous attribuez le rôle d’application.

Notes

Cet exemple s’applique lorsque Connect-AzureAD a été appelé sans aucun paramètre. Consultez l’exemple 4 pour voir comment cette applet de commande est utilisée lors de la connexion à l’aide d’une inscription d’application ou d’une identité de service appartenant au client.

Exemple 3 : Attribuer un rôle d’application à un groupe

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

Dans cet exemple, un groupe se voit attribuer un rôle d’application défini par une application de ressources. Tous les utilisateurs qui sont membres directs du groupe affecté sont considérés comme disposant du rôle d’application :

  • ObjectId: ObjectId du principal de service de l’application.
  • ResourceId: ObjectId du principal de service de l’application.
  • Id: ID du rôle d’application (défini sur le principal de service de l’application) à affecter au groupe. Si aucun rôle d’application n’a été défini sur l’application de ressources, vous pouvez utiliser 00000000-0000-0000-0000-000000000000 pour indiquer que l’application est affectée au groupe.
  • PrincipalId: ObjectId du groupe auquel vous attribuez le rôle d’application.

Notes

Cet exemple s’applique lorsque Connect-AzureAD a été appelé sans aucun paramètre. Consultez l’exemple 4 pour voir comment cette applet de commande est utilisée lors de la connexion à l’aide d’une inscription d’application ou d’une identité de service appartenant au client.

Exemple 4 : Quand vous êtes connecté à l’aide d’une identité d’application ou de service appartenant au client

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

Le comportement de cette applet de commande change lorsqu’il est connecté au module Azure AD PowerShell à l’aide d’une inscription d’application ou d’une identité de service appartenant au client, notamment :

  • Lors de la connexion en tant que principal de service, et
  • Lors de l’utilisation du AadAccessToken paramètre avec un jeton d’accès obtenu pour une inscription d’application ou une identité de service appartenant au client.

Dans ces circonstances, cette applet de commande est utilisée uniquement pour attribuer un rôle d’application à un autre principal de service, identifié par les ObjectId paramètres et PrincipalId :

  • ObjectId: ObjectId du principal de service client auquel vous attribuez le rôle d’application.
  • ResourceId: ObjectId du principal du service de ressources (par exemple, une API).
  • Id: ID du rôle d’application (défini sur le principal du service de ressources) à affecter au principal du service client. Si aucun rôle d’application n’a été défini sur l’application de ressources, vous pouvez utiliser 00000000-0000-0000-0000-000000000000.
  • PrincipalId: ObjectId du principal de service client auquel vous attribuez le rôle d’application.

Lorsque vous êtes connecté à l’aide d’une identité d’application ou de service appartenant au client, utilisez New-AzureADUserAppRoleAssignment et New-AzureADGroupAppRoleAssignment pour créer des attributions de rôles d’application pour un utilisateur et des groupes, respectivement.

Paramètres

-Id

Spécifie l’ID du rôle d’application (défini sur le principal du service de ressources) à attribuer. Si aucun rôle d’application n’a été défini sur l’application de ressources, vous pouvez utiliser 00000000-0000-0000-0000-000000000000 pour indiquer l’affectation de l’application ou du service de ressource, sans spécifier de rôle d’application.

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

-InformationAction

Spécifie la façon dont cette applet de commande répond à un événement d’informations. Les valeurs valides pour ce paramètre sont :

  • Continuer
  • Ignorer
  • Inquire
  • SilentlyContinue
  • Arrêter
  • Interrompre
Type:ActionPreference
Aliases:infa
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InformationVariable

Spécifie une variable d’information.

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

-ObjectId

Spécifie l’ObjectId du principal du service de ressources (par exemple, une application ou une API) qui va être affecté à un utilisateur, un groupe ou un autre principal de service.

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

-PrincipalId

Spécifie l’ObjectId de l’utilisateur, du groupe ou d’un autre principal de service auquel le rôle d’application est attribué.

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

-ResourceId

Spécifie l’ObjectId du principal du service de ressources (par exemple, une application ou une API) qui va être affecté à un utilisateur, un groupe ou un autre principal de service.

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

Notes

Consultez le guide de migration pour New-AzureADServiceAppRoleAssignment vers Microsoft Graph PowerShell.