Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Streamlitとロール関連の話
Search
株式会社ヌーラボ
PRO
October 10, 2025
Technology
200
0
Share
Streamlitとロール関連の話
株式会社ヌーラボ
PRO
October 10, 2025
More Decks by 株式会社ヌーラボ
See All by 株式会社ヌーラボ
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
320
進化するBits AI SREと私と組織
nulabinc
PRO
3
630
実践 Datadog MCP Server
nulabinc
PRO
4
620
全社横断PjM⽀援チーム “PEaS”の取り組みと プロジェクトマネジメント でのAI活⽤について
nulabinc
PRO
0
170
Datadog の RBAC のすべて
nulabinc
PRO
4
760
Datadog Live Tokyo 2025登壇資料
nulabinc
PRO
0
150
How to Migrate Your Backlog Free Plan
nulabinc
PRO
0
240
チームワークマネジメント Bar #5
nulabinc
PRO
0
87
Geeks Who Drink Fukuoka - 202508
nulabinc
PRO
0
63
Other Decks in Technology
See All in Technology
AIのために、AIを使った、Effect-TSからの脱却 〜テストを活用した安全なリファクタリングの進め方〜
bitkey
PRO
1
180
自作エディターをOSSにして分かった、一人に刺さる開発が世界を動かす理由
shinyasaita
0
130
TypeScriptはどのようにどこまで推論できるのか ─ とにかく as は禁止で
ypresto
1
260
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.7k
[4] Power BI Deep Dive [2026-05]
ohata_bi
0
110
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
190
JaSSTに関わることで変わった人生観 #jasstnano
makky_tyuyan
0
160
Gaussian Splattingの実用化 - 映像制作への展開
gpuunite_official
0
210
Fラン学生が考える、AI時代のデザインに執着した突破口
husengs7
1
230
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
3
250
R&D 祭 2024 UE5で絵コンテ・作画の制作支援ツールをつくる話
olmdrd
PRO
0
200
AI-Assisted Contributions and Maintainer Load - PyCon US 2026
pauloxnet
1
190
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
10
37k
Balancing Empowerment & Direction
lara
6
1.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
930
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
240
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Typedesign – Prime Four
hannesfritz
42
3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
230
The Mindset for Success: Future Career Progression
greggifford
PRO
0
330
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Transcript
Copyright Nulab Inc. All Rights Reserved. Streamlitとロール関連の話 セキュアで柔軟なアプリ開発を実現する Streamlit in
Snowflake ロール設計
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 大塚 真一郎 株式会社ヌーラボ RevOps部 Data Integration Unit 福岡在住。 データ分析基盤、社内システムの SRE (AWS、GCP、Snowflake) 趣味は野球、釣り、キャンプ、洗車
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. Agenda 1. はじめに: Streamlit権限の大原則 ◦ 全ての基本となる「所有者権限」の再確認 2. 提案:アプリケーションのためのロール設計 ◦ なぜロール設計が重要なのか? ◦ 管理者, 開発者, 利用者 の役割分担 3. 応用:Cortex AI活用と動的な処理分岐 ◦ 開発者が直面する「権限の壁」とその対策 ◦ 実行ユーザーに応じた Cortex AIの切り替え方法 4. まとめ Agenda
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. Streamlit in Snowflakeとは Streamlit はオープンソースのPythonライブラリで、機械学習やデータサイエンスのため のカスタムウェブアプリを簡単に作成・共有できます。Streamlitを使用することで、強力 なデータアプリケーションを迅速に構築し、展開することができます。
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. Streamlit in Snowflake 権限の"大原則" アプリは『所有者 (OWNER)』の権限で実行される • 実行ユーザー (CALLER) ではなく、アプリ作成者 (OWNER) の権限で動作 ◦ ユーザーがテーブルへのアクセス権を持っていなくても、アプリ経由での閲覧・操作 が可能 • 今日の話は、すべてこの原則がベース
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. なぜ、あえて「ロール設計」の話をするのか? Streamlitを「ダッシュボード」から『アプリケーション』へ • データの参照 (Read) だけでなく … ◦ グラフ表示、データ検索 • データの書き込み (Write) も可能なパワフルなツール ◦ ユーザーからの入力内容をテーブルに保存 ◦ 機械学習の予測結果を書き戻す ◦ 操作ログの記録 → だからこそ、明確な役割分担と権限管理が不可欠になる
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 開発者が直面する「権限の壁」 アプリが見える世界 = 開発者が見える世界 • 原則: アプリは所有者(開発者)の権限で動く • 課題: 開発者がアクセスできないデータ(例:人事データ)を使ったアプリは開発できない
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. アプリケーションのための3つの役割 APPADMIN (管理者) • 役割: アプリ専用DB/スキーマの管理者 • 責務: オブジェクト作成、権限付与 (GRANT) APPDEV (開発者) • 役割: Streamlitアプリケーションの開発者 • 責務: Pythonコード作成、アプリのデバッグ APPUSER (利用者) • 役割: 完成したアプリケーションの利用者 • 責務: アプリのUI操作
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. アプリケーションのための3つの役割
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. なぜ、DBやロールを分離するのか? 管理性の向上 • アプリケーションで利用するオブジェクト(テーブル、ビュー等)を一箇所に集約 • 分析用データとアプリ用データを明確に分離 セキュリティの向上 • 利用者 にはアプリの 利用(USAGE) 権限のみを付与 • 最小権限の原則 を徹底し、ユーザーに不要な権限を与えない
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 開発者が直面する「権限の壁」 アプリが見える世界 = 開発者が見える世界 • 原則: アプリは所有者(開発者)の権限で動く • 課題: 開発者がアクセスできないデータ(例:人事データ)を使ったアプリは開発できない
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. どう乗り越えるか? • 対策①:開発用ロールの設計 ◦ アプリがアクセスする必要のあるオブジェクト(テーブル、ビュー等)への SELECT 権限などを集約したロール (APP_DATA_ACCESS_ROLE) を作成し、APPDEV に 付与する • 対策②:プロジェクトごとの権限付与 ◦ 開発期間中のみ、APPDEV に対して一時的に必要なデータへのアクセス権を付与 するプロセスを確立する → 事前のデータ要件定義と、それに基づいた権限設計が重要
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. どう乗り越えるか? • 対策①:開発用ロールの設計(恒久的) メリット ・運用が楽になる ・再利用性が高い デメリット ・過剰な権限を与えがち
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. どう乗り越えるか? • 対策②:プロジェクトごとの権限付与 (一時的) メリット ・開発時にデータ構造を理解しやすい ・セキュリティが高い デメリット ・開発のリードタイムが長くなる可能性 ・開発者とデータ管理者の連携が必須
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. Cortex AI活用と動的な処理分岐 • 背景: Cortex Agentsはユースケース別に作成することが推奨されている ◦ 例:「人事部チーム向け Agent」「営業チーム向け Agent」 • 要件: ◦ 人事部のユーザー (HR_USER) が使ったら → 人事Agentを呼び出したい ◦ 営業部のユーザー (SALES_USER) が使ったら → 営業Agentを呼び出したい → 1つのアプリで、実行ユーザー (APPUSER)の役割に応じて 裏側の処理を動的に変える必要がある
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. CURRENT_ROLE() で実行ユーザーのロールを取得 Streamlitアプリの中で CURRENT_ROLE() を実行すると、 アプリ所有者ではなく、 ”今操作している ユーザー” のロールが取得できる これを利用して、 Pythonコード内で処理を分岐させる
Copyright Nulab Inc. All Rights Reserved. Copyright Nulab Inc. All
Rights Reserved. 本日のまとめ 1. Streamlitは「所有者権限」が基本 ◦ この原則を理解することが、全ての設計のスタートライン 2. Streamlitを「アプリケーション」と捉え、役割を分離する ◦ 管理者, 開発者, 利用者 のロール設計で、管理性と安全性を両立 3. CURRENT_ROLE() を活用し、動的で柔軟な処理を実現 ◦ 実行ユーザーに応じた表示やCortex AIの切り替えが可能に
None
参加申し込み受付中
Copyright Nulab Inc. All Rights Reserved. ご清聴ありがとうございました