Freigeben über


New-AzureADServiceAppRoleAssignment

Weist einem Benutzer, einer Gruppe oder einem anderen Dienstprinzipal eine App-Rolle zu.

Syntax

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

Beschreibung

Das Cmdlet New-AzureADServiceAppRoleAssignment weist einem Benutzer, einer Gruppe oder einem anderen Dienstprinzipal eine App-Rolle aus einem Ressourcendienstprinzipal zu. App-Rollen, die Dienstprinzipalen zugewiesen sind, werden auch als Anwendungsberechtigungen bezeichnet.

Hinweis

Das hier beschriebene Verhalten gilt, wenn Connect-AzureAD ohne Parameter aufgerufen wurde oder eine Microsoft-eigene Anwendungsidentität verwendet wurde. Unter Beispiel 4 erfahren Sie mehr über den Unterschied, wenn eine Verbindung mit einer kundeneigenen App-Registrierung oder Dienstidentität hergestellt wird.

Beispiele

Beispiel 1: Zuweisen einer App-Rolle zu einem anderen Dienstprinzipal

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

In diesem Beispiel wird einem Clientdienstprinzipal eine App-Rolle (Anwendungsberechtigung) zugewiesen, die von einem Ressourcendienstprinzipal (z. B. einer API) definiert wird:

  • ObjectId: Die ObjectId des Ressourcendienstprinzipals (z. B. einer API).
  • ResourceId: Die ObjectId des Ressourcendienstprinzipals (z. B. einer API).
  • Id: Die ID der App-Rolle (definiert im Ressourcendienstprinzipal), die dem Clientdienstprinzipal zugewiesen werden soll. Wenn keine App-Rollen für die Ressourcen-App definiert wurden, können Sie verwenden 00000000-0000-0000-0000-000000000000.
  • PrincipalId: Die ObjectId des Clientdienstprinzipals, dem Sie die App-Rolle zuweisen.

Hinweis

Dieses Beispiel gilt, wenn Connect-AzureAD ohne Parameter aufgerufen wurde. Unter Beispiel 4 erfahren Sie, wie dieses Cmdlet verwendet wird, wenn eine Verbindung mit einer kundeneigenen App-Registrierung oder Dienstidentität hergestellt wird.

Beispiel 2: Zuweisen einer App-Rolle zu einem Benutzer

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

In diesem Beispiel wird einem Benutzer eine App-Rolle zugewiesen, die von einer Ressourcen-App definiert wird:

  • ObjectId: Die ObjectId des Dienstprinzipals der App.
  • ResourceId: Die ObjectId des Dienstprinzipals der App.
  • Id: Die ID der App-Rolle (definiert im Dienstprinzipal der App), die dem Benutzer zugewiesen werden soll. Wenn keine App-Rollen für die Ressourcen-App definiert wurden, können Sie verwenden 00000000-0000-0000-0000-000000000000 , um anzugeben, dass die App dem Benutzer zugewiesen ist.
  • PrincipalId: Die ObjectId des Benutzers, dem Sie die App-Rolle zuweisen.

Hinweis

Dieses Beispiel gilt, wenn Connect-AzureAD ohne Parameter aufgerufen wurde. Unter Beispiel 4 erfahren Sie, wie dieses Cmdlet verwendet wird, wenn eine Verbindung mit einer kundeneigenen App-Registrierung oder Dienstidentität hergestellt wird.

Beispiel 3: Zuweisen einer App-Rolle zu einer Gruppe

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

In diesem Beispiel wird einer Gruppe eine App-Rolle zugewiesen, die von einer Ressourcen-App definiert wird. Alle Benutzer, die direktes Mitglied der zugewiesenen Gruppe sind, gelten als zugewiesen mit der App-Rolle:

  • ObjectId: Die ObjectId des Dienstprinzipals der App.
  • ResourceId: Die ObjectId des Dienstprinzipals der App.
  • Id: Die ID der App-Rolle (definiert im Dienstprinzipal der App), die der Gruppe zugewiesen werden soll. Wenn keine App-Rollen für die Ressourcen-App definiert wurden, können Sie verwenden 00000000-0000-0000-0000-000000000000 , um anzugeben, dass die App der Gruppe zugewiesen ist.
  • PrincipalId: Die ObjectId der Gruppe, der Sie die App-Rolle zuweisen.

Hinweis

Dieses Beispiel gilt, wenn Connect-AzureAD ohne Parameter aufgerufen wurde. Unter Beispiel 4 erfahren Sie, wie dieses Cmdlet verwendet wird, wenn eine Verbindung mit einer kundeneigenen App-Registrierung oder Dienstidentität hergestellt wird.

Beispiel 4: Bei Einer Verbindung mit einer kundeneigenen App oder Dienstidentität

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

Das Verhalten dieses Cmdlets ändert sich, wenn eine Verbindung mit dem Azure AD PowerShell-Modul mithilfe einer kundeneigenen App-Registrierung oder Dienstidentität verbunden ist, einschließlich:

  • Beim Herstellen einer Verbindung als Dienstprinzipal und
  • Wenn Sie den Parameter mit einem Zugriffstoken verwenden, das AadAccessToken für eine kundeneigene App-Registrierung oder Dienstidentität abgerufen wird.

Unter diesen Umständen wird dieses Cmdlet nur zum Zuweisen einer App-Rolle zu einem anderen Dienstprinzipal verwendet, der durch die ObjectId Parameter und PrincipalId identifiziert wird:

  • ObjectId: Die ObjectId des Clientdienstprinzipals, dem Sie die App-Rolle zuweisen.
  • ResourceId: Die ObjectId des Ressourcendienstprinzipals (z. B. einer API).
  • Id: Die ID der App-Rolle (definiert im Ressourcendienstprinzipal), die dem Clientdienstprinzipal zugewiesen werden soll. Wenn keine App-Rollen für die Ressourcen-App definiert wurden, können Sie verwenden 00000000-0000-0000-0000-000000000000.
  • PrincipalId: Die ObjectId des Clientdienstprinzipals, dem Sie die App-Rolle zuweisen.

Wenn eine Verbindung mithilfe einer kundeneigenen App oder Dienstidentität hergestellt wird, verwenden Sie New-AzureADUserAppRoleAssignment und New-AzureADGroupAppRoleAssignment , um App-Rollenzuweisungen für einen Benutzer bzw. gruppen zu erstellen.

Parameter

-Id

Gibt die ID der App-Rolle (definiert im Ressourcendienstprinzipal) an, die zugewiesen werden soll. Wenn keine App-Rollen für die Ressourcen-App definiert wurden, können Sie verwenden 00000000-0000-0000-0000-000000000000 , um die Zuweisung der Ressourcen-App oder des Diensts anzugeben, ohne eine App-Rolle anzugeben.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InformationAction

Gibt an, wie dieses Cmdlet auf ein Informationsereignis reagiert. Zulässige Werte für diesen Parameter:

  • Weiter
  • Ignorieren
  • Diagnosetool
  • SilentlyContinue
  • Beenden
  • Angehalten
Typ:ActionPreference
Aliase:infa
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InformationVariable

Gibt eine Informationsvariable an.

Typ:String
Aliase:iv
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ObjectId

Gibt die ObjectId des Ressourcendienstprinzipals (z. B. einer App oder einer API) an, der einem Benutzer, einer Gruppe oder einem anderen Dienstprinzipal zugewiesen wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-PrincipalId

Gibt die ObjectId des Benutzers, der Gruppe oder eines anderen Dienstprinzipals an, dem die App-Rolle zugewiesen wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ResourceId

Gibt die ObjectId des Ressourcendienstprinzipals (z. B. einer App oder einer API) an, der einem Benutzer, einer Gruppe oder einem anderen Dienstprinzipal zugewiesen wird.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Hinweise

Weitere Informationen finden Sie im Migrationsleitfaden für New-AzureADServiceAppRoleAssignment für Microsoft Graph PowerShell.