# 実装の参考資料 - https://soudai.hatenablog.com/entry/2022/11/11/110825 # 類似の登壇内容の動画 - https://www.youtube.com/watch?v=PXy6I-AeI-I
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
はじめに 初めまして、株式会社Techouseエンジニアインターンの sakaidubz と申します。本日は私の携わっているプロダクトであるクラウドハウス労務で利用している RLS (Row Level Security) の技術について紹介します。 Techouse では、重要技術として RLS を多用しています。 通常 PostgreSQL の運用時には利用しないものであるため Techouse の開発メンバーとしてジョインしたみなさんが手慣れるまでに少し苦労をされているようです。 そこでこの場を借りて解説してみようと思い立ちました。 クラウドハウス労務について RLS について紹介する前に、私が開発しているクラウドハウス労務について紹介します。 クラウドハウス労務は人事労務における複雑な業務の電子化を推進するセミオーダー型・クラウド業務支援サービスです。各種手続きや年末調整といった法
RLSを用いたマルチテナント実装 for Django by Takayuki Shimizukawa 複数のテナント(チーム・組織)向けにサービスを提供するシステムで、テナント相互の情報を分離して扱う、複数のマルチテナントアーキテクチャが考案されています。「各プログラマが努力して実装する」戦略でも実現はできますが、プログラミングミスや設定間違いによるデータ混濁が高確率で発生します。このトークでは、マルチテナントアーキテクチャにおけるデータ分割アプローチのひとつ「共有アプローチ」をDjangoとPostgresのRow Level Security (RLS) の組合せで安全に実現する方法を紹介します。またこの方法のメリット、デメリットを紹介します。 https://djangocongress.jp/Read less
Beatrust で SRE をやっている Yuta (中川 裕太) です.運用がラクにできるように色々と改善したり,セキュリティ向上したり,インフラ作ったり API 開発したりしています. 今回のブログでは,Row Level Security (RLS) 下で現実的なレイテンシで大量データを扱うためにクエリをチューニングした結果とそこから学んだプラクティスを紹介します. モチベーション Beatrust ではセキュリティ向上のために,顧客 (テナント) ごとにデータを論理的に分離する RLS を用いています. tech.beatrust.com tech.beatrust.com おかげさまで Beatrust は BtoB サービスとして順調に成長しており,創業3年目のタイミングで 1 顧客あたり数万人規模のお客様の導入も現実味を帯びてきました.RLS はその性質上,データ量の増加に
Author: Neo Chiu Background We use Prisma + Postgres from prototype and start to migrate all data with RLS ( Row Level Security ) last year. We are managing multi-tenants data in one database, and we don't want data be accessed cross tenants. RLS restricts data with security policies at database engine level to prevent any unexpected access from client side. You can find more details in Japanese a
マルチテナントなECサイトの注文データをイメージしています。tenant_nameのカラムにテナント名が入り、このカラムとDBユーザーの一致を行セキュリティポリシーよってチェックするようなイメージです。 テストデータ等の準備 それでは検証環境を準備していきましょう。今回の検証にはPostgreSQLバージョン11.11を利用しています。 まずはテーブルを作成 CREATE TABLE orders ( id SERIAL PRIMARY KEY, tenant_name text, product_code text, order_date timestamp ); CREATE TABLE 続いてマルチテナント用のDBユーザーを作成 CREATE ROLE user01 LOGIN; CREATE ROLE CREATE SCHEMA "saas"; CREATE SCHEMA GRAN
The Rust Language Server (RLS) is being deprecated in favor of rust-analyzer. Current users of RLS should migrate to using rust-analyzer instead. Builds of RLS will continue to be released until at least the Rust 1.64 release (2022-09-22), after which no new releases will be made. This timeline may change if any issues arise. RLS is an implementation of the Language Server Protocol (LSP) which pro
いわさです。 Amazon QuickSight には Row Level Security (RLS) という機能があり、同一のデータセットでもテナントやユーザーに応じて表示可能なデータを制御する機能を使うことが出来ます。 そして QuickSight でデータセットを作成する際には既存のデータセットを継承した子データセットを作成することが出来ます。 従来は RLS が有効化されたデータセットから子データセットを作成することは出来ませんでしたが、先日のアップデートで RLS を有効化したデータセットから子データセットを作成することが出来るようになりました。 早速試してみます。 行レベルセキュリティ (RLS) の親データセットから子データセットを作成 まずは適当な表示用のデータセットを用意します。 CSV をアップロードします。 HogeGroupName,HogeUserName,Ho
こんにちは!Nstockのじゃがです。 NstockではマルチテナントSaaSを開発しており、テナント間のデータ分離にRow-Level Security(RLS)を利用しています。本記事ではRLSの基本から、Nstockでの利用イメージまで、SQL文やアプリケーションコードを交えて解説します。 備考 アプリケーションの実装イメージはSpring Bootですが、多くのフレームワークに存在する機能を利用しています PostgreSQLのRLSについて話しています マルチテナントアーキテクチャとRLS Nstockは初期フェーズであり、人的リソースや金銭的リソースに余裕がありません。テナントごとに異なるDBサーバーやスキーマを用意するアーキテクチャは、リソース的に厳しいです。そのため、複数のテナントでDBサーバーを共有しつつ、 tenant_id カラムを用いてテナント間のデータを分離するこ
Beatrust で SRE をやっている Yuta(中川 裕太)です.運用がラクにできように色々と改善したり,セキュリティ向上したり,インフラ作ったり API 開発したりしています. 今回のブログでは,Beatrust のセキュリティ向上施策の一つである Row Level Security(RLS)について,実装時に課題になった点とその解決策,また RLS を適用して約3ヶ月運用してくる中で課題となった点とその解決策について紹介します. TL;DR 大企業に求められるセキュリティ要件を満たすためデータを論理的に分離しました.その実装方法として,実装・運用コストやセキュリティ向上効果などから RLS を選択しました. index を適切に張れば 数10msec 程度の性能劣化で RLS 自体は適用できました.一方で,本来フレームワークが想定する DB connection の管理方法とは
この記事は? 著者は、現在こそToCの開発に携わっているものの、SaaS開発に関しては3年以上の設計と実装の経験があります。SaaS開発を行う上で必須となるテナントの分離を行う理由は、他企業へのデータアクセスによるセキュリティインシデントを防ぐためです。この記事では、一般のSaaS開発においてマルチテナント×RLSが有力なアーキテクチャとなり得る理由を説明します。 シングルテナントvsマルチテナント 注) テナントの概念に入門する人のためのパート。適宜読み飛ばしてください。 そもそもテナント(tenant)とは、店舗や事務所などを借りて住んでいる人のことを指します。では、SaaSでテナントとは通常誰のことを指すのでしょうか?テナントとはSaaSが展開するサブスクリプションの契約主で、法人と契約しているSaaSであれば企業=テナントになり、個人と契約しているSaaSであれば個人=テナントにな
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く