Supabase的Row Level Security(資料列安全原則)

閱讀時間約 4 分鐘
是時候討論資料庫安全性的時候!還記得上一篇文章中,建立一個新的表格時有把一個RLS的按鈕打開,這篇文章就是簡單的說明一下RLS是什麼,以及RLS如何設定等等範例。
Supabase的資料庫和表格
嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supabase的進階功能應用。

什麼是Row Level Security?

Row Level Security 是一種PostgreSQL資料庫安全性功能,允許開發者根據用戶的角色或權限來限制對數據表中資料的訪問權限。
例如管理員可以設定一個表格中所有資料可以給所有用戶讀取,但是新增、修改與刪除需要這筆資料的擁有者才能夠操作。
詳細的說明可以在PostgreSQL的網站上找到、或是可以直接在Supabase的文件中找到對RLS的解釋與應用。
滿推薦可以看Supabase官方的影片詳細說明介紹並有提供一個實際案例。

效率的提升

以往的APP是由後端去判斷目前這個使用者是否有權限可以訪問資料庫的內容,並且還要判斷是否為信任來源等等安全性考量。
而Supabase中使用的RLS則是可以讓客戶端直接與資料庫互動,並且根據設定的RLS政策去決定表格內容是否允許當前使用者訪問;這其中也增加訪問資料庫的效率。

設定RLS

頁面介紹

在Supabase中設定RLS的地方要在左側書籤找到Authentication這個
點擊Policies這個按鈕,此時就會看到右側出現上篇文章新建的表格members 表格。
目前的狀態是啟用RLS中,但無任何政策,這個狀態代表說目前表格有被RLS保護,但沒有說什麼情況下可以給使用者使用(讀取、新增、修改、刪除),所以如果現在用API訪問這個表格所有結果都是被拒絕。

新增RLS政策

讓所有人可以讀取

點擊表格列表中右上角的New Policy按鈕,直接選擇上面Get started quickly按鈕,如果本身對於SQL相關有經驗的人也可以直接點擊下面完全客製的按鈕自己撰寫RLS政策。
可以看到Supabase有提供四個標準模板,可以直接新增第一個政策Enable read access to everyone,讓所有人讀取表格內的資料,點擊Use this template後繼續點擊Review和Save policy儲存這個RLS政策。
到這裡可以看到目前表格已經有一種RLS政策,內容正是可以讓所有人讀取,這麼一來如果現在使用API訪問表格即可獲得表格資料。

只有已登入者才能新增資料

接著也是很常用到的政策Enable insert access for authenticated users only,也就是只有已登入者才能在表格中新增資料,這麼做的好處是知道此筆資料的主人是誰,目前只是因為範例所以欄位較為簡單,否則是可以在新增的同時紀錄使用者ID等資訊。
這個政策剛好也在範例模板裡面有提供。
直接在範例這邊選擇第二個政策,內容毋須調整只要依循上面的步驟進行新增的動作。
完成後的內容會是這樣,現在只有成功登入的使用者可以對這個表格進行新增資料的動作。

其餘政策

當然有讀取、新增資料的權限當然要有修改、刪除資料的權限,在Supabase提供的模板裡面直接就有提供模板政策可以新增,但因為範例中使用的表格欄位沒有紀錄那麼多資訊,如果要使用模板的話自己新增對應判斷的欄位,或是稍微修改判斷式。
更多資訊可以閱讀官方提供的文件和範例:

總結

Row Level Security 是Supabase中一項有用的功能,透過合理地使用安全性策略,我們可以確保不同用戶只能訪問他們有權限的資料,同時保護整個APP的安全性。
這篇文章是相對基礎內容,若資料欄位更為多元,RLS判斷也會相對複雜,大部分從Supabase提供的模板中修改對應欄位判斷式是目前我的作法,分享給大家。

有興趣的內容

6會員
23內容數
沙龍新手
留言0
查看全部
發表第一個留言支持創作者!
技術叢林 的其他內容
嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supabase的進階功能應用。 Supabase的資料庫基底是PostgreSQL,在PostgreSQL中又是有著各種表格,以及各種欄位所構成,接下來搭配介面介紹。如果想要對Post
嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supabase的進階功能應用。 Supabase將為前端開發帶來創新、便利和效率。 什麼是Supabase? Supabase官網 Supabase是一個開源的後端服務平台,提供完全可
嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supabase的進階功能應用。 Supabase的資料庫基底是PostgreSQL,在PostgreSQL中又是有著各種表格,以及各種欄位所構成,接下來搭配介面介紹。如果想要對Post
嗨歡迎閱讀我的文章!這是關於Supabase的系列文章,內容包含介紹Supabase是什麼、基本功能應用,深入了解Supabase的進階功能應用。 Supabase將為前端開發帶來創新、便利和效率。 什麼是Supabase? Supabase官網 Supabase是一個開源的後端服務平台,提供完全可
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
您是否尋找列用AI提升寫作效率的有效策略? 在當今AI時代,我們可能都對如何提升寫作效率感到困擾。你是否曾想過,AI工具或許可以提供絕佳的解決方案?在這篇文章中,我們將透過三個重要面向來探討:利用AI寫作工具、維持人類獨特性,以及實踐提升寫作效率的方法。 在寫作過程中,我們可以透過
Thumbnail
身心平衡是每個超過30歲的人必須要維護的。 透過閱讀與寫作的平衡,你可以鍛鍊你的心靈,練習更好的消化與吸收知識。 在這裡,我將分享我如何利用閱讀與寫作這兩種方式鍛鍊心靈的三大關鍵。 關鍵1 - 讀寫的平衡:就如同飲食與運動的平衡,閱讀讓我們吸收知識,而寫作則如同運動,將所學知識消化與吸收。如果只有吸
十七年,足夠這個世界及一個國際大都會作很多轉變⋯⋯
Thumbnail
工作中,你能決定哪些部分呢? 如果一個人在工作沒什麼自由度,沒有決策權,那麼很快就會職業枯竭,有能力做但沒興趣。 我從事的學術產業,就非常需要熱情,來避免職業枯竭。下面是我掌握工作自由度,抵抗職業枯竭的3個實踐策略: 策略1 - 善用自己的決策權,打破工作中的枯燥:你必須完成老闆交代的事情,但是「完
Thumbnail
台股量縮震盪,守在5日線上,走勢仍是攻擊型態! 櫃買留下墓碑線,但上影線是多方進攻的痕跡,加上實質走勢是日出走勢,多方將持續進攻! 陸股持續拉回,近期的觀盤重點,下檔支撐不能跌破!
Thumbnail
一開始我是最反對騎機車載妳的,不過就像其他事情一樣,如果很多事情都堅持意見的話,生活大概不會過的太平順,但至少希望可以好好的使用安全帽和安全帶,好好的小心道路狀況。 以往也曾聽聞父母親從小到大都不讓孩子騎機車的事例,當時並不覺得有這個必要,甚至覺得這些父母也太誇張了。現在倒是可以體會這些父母的用心
Thumbnail
飛機劃過長空,萬里無雲的晨光下,就是那個久別了的香港!飛機上幾排椅子都無人,作為全球最繁忙的航線,都因為警暴而嚇怕遊客,不敢再來香港玩了。冷冷清清的機場暢通無阻,輕鬆過關,提取行李,天爸終於回到香港了! 這幾個月改變了香港人,由以往只看實利、貪小便宜的香港人,變成舉世皆知的抗爭民族⋯⋯
Thumbnail
BBC中文網刊登了一篇報導關於一則對印度料理批評的推特所引起的種族歧視爭議(原文『美國移民:美食保衛戰引發種族歧視大辯論』),事件起於美國國際關係學教授湯姆·尼科爾斯在推特上了嫌棄印度料理後收到各方從尼科爾斯自身品味到種族歧視等批評與討論,事後尼科爾斯承認自己只吃過美國及英國當地印度餐廳裡的餐點、
Thumbnail
不管做任何事,熱情很重要,興趣很重要,但有實質的回饋可以走更遠,像是錢。用寫文章來賺錢的方式有很多種,在網站上放廣告、接業配、加入聯盟行銷等。
Thumbnail
說到寫文章,多數人第一個反應不出以下幾種,「我作文很爛欸,國高中作文很少及格」、「我文筆不好,寫出來的東西一點都不吸引人」、「我有想過寫部落格,但不知道要寫什麼」。這三種反應有點像考試遺毒還沒解:不必再接受考試摧殘了,卻也忘了將考試分數的枷鎖卸下來;好像不考作文了,就不會再書寫。
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
您是否尋找列用AI提升寫作效率的有效策略? 在當今AI時代,我們可能都對如何提升寫作效率感到困擾。你是否曾想過,AI工具或許可以提供絕佳的解決方案?在這篇文章中,我們將透過三個重要面向來探討:利用AI寫作工具、維持人類獨特性,以及實踐提升寫作效率的方法。 在寫作過程中,我們可以透過
Thumbnail
身心平衡是每個超過30歲的人必須要維護的。 透過閱讀與寫作的平衡,你可以鍛鍊你的心靈,練習更好的消化與吸收知識。 在這裡,我將分享我如何利用閱讀與寫作這兩種方式鍛鍊心靈的三大關鍵。 關鍵1 - 讀寫的平衡:就如同飲食與運動的平衡,閱讀讓我們吸收知識,而寫作則如同運動,將所學知識消化與吸收。如果只有吸
十七年,足夠這個世界及一個國際大都會作很多轉變⋯⋯
Thumbnail
工作中,你能決定哪些部分呢? 如果一個人在工作沒什麼自由度,沒有決策權,那麼很快就會職業枯竭,有能力做但沒興趣。 我從事的學術產業,就非常需要熱情,來避免職業枯竭。下面是我掌握工作自由度,抵抗職業枯竭的3個實踐策略: 策略1 - 善用自己的決策權,打破工作中的枯燥:你必須完成老闆交代的事情,但是「完
Thumbnail
台股量縮震盪,守在5日線上,走勢仍是攻擊型態! 櫃買留下墓碑線,但上影線是多方進攻的痕跡,加上實質走勢是日出走勢,多方將持續進攻! 陸股持續拉回,近期的觀盤重點,下檔支撐不能跌破!
Thumbnail
一開始我是最反對騎機車載妳的,不過就像其他事情一樣,如果很多事情都堅持意見的話,生活大概不會過的太平順,但至少希望可以好好的使用安全帽和安全帶,好好的小心道路狀況。 以往也曾聽聞父母親從小到大都不讓孩子騎機車的事例,當時並不覺得有這個必要,甚至覺得這些父母也太誇張了。現在倒是可以體會這些父母的用心
Thumbnail
飛機劃過長空,萬里無雲的晨光下,就是那個久別了的香港!飛機上幾排椅子都無人,作為全球最繁忙的航線,都因為警暴而嚇怕遊客,不敢再來香港玩了。冷冷清清的機場暢通無阻,輕鬆過關,提取行李,天爸終於回到香港了! 這幾個月改變了香港人,由以往只看實利、貪小便宜的香港人,變成舉世皆知的抗爭民族⋯⋯
Thumbnail
BBC中文網刊登了一篇報導關於一則對印度料理批評的推特所引起的種族歧視爭議(原文『美國移民:美食保衛戰引發種族歧視大辯論』),事件起於美國國際關係學教授湯姆·尼科爾斯在推特上了嫌棄印度料理後收到各方從尼科爾斯自身品味到種族歧視等批評與討論,事後尼科爾斯承認自己只吃過美國及英國當地印度餐廳裡的餐點、
Thumbnail
不管做任何事,熱情很重要,興趣很重要,但有實質的回饋可以走更遠,像是錢。用寫文章來賺錢的方式有很多種,在網站上放廣告、接業配、加入聯盟行銷等。
Thumbnail
說到寫文章,多數人第一個反應不出以下幾種,「我作文很爛欸,國高中作文很少及格」、「我文筆不好,寫出來的東西一點都不吸引人」、「我有想過寫部落格,但不知道要寫什麼」。這三種反應有點像考試遺毒還沒解:不必再接受考試摧殘了,卻也忘了將考試分數的枷鎖卸下來;好像不考作文了,就不會再書寫。