Поделиться через


New-AzureADServiceAppRoleAssignment

Назначает роль приложения пользователю, группе или другому субъекту-службе.

Синтаксис

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

Описание

Командлет New-AzureADServiceAppRoleAssignment назначает роль приложения из субъекта-службы ресурса пользователю, группе или другому субъекту-службе. Роли приложений, назначенные субъектам-службам, также называются разрешениями приложений.

Примечание

Описанное здесь поведение применяется при Connect-AzureAD вызове без параметров или с использованием удостоверения приложения, принадлежащего Корпорации Майкрософт. Дополнительные сведения о различиях при подключении с помощью регистрации приложения или удостоверения службы см. в примере 4 .

Примеры

Пример 1. Назначение роли приложения другому субъекту-службе

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

В этом примере субъекту-службе клиента назначается роль приложения (разрешение приложения), определяемая субъектом-службой ресурса (например, API):

  • ObjectId: ObjectId субъекта-службы ресурса (например, API).
  • ResourceId: ObjectId субъекта-службы ресурса (например, API).
  • Id: идентификатор роли приложения (определенной в субъекте-службе ресурса), назначаемой субъекту-службе клиента. Если в приложении-ресурсе не определены роли приложения, можно использовать 00000000-0000-0000-0000-000000000000.
  • PrincipalId: ObjectId субъекта-службы клиента, которому назначается роль приложения.

Примечание

Этот пример применяется при Connect-AzureAD вызове без каких-либо параметров. См . пример 4 , чтобы узнать, как этот командлет используется при подключении с помощью регистрации приложения или удостоверения службы, принадлежащей клиенту.

Пример 2. Назначение роли приложения пользователю

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

В этом примере пользователю назначается роль приложения, определенная приложением-ресурсом:

  • ObjectId: ObjectId субъекта-службы приложения.
  • ResourceId: ObjectId субъекта-службы приложения.
  • Id: идентификатор роли приложения (определенной в субъекте-службе приложения), назначаемой пользователю. Если для приложения-ресурса не определены роли приложения, можно указать 00000000-0000-0000-0000-000000000000 , что приложение назначено пользователю.
  • PrincipalId: ObjectId пользователя, которому назначается роль приложения.

Примечание

Этот пример применяется при Connect-AzureAD вызове без каких-либо параметров. См . пример 4 , чтобы узнать, как этот командлет используется при подключении с помощью регистрации приложения или удостоверения службы, принадлежащей клиенту.

Пример 3. Назначение роли приложения группе

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

В этом примере группе назначается роль приложения, определяемая приложением-ресурсом. Всем пользователям, которые являются прямыми членами назначенной группы, назначена роль приложения:

  • ObjectId: ObjectId субъекта-службы приложения.
  • ResourceId: ObjectId субъекта-службы приложения.
  • Id: идентификатор роли приложения (определенной в субъекте-службе приложения), назначаемой группе. Если в приложении-ресурсе не определены роли приложения, можно указать 00000000-0000-0000-0000-000000000000 , что приложение назначено группе.
  • PrincipalId: ObjectId группы, которой назначается роль приложения.

Примечание

Этот пример применяется при Connect-AzureAD вызове без каких-либо параметров. См . пример 4 , чтобы узнать, как этот командлет используется при подключении с помощью регистрации приложения или удостоверения службы, принадлежащей клиенту.

Пример 4. При подключении с помощью приложения или удостоверения службы, принадлежащих клиенту

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

Поведение этого командлета изменяется при подключении к модулю Azure AD PowerShell с помощью регистрации приложения или удостоверения службы, принадлежащих клиенту, в том числе:

  • При подключении в качестве субъекта-службы и
  • При использовании AadAccessToken параметра с маркером доступа, полученным для регистрации приложения или удостоверения службы, принадлежащих клиенту.

В таких случаях этот командлет используется только для назначения роли приложения другому субъекту-службе, определяемой параметрами ObjectId и PrincipalId :

  • ObjectId: ObjectId субъекта-службы клиента, которому назначается роль приложения.
  • ResourceId: ObjectId субъекта-службы ресурса (например, API).
  • Id: идентификатор роли приложения (определенной в субъекте-службе ресурса), назначаемой субъекту-службе клиента. Если в приложении-ресурсе не определены роли приложения, можно использовать 00000000-0000-0000-0000-000000000000.
  • PrincipalId: ObjectId субъекта-службы клиента, которому назначается роль приложения.

При подключении с помощью приложения или удостоверения службы, принадлежащей клиенту, используйте new-AzureADUserAppRoleAssignment и New-AzureADGroupAppRoleAssignment , чтобы создать назначения ролей приложения для пользователя и групп соответственно.

Параметры

-Id

Указывает идентификатор роли приложения (определенной в субъекте-службе ресурса), который необходимо назначить. Если в приложении-ресурсе не определены роли приложения, можно указать 00000000-0000-0000-0000-000000000000 назначение приложения или службы ресурсов без указания роли приложения.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InformationAction

Указывает, как этот командлет реагирует на информационное событие. Допустимые значения для этого параметра:

  • Продолжить
  • Игнорировать
  • Inquire
  • SilentlyContinue
  • Остановить
  • Приостановить
Тип:ActionPreference
Aliases:infa
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InformationVariable

Указывает информационную переменную.

Тип:String
Aliases:iv
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ObjectId

Указывает ObjectId субъекта-службы ресурса (например, приложения или API), который будет назначен пользователю, группе или другому субъекту-службе.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PrincipalId

Указывает ObjectId пользователя, группы или другого субъекта-службы, которому назначается роль приложения.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ResourceId

Указывает ObjectId субъекта-службы ресурса (например, приложения или API), который будет назначен пользователю, группе или другому субъекту-службе.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Примечания

См. руководство по миграции командлета New-AzureADServiceAppRoleAssignment в Microsoft Graph PowerShell.