権限管理

PostgreSQLのRow Level Security(RLS)について

データベース

概要 PostgreSQLでは、GRANTベースのアクセス制御(テーブルや列レベル)に加え、ユーザー単位で特定の行の可視性や更新可否を制御する仕組み(行レベルのアクセス制御)としてRow Level Security(RLS)が提供されている。 RLSの基本概念 Row Level Securityは、テーブルに対して「ポリシー」を定義することで機能する。 ポリシーは、どのユーザーがどの行にアクセ...

PostgreSQL 権限管理

Open Policy Agentについて

アプリケーション

Open Policy Agentについて詳しく知りたかったので、公式ドキュメントを参照して調べてみた。 Open Policy Agentとは Open Policy Agent(OPA、「オーパ」と発音。)とは、ポリシー適用のためのOSSの汎用ポリシーエンジン。 宣言型言語(Rego、「レイゴ」と発音。)を用いてポリシーをコードとして記述することができる。 Styraによって開発されており、現...

Open Policy Agent 権限管理

OPAを使用したマイクロサービスのアクセス制御システムの実装

システムアーキテクチャ

OPAを使用したマイクロサービスのアクセス制御システムの実装 OPAを採用したアクセス制御システムのPOCに取り組んでみたので、その内容についてまとめておく。 POCの設計や実装は以下のリポジトリで公開しているため、そちらも合わせて参照されたい。 bmf-san/poc-opa-access-control-system 1. はじめに 1.1 背景と課題 まず、本記事で扱う重要な概念として「権限...

権限管理 Open Policy Agent RBAC マイクロサービス

権限管理基盤についての事例

システムアーキテクチャ

権限管理基盤については開発事例を調べてみた。 developers.freee.co.jp - freee 権限管理基盤を開発するチームの今を語ろう! 基盤開発チームの体制について developers.freee.co.jp - freee 権限管理基盤を開発するチームのこれまでを語ろう! 基盤を設計していくうえでの課題を整理するアプローチについて共感するところが多い(自分の経験にも近しい...

権限管理 設計

権限管理の設計について調べてみた

システムアーキテクチャ

概要 権限管理の設計について事例を調べてみたのでメモしておく。 調査メモ 調査した情報を整理してみたが、わかっていないこともあるのでちゃんと整理しきれていない。 権限を構成する要素 権限は次の要素で成り立つものと考えられそう。 誰が(Principal) 何に(Resource) 何を(Action)していいか(ALLOW)、いけないか(DENY) 権限設計の手法 設計手法としては次のようなも...

ABAC ACL RBAC 権限管理 システム設計 リンク集