New-ApplicationAccessPolicy
此指令程式只能在雲端式服務中使用。
使用 New-ApplicationAccessPolicy Cmdlet 來限制或拒絕使用 API (Outlook REST、Microsoft Graph 或 Exchange Web Services (EWS) ) 的應用程式存取特定信箱集。 這些原則與應用程式所宣告的許可權範圍互補。
如需下方<語法>一節中參數集的詳細資訊,請參閱 Exchange Cmdlet 語法。
注意:應用程式存取原則很快就會由應用程式的角色型存取控制取代。 若要深入瞭解,請參閱Exchange 應用程式的角色型存取控制。
Syntax
New-ApplicationAccessPolicy
-AccessRight <ApplicationAccessPolicyRight>
-AppId <String[]>
-PolicyScopeGroupId <RecipientIdParameter>
[-Confirm]
[-Description <String>]
[-WhatIf]
[<CommonParameters>]
Description
您必須已獲指派權限,才能執行此指令程式。 雖然本主題已列出這個指令程式的所有參數,不過,如果某些參數並未包含在指派給您的權限中,您可能就無法存取這些參數。 若要尋找在組織中執行任何 Cmdlet 或參數所需的權限,請參閱 Find the permissions required to run any Exchange cmdlet。
您可以根據固定的空間量,在組織中建立有限數量的原則。 如果您的組織用盡這些原則的空間,您會看到錯誤:「應用程式存取原則的總大小超過限制」。若要最大化原則數目並減少原則所耗用的空間量,請為原則設定一個空白字元描述。 此方法將允許大約 300 個原則 (,而先前的限制為 100 個原則) 。
雖然 Mail.Read 或 Calendar.Read 等範圍型資源存取是有效的,可確保應用程式只能讀取信箱內的電子郵件或事件,而不執行任何其他動作,但應用程式存取原則可讓系統管理員強制執行以信箱清單為基礎的限制。 例如,針對某個國家/地區開發的應用程式不應該能夠存取來自其他國家/地區的資料。 或者,或 CRM 整合應用程式應該只存取 Sales 組織中的行事曆,而沒有其他部門。
使用 Outlook REST API 或 Microsoft Graph API 對應用程式完成之目標信箱的每個 API 要求,都會使用下列規則 (以相同的順序進行驗證) :
- 如果相同應用程式和目標信箱組有多個應用程式存取原則,則 DenyAccess 原則會優先于 RestrictAccess 原則。
- 如果應用程式和目標信箱存在 DenyAccess 原則,則即使有 RestrictAccess 原則) ,應用程式的存取要求仍 (遭到拒絕。
- 如果有任何符合應用程式和目標信箱的 RestrictAccess 原則,則會授與應用程式存取權。
- 如果應用程式有任何限制原則,且目標信箱不是這些原則的成員,則會拒絕應用程式存取目標信箱。
- 如果未符合上述任何條件,則會將所要求目標信箱的存取權授與應用程式。
範例
範例 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
- AppID: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
- AppID: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
- AppID: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
Confirm 參數會指定要顯示或隱藏確認提示。 這個參數對 Cmdlet 的影響取決於 Cmdlet 是否需要確認才能繼續作業。
- 例如,具破壞性的 Cmdlet (例如 Remove-* Cmdlet) 內建暫停,可強制您在繼續之前確認命令。 對於這些 Cmdlet,您可以使用以下確切語法來略過確認提示:
-Confirm:$false
。 - 其他大部分的 Cmdlet (例如,New-* 和 Set-* Cmdlet) 沒有內建暫停。 在使用這些 Cmdlet 時,指定不含任何值的 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 -ResultSize unlimited | Format-Table -Auto Name,RecipientType,RecipientTypeDetails,IsValidSecurityPrincipal
。 Get-Recipient -Identity <RecipientIdentity> | Select-Object 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 |