iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
自我挑戰組

Identity Management 系列 第 19

19 - Access Policy Enforcement (1)

  • 分享至 

  • xImage
  •  

前面講完了如何取得 authorization & authentication,接下來使用者就可以拿著 access token 還有 ID token 在系統當中活動。

然而拿著 access token 不代表可以在系統當中做任何的事情。在一個系統當中,不同的使用者會有不同的存取權限的限制,譬如管理員或是一般使用者,因此當使用者取得授權、在實際執行活動之前,系統會需要執行 Access Policy Enforcement 來確保使用者不會做超出權限的行為。

譬如使用者在網路上買了一張演唱會的門票,就是取得授權能夠進入演唱會現場。但是進入現場之後,一定會有人驗票,確認使用者進入該進入的座位區,而不會偷偷進入到更高票價的座位區。

Access Policy Enforcement 粗略來說分為三種層級,分別為

  1. Application 和 API 層級
  2. Function 層級
  3. Data 層級

Application 和 API 層級是第一個層級,基本上就是判斷使用者是否能夠進入系統,以及進入系統之後,能夠執行什麼活動(呼叫什麼 api)。舉例來說,一般使用者和管理員都能夠進入系統,但是一般使用者只能夠瀏覽資料,管理者能夠修改資料。以 CRUD 的角度來說,就是一般使用者的權限只能呼叫 index 和 show endpoints,而管理者能夠呼叫 index, show, update endpoints。

Function 層級則是需要判斷在同一支 api 底下,不同的使用者能夠做些什麼事情。譬如管理者和超級管理者都能呼叫 update endpoint,但是管理者只能夠過 update endpoint 更新基本資訊,而超級管理者能夠透過 update endpoint 修改所有資訊。

最後的 Data 層級,則是需要判斷在同一支 api 底下,不同的使用者能夠看到什麼資料。譬如同樣是 show endpoint,一般使用者可以看到基本資訊,而管理者可以透過同一個 endpoint,看到更多詳細資訊或是關聯資訊。


明天讓我們繼續來看看在系統當中執行 Access Policy Enforcement 的幾個重要階段


上一篇
18 - Use cases of different OAuth grants and OIDC flows
下一篇
20 - Access Policy Enforcement (2)
系列文
Identity Management 31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言