資料租戶隔離和隱私權的建議 - AWS 方案指引

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

資料租戶隔離和隱私權的建議

上一節提供數種使用外部資料與 OPA 和 Amazon Verified Permissions 的方法,以協助做出授權決策。如果可能,我們建議您使用過載輸入方法來將 SaaS 內容資料傳遞至 OPA,以做出授權決策,而不是將資料存放在 OPA 記憶體中。此使用案例不適用於 AWS Cloud Map,因為它不支援在 服務中儲存外部資料。

在角色型存取控制 (RBAC) 或 RBAC 和屬性型存取控制 (ABAC) 混合模型中,僅由授權請求或查詢提供的資料可能不足,因為必須參考角色和許可才能做出授權決策。為了維持租戶隔離和角色映射的隱私權,此資料不應位於 OPA 中。RBAC 資料應位於資料庫等外部資料來源中,或應做為 JWT 中宣告的一部分從 IdP 傳遞。在已驗證的許可中,RBAC 資料可以在每個租用戶政策存放區模型中作為政策和結構描述的一部分進行維護,因為每個租用戶都有自己的邏輯分隔政策存放區。不過,在一個共用的多租用戶政策存放區模型中,角色映射資料不應位於 Verified Permissions 中,以維持租用戶隔離

此外,OPA 和已驗證許可不應用於將預先定義的角色映射到特定許可,因為這使得租戶難以定義自己的角色和許可。它也會讓您的授權邏輯更嚴格,且需要持續更新。本指南的例外是 Verified Permissions 中的每個租戶政策存放區模型,因為此模型允許每個租戶擁有自己的政策,可以根據每個租戶獨立評估。

Amazon Verified Permissions

唯一可以存放潛在私有 RBAC 資料的地方是在結構描述中。每個租用戶的政策存放區模型中可以接受,因為每個租用戶都有自己的邏輯分隔政策存放區。不過,這可能會危及一個共用多租用戶政策存放區模型中的租用戶隔離。在需要這些資料才能做出授權決策的情況下,應該從外部來源擷取資料,例如 DynamoDB 或 Amazon RDS,並納入驗證許可授權請求。

OPA

使用 OPA 安全方法來維護 RBAC 資料的隱私權和租用戶隔離,包括使用動態資料擷取或複寫來取得外部資料。這是因為您可以使用上圖中說明的授權服務,僅提供租戶特定或使用者特定外部資料,以做出授權決策。例如,您可以使用複寫器,在使用者登入時提供 RBAC 資料或許可矩陣給 OPA 快取,並根據輸入資料 中提供的使用者來參考資料。您可以使用類似的方法搭配動態提取的資料,以僅擷取相關資訊進行授權決策。此外,在動態資料擷取方法中,此資料不必快取在 OPA 中。綁定方法與維持租用戶隔離的動態擷取方法不那麼有效,因為它會更新 OPA 快取中的所有內容,而且無法處理精確的更新。綁定模型仍然是更新 OPA 政策和非RBAC 資料的良好方法。