<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>RBAC on 小惡魔 - AppleBOY</title><link>https://blog.wu-boy.com/tags/rbac/</link><description>Recent content in RBAC on 小惡魔 - AppleBOY</description><generator>Hugo</generator><language>en-us</language><managingEditor>appleboy.tw@gmail.com (Appleboy)</managingEditor><webMaster>appleboy.tw@gmail.com (Appleboy)</webMaster><lastBuildDate>Sun, 18 Apr 2021 07:24:13 +0000</lastBuildDate><atom:link href="https://blog.wu-boy.com/tags/rbac/feed.xml" rel="self" type="application/rss+xml"/><item><title>初探 Open Policy Agent 實作 RBAC (Role-based access control) 權限控管</title><link>https://blog.wu-boy.com/2021/04/setup-rbac-role-based-access-control-using-open-policy-agent/</link><pubDate>Sun, 18 Apr 2021 07:24:13 +0000</pubDate><author>appleboy.tw@gmail.com (Appleboy)</author><guid>https://blog.wu-boy.com/2021/04/setup-rbac-role-based-access-control-using-open-policy-agent/</guid><description>&lt;p&gt;&lt;a href="https://lh3.googleusercontent.com/qLGheyjm3eVL-TRP_MT1X9j2QrNrtIIAlVPmLbvNGWcLkqfUTpH87D2GCzYmce8eU88oMF-82lSqT6DwOByPWEKVZP4nGWT-IZFDvpVwnil2AeXZaYxZN5J33IpfsYfP6mljV3S51R4=w1920-h1080" title="Open Policy Agent"&gt;&lt;img src="https://lh3.googleusercontent.com/qLGheyjm3eVL-TRP_MT1X9j2QrNrtIIAlVPmLbvNGWcLkqfUTpH87D2GCzYmce8eU88oMF-82lSqT6DwOByPWEKVZP4nGWT-IZFDvpVwnil2AeXZaYxZN5J33IpfsYfP6mljV3S51R4=w1920-h1080" alt="Open Policy Agent" title="Open Policy Agent"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最近公司內部多個專案都需要用到 &lt;a href="https://zh.wikipedia.org/wiki/%E4%BB%A5%E8%A7%92%E8%89%B2%E7%82%BA%E5%9F%BA%E7%A4%8E%E7%9A%84%E5%AD%98%E5%8F%96%E6%8E%A7%E5%88%B6"&gt;RBAC&lt;/a&gt; (Role-based access control) 權限控管，所以決定來找尋 Go 語言的解決方案及套件，在 Go 語言比較常聽到的就是 &lt;a href="https://casbin.org/"&gt;Casbin&lt;/a&gt;，大家眾所皆知，但是隨著專案變大，系統複雜性更高，希望未來可以打造一套可擴充性的權限機制，故網路上看到一篇 &lt;a href="https://gist.github.com/Wang-Kai/18fe4e662ef795805c14b1ec94932834"&gt;ladon vs casbin&lt;/a&gt; 的介紹文章，文章留言有中國開發者對於 Casbin 的一些看法，以及最後他推薦另一套 &lt;a href="https://www.cncf.io/"&gt;CNCF&lt;/a&gt; 的專案叫 &lt;a href="https://www.openpolicyagent.org/"&gt;Open Policy Agent&lt;/a&gt; 來實作權限控管機制。本篇直接來針對 Open Policy Agent 簡稱 (OPA) 來做介紹，並且用 Go 語言來驗證 RBAC 權限。底下是文章內其他開發者用過 Casbin 的感想&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;1.使用覺得ladon的質量更好，支持類ACL和RBAC的權限系統，跟亞馬遜AWS的IAM非常契合 2.casbin那些庫的質量真的是無力吐槽，都沒有經常測試的東西就往github發，UI也到處bug，全都是畢業生寫的一樣，試用便知 3.casbin這個項目不讓提問題，提問題就給你關閉，作者很涉別人提問題 4.這些確實是本人的經歷，大家慎重選擇吧&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;最後的推薦&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;強烈推薦CNCF今年畢業的策略引擎OPA（維護團隊主要是Google，微軟，Styra等），可以實現ABAC，RBAC，PBAC等各種權限模型，目前我們已經在生產環境中使用。 也是基於OPA實現的。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本篇所使用的範例程式碼請從&lt;a href="https://github.com/go-training/opa-demo/tree/v0.0.1"&gt;這邊下載或觀看&lt;/a&gt;。&lt;/p&gt;</description></item></channel></rss>