iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
自我挑戰組

Identity Management 系列 第 20

20 - Access Policy Enforcement (2)

  • 分享至 

  • xImage
  •  

昨天提到了 Access Policy Enforcement 粗略的三種層級,今天繼續來看看 Access Policy Enforcement 的三個重要階段,分別為

  1. Authorization
  2. Deliver
  3. Enforce

1. Authorization

前面提到的 authorization 是談「取得授權」,這裡的 authorization 指的是如何「設計授權」。以使用者為主體來說,常見的設計有兩種

  • User Profile Attributes
  • Transactional User Attributes

User Profile Attributes 指的是授權的設計和使用者的 identity 有關,譬如根據角色劃分權限的 Role-based Access Control (RBAC) 或是根據屬性劃分的 Arttribute-based Access Control (ABAC)。

以角色劃分權限的例子,就譬如公司當中根據不同的職位,設計不同的權限,公司職員能夠做的事情,基本上就根據他們的職位而定。

而以屬性劃分的例子,像是以居住地區來區分不同的權限,住在 A 區的居民能夠免費使用 A 區的公共設施,其他區的居民可能就要另外付費。

Transactional User Attributes 則是根據使用者行動當下的環境狀況,來區分權限。譬如使用者只能在指定地區使用服務、只能在週末使用優惠券等等。

2. Deliver

上述提到的授權設計(或規則),可以透過 ID Token 送到 Client 當中,接著 Client 就可以透過 ID Token 識別使用者身份,以及適用的權限。如果要更多的資訊,Client 可以藉由 access token 來向 user info endpoint 來取得更多的資訊。

3. Enforce

最後,當使用者要執行任何行動之前,系統都需要再次進行檢查:

  • 檢查 ID token 格式是否正確
  • 檢查 ID token signature 確認 token 是否有被篡改
  • 檢查 ID token 是否過期
  • 檢查 ID token 的 issuer 是否為指定的 OpenID Provider
  • 檢查 ID token 的 audience 是否正確

最後才能讓使用者實際執行行動


上一篇
19 - Access Policy Enforcement (1)
下一篇
21 - About sessions
系列文
Identity Management 31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言