New-ApplicationAccessPolicy

Этот командлет доступен только в облачной службе.

Используйте командлет New-ApplicationAccessPolicy, чтобы ограничить или запретить доступ к определенному набору почтовых ящиков приложением, использующим API (Outlook REST, Microsoft Graph или Exchange Web Services (EWS)). Эти политики дополняют области разрешений, объявленные приложением.

Сведения о наборах параметров в разделе Синтаксис ниже см. В разделе Синтаксис командлета Exchange.

Примечание: Политики доступа к приложениям скоро будут заменены контроль доступа на основе ролей для приложений. Дополнительные сведения см. в статье Контроль доступа на основе ролей для приложений Exchange.

Синтаксис

New-ApplicationAccessPolicy
   -AccessRight <ApplicationAccessPolicyRight>
   -AppId <String[]>
   -PolicyScopeGroupId <RecipientIdParameter>
   [-Confirm]
   [-Description <String>]
   [-WhatIf]
   [<CommonParameters>]

Описание

Для его запуска необходимо получить соответствующие разрешения. В этой статье перечислены все параметры командлета. Но некоторые из них могут быть вам не доступны, если они не включены в назначенные разрешения. Сведения о необходимых разрешениях для запуска командлетов и использования параметров в организации см. в статье Find the permissions required to run any Exchange cmdlet.

Вы можете создать ограниченное количество политик в организации на основе фиксированного объема пространства. Если в вашей организации заканчивается место для этих политик, вы увидите ошибку: "Общий размер политик доступа к приложениям превысил ограничение". Чтобы максимально увеличить количество политик и уменьшить объем пространства, используемого политиками, задайте для политики одно символьное описание пробела. Этот метод позволяет использовать около 300 политик (по сравнению с предыдущим ограничением в 100 политик).

Хотя доступ к ресурсам на основе области, такой как Mail.Read или Calendar.Read, действует для обеспечения того, что приложение может только читать сообщения электронной почты или события в почтовом ящике и не делать ничего другого, политики доступа приложений позволяют администраторам применять ограничения, основанные на списке почтовых ящиков. Например, приложения, разработанные для одной страны, не должны иметь доступа к данным из других стран. Или приложение интеграции CRM должно получать доступ только к календарям в организации sales и ни в каких других отделах.

Каждый запрос API с помощью REST API Outlook или API Microsoft Graph к целевому почтовому ящику, выполняемый приложением, проверяется с помощью следующих правил (в том же порядке):

  1. Если существует несколько политик доступа к приложениям для одной пары "Приложение" и "Целевой почтовый ящик", политика DenyAccess имеет приоритет над политикой RestrictAccess.
  2. Если для приложения и целевого почтового ящика существует политика DenyAccess, запрос на доступ приложения отклоняется (даже если существует политика RestrictAccess).
  3. Если существуют политики RestrictAccess, соответствующие приложениям и целевым почтовым ящикам, то приложению предоставляется доступ.
  4. Если для приложения существуют политики ограничения и целевой почтовый ящик не является членом этих политик, то приложению будет отказано в доступе к целевому почтовому ящику.
  5. Если ни одно из указанных выше условий не выполняется, приложению предоставляется доступ к запрошенному целевому почтовому ящику.

Примеры

Пример 1

New-ApplicationAccessPolicy -AccessRight DenyAccess -AppId "3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5", "6ac794ca-2697-4137-8754-d2a78ae47d93" -PolicyScopeGroupId "Engineering Staff" -Description "Engineering Group Policy"

В этом примере создается новая политика доступа к приложениям со следующими параметрами:

  • AccessRight: DenyAccess
  • Идентификаторы приложений: 3dbc2ae1-7198-45ed-9f9f-d86ba3ec35b5 и 6ac794ca-2697-4137-8754-d2a78ae47d93
  • PolicyScopeGroupId: технический персонал
  • Описание: инженерные групповая политика

Пример 2

New-ApplicationAccessPolicy -AccessRight RestrictAccess -AppId "e7e4dbfc-046f-4074-9b3b-2ae8f144f59b" -PolicyScopeGroupId EvenUsers@AppPolicyTest2.com -Description "Restrict this app's access to members of security group EvenUsers."

В этом примере создается новая политика доступа к приложениям со следующими параметрами:

  • AccessRight: RestrictAccess
  • Идентификаторы приложений: e7e4dbfc-046f-4074-9b3b-2ae8f144f59b
  • PolicyScopeGroupId: EvenUsers@AppPolicyTest2.com
  • Описание. Ограничьте доступ этого приложения членами группы безопасности EvenUsers.

Пример 3

New-ApplicationAccessPolicy -AccessRight DenyAccess -AppId "e7e4dbfc-046f-4074-9b3b-2ae8f144f59b" -PolicyScopeGroupId OddUsers@AppPolicyTest2.com -Description "Deny this app access to members of security group OddUsers."

В этом примере создается новая политика доступа к приложениям со следующими параметрами:

  • AccessRight: DenyAccess
  • Идентификаторы приложений: e7e4dbfc-046f-4074-9b3b-2ae8f144f59b
  • PolicyScopeGroupId: OddUsers@AppPolicyTest2.com
  • Описание: запретить этому приложению доступ к членам группы безопасности OddUsers.

Параметры

-AccessRight

Параметр AccessRight указывает тип ограничения, который требуется назначить в политике доступа к приложениям. Допустимые значения:

  • RestrictAccess. Позволяет связанному приложению получать доступ только к данным, связанным с почтовыми ящиками, указанными параметром PolicyScopeGroupID.
  • DenyAccess. Разрешает связанному приложению доступ только к данным, которые не связаны с почтовыми ящиками, указанными параметром PolicyScopeGroupID.
Type:ApplicationAccessPolicyIdParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-AppId

Параметр Identity указывает GUID приложений, которые необходимо включить в политику. Чтобы найти значение GUID приложения, выполните команду Get-App | Format-Table -Auto DisplayName,AppId.

Можно указать несколько значений GUID приложения, разделенных запятыми, или указать *, чтобы указать все приложения.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-Confirm

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

  • Деструктивные командлеты (например, командлеты Remove-*) имеют встроенную паузу, которая заставляет вас подтвердить команду перед продолжением. Можно пропускать запросы на подтверждение этих командлетов, используя следующий синтаксис: -Confirm:$false.
  • Большинство других командлетов (например, командлеты New-* и Set-*) не имеют встроенной приостановки. Для этих командлетов указание переключателя Confirm без значения вводит паузу, которая заставляет вас подтвердить команду перед продолжением.
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-Description

Параметр Description указывает описание политики. Если значение содержит пробелы, его необходимо заключить в кавычки (").

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-PolicyScopeGroupID

Параметр PolicyScopeGroupID указывает получателя, определяемого в политике. Допустимые типы получателей — это субъекты безопасности в Exchange Online (пользователи или группы, которым могут быть назначены разрешения). Например:

  • Почтовые ящики со связанными учетными записями пользователей (UserMailbox)
  • Почтовые пользователи, также известные как пользователи с поддержкой почты (MailUser)
  • Группы безопасности с поддержкой почты (MailUniversalSecurityGroup)

Вы можете использовать любое значение, однозначно определяющее получателя. Например:

  • имя;
  • Имя
  • Различающееся имя (DN)
  • Краткое имя
  • GUID

Чтобы убедиться, что получатель является субъектом безопасности, выполните следующую команду: Get-Recipient -Identity <RecipientIdentity> | Select-Object IsValidSecurityPrincipal или Get-Recipient -ResultSize unlimited | Format-Table -Auto Name,RecipientType,RecipientTypeDetails,IsValidSecurityPrincipal.

С этим параметром нельзя использовать получателей, которые не являются субъектами безопасности. Например, следующие типы получателей не будут работать:

  • Почтовые ящики обнаружения (DiscoveryMailbox)
  • Динамические группы рассылки (DynamicDistributionGroup)
  • Группы рассылки (MailUniversalDistributionGroup)
  • Почтовые контакты (MailContact)
  • Общедоступные папки с поддержкой почты (PublicFolder)
  • Группы Microsoft 365 (GroupMailbox)
  • Почтовые ящики ресурсов (RoomMailbox или EquipmentMailbox)
  • Общие почтовые ящики (SharedMailbox)

Если необходимо ограничить политику общими почтовыми ящиками, можно добавить общие почтовые ящики в качестве членов группы безопасности с поддержкой почты.

Type:RecipientIdParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection

-WhatIf

Переключатель WhatIf имитирует действия команды. Вы можете использовать его для просмотра результатов изменений без фактического внесения этих изменений. С этим параметром не нужно указывать значение.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online, Exchange Online Protection