複合授權是正常的 - Amazon Verified Permissions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

複合授權是正常的

當單一使用者活動 (例如按一下應用程式介面中的按鈕) 需要多個個別授權查詢來判斷是否允許該活動時,就會發生複合授權。例如,將檔案移至檔案系統中的新目錄可能需要三種不同的權限:從來源目錄刪除檔案的能力、將檔案新增至目標目錄的能力,以及可能觸碰檔案本身的能力 (視應用程式而定)。

如果您是設計授權模型的新手,則可能會認為每個授權決策都必須在單個授權查詢中解析。但這可能導致過於複雜的模型和令人費解的政策聲明。實際上,使用複合授權對於幫助您產生更簡單的授權模型很有用。精心設計的授權模型的一個衡量方法是,當您具有足夠分解的單個動作時,您的複合操作(例如移動文件)可以通過直觀的基元聚合來表示。

發生複合授權的另一種情況是,當多方參與授予權限的過程中。考慮一個組織目錄,其中使用者可以是群組的成員。一個簡單的方法是授予群組擁有者新增任何人的權限。但是,如果您希望用戶首先同意添加該怎麼辦? 這引入了一個握手協議,其中用戶和組都必須同意成員資格。若要完成此操作,您可以引入另一個繫結至使用者的權限,並指定使用者是否可以新增至任何群組或特定群組。當呼叫者隨後嘗試將成員新增至群組時,應用程式必須強制執行權限的兩端:呼叫者具有將成員新增至指定群組的權限,並且要新增的個別使用者具有要新增的權限。何時N-方式握手存在,這是常見的觀察N複合授權查詢,以強制執行合約的每個部分。

如果您發現自己遇到了涉及多個資源的設計挑戰,而且還不清楚如何建立權限模型,則可能表明您擁有複合授權案例。在這種情況下,可以通過將操作分解為多個單獨的授權檢查來找到解決方案。