所謂的認證(
authentication),我們就想像為通行證的概念,就以企業來說,我們每個人進到公司都會收到一張員工通行證,而這張員工通行證也註冊了屬於你這個人的唯一識別資訊,當我們上班前刷卡這個動作其實就是一個認證(
authentication)的過程,讀卡機讀取我們的卡片資訊,送到伺服器系統進行比對之後,確定這個人是該公司的員工才能開門進入公司上班。
而授權(
authorization)則是經過認證(
authentication)之後被賦予的權力,以上述例子來說,當我們進到企業工作時,通常根據應徵職位被賦予工作上的權力,例如: 財務長被授予管理公司財務的權責、IT被賦予管理硬體的權責…,每個人根據職位扮演的角色,被賦予對應的權責,相同的授權方式,常見的論壇(一般用戶、管理員)、大樓門禁(保全、住戶)…等,都隱含著認證與授權的概念。
以下將實際的從註冊到登入來逐步說明,加深印象
首先當我們透過以下的進行連結
註冊完成之後,就會有屬你這個人的唯一識別帳號。
註冊完成後,我們在登入時,
PotatoMedia就會請我們輸入手機號碼,而假設這組手機號碼已經存在於系統平台,那麼帳號密碼皆正確就能順利登入系統。
而順利登入系統之後,我們可以看到假設成為
PotatoMedia的官方創作者之後所擁有的權限,就與一般創作者有所區別,這也就是授權的用意,系統中不同的角色,擁有的權限有所區別。
後記
今天透過一些簡單的貼近生活例子,來讓大家對於認證與授權具備一定的基礎概念,除了對於在軟體領域的安全性設計上具有基本的認識之外,亦了解到生活中常見的部分,下一個篇章將會介紹實現授權的一些經典模式,也就是「
RBAC」這個專有名詞,讓大家了解到授權也是可以有一套規則與模式的,算是小小科普一下。