ONTAP 如何決定用戶端存取
若要正確設計及實作 OAuth 2.0 、您必須瞭解 ONTAP 如何使用您的授權組態來為用戶端做出存取決策。根據 ONTAP 版本,決定存取權限的主要步驟如下所示。
ONTAP 9 . 15.1 沒有重大的 OAuth 2.0 更新。如果您使用的是 9.15.1 版,請參閱 ONTAP 9 。 14.1 的說明。 |
ONTAP 9.16.1.
ONTAP 9 。 16.1 擴充標準 OAuth 2.0 支援,以納入適用於原生 Entra ID 群組的 Microsoft Entra ID 特定副檔名,以及外部角色對應。
判斷 ONTAP 9 的用戶端存取權。 16.1
如果存取權杖包含任何獨立的範圍, ONTAP 會先檢查這些範圍。如果沒有獨立的範圍、請前往步驟 2 。
如果存在一個或多個獨立的範圍、 ONTAP 會套用每個範圍、直到可以做出明確的 * 允許 * 或 * 拒絕 * 決策為止。如果做出明確的決定、處理程序就會結束。
如果 ONTAP 無法做出明確的存取決策、請繼續執行步驟 2 。
ONTAP 檢查布爾參數 use-local-roles-if-present
。此旗標的值會針對定義為 ONTAP 的每個授權伺服器分別設定。
-
如果值為
true
繼續進行步驟 3 。 -
如果值為
false
處理結束、存取遭拒。
如果存取權杖在 OR scp
欄位中包含具名的 REST 角色 scope
,或是宣告, ONTAP 會使用該角色來做出存取決策。這總是導致 * 允許 * 或 * 拒絕 * 決策和處理結束。
如果沒有指定的 REST 角色或找不到角色、請繼續執行步驟 4 。
從存取權杖擷取使用者名稱,並嘗試將其與有權存取應用程式「 http 」的使用者配對。根據驗證方法,依下列順序檢查使用者:
-
密碼
-
網域( Active Directory )
-
NSWITCH ( LDAP )
如果找到相符的使用者, ONTAP 會使用為使用者定義的角色來做出存取決策。這總是導致 * 允許 * 或 * 拒絕 * 決策和處理結束。
如果使用者不相符,或存取權杖中沒有使用者名稱,請繼續執行步驟 5 。
如果包含一個或多個群組,則會檢查格式。如果群組代表為 UUID ,則會搜尋內部群組對應表。如果有群組相符項目和相關角色, ONTAP 會使用為群組定義的角色來做出存取決策。這總是導致 * 允許 * 或 * 拒絕 * 決策和處理結束。如需更多資訊、請參閱 "與小組合作"。
如果群組是以名稱表示,並已設定網域或 nsswitch 授權,則 ONTAP 會分別嘗試將其與 Active Directory 或 LDAP 群組進行比對。如果有群組相符項目、 ONTAP 會使用為群組定義的角色來做出存取決策。這總是導致 * 允許 * 或 * 拒絕 * 決策和處理結束。
如果沒有符合的群組、或存取權杖中沒有群組、則會拒絕存取並結束處理。
ONTAP 9.14.1.
支援的初始 OAUTH 2.0 是根據標準 OAUTH 2.0 功能而在 ONTAP 9 中推出的。
決定 ONTAP 9 的用戶端存取權。 14.1
如果存取權杖包含任何獨立的範圍, ONTAP 會先檢查這些範圍。如果沒有獨立的範圍、請前往步驟 2 。
如果存在一個或多個獨立的範圍、 ONTAP 會套用每個範圍、直到可以做出明確的 * 允許 * 或 * 拒絕 * 決策為止。如果做出明確的決定、處理程序就會結束。
如果 ONTAP 無法做出明確的存取決策、請繼續執行步驟 2 。
ONTAP 檢查布爾參數 use-local-roles-if-present
。此旗標的值會針對定義為 ONTAP 的每個授權伺服器分別設定。
-
如果值為
true
繼續進行步驟 3 。 -
如果值為
false
處理結束、存取遭拒。
如果存取權杖在 OR scp
欄位中包含具名的 REST 角色 scope
, ONTAP 會使用該角色來做出存取決策。這總是導致 * 允許 * 或 * 拒絕 * 決策和處理結束。
如果沒有指定的 REST 角色或找不到角色、請繼續執行步驟 4 。
從存取權杖擷取使用者名稱,並嘗試將其與有權存取應用程式「 http 」的使用者配對。根據驗證方法,依下列順序檢查使用者:
-
密碼
-
網域( Active Directory )
-
NSWITCH ( LDAP )
如果找到相符的使用者, ONTAP 會使用為使用者定義的角色來做出存取決策。這總是導致 * 允許 * 或 * 拒絕 * 決策和處理結束。
如果使用者不相符,或存取權杖中沒有使用者名稱,請繼續執行步驟 5 。
如果包含一個或多個群組,並設定了網域或 nsswitch 授權, ONTAP 會分別嘗試將它們與 Active Directory 或 LDAP 群組配對。
如果有群組相符項目、 ONTAP 會使用為群組定義的角色來做出存取決策。這總是導致 * 允許 * 或 * 拒絕 * 決策和處理結束。
如果沒有符合的群組、或存取權杖中沒有群組、則會拒絕存取並結束處理。