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
170
0
Share
Streamlitとロール関連の話
株式会社ヌーラボ
PRO
October 10, 2025
More Decks by 株式会社ヌーラボ
See All by 株式会社ヌーラボ
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
300
進化するBits AI SREと私と組織
nulabinc
PRO
2
450
実践 Datadog MCP Server
nulabinc
PRO
3
460
全社横断PjM⽀援チーム “PEaS”の取り組みと プロジェクトマネジメント でのAI活⽤について
nulabinc
PRO
0
130
Datadog の RBAC のすべて
nulabinc
PRO
4
690
Datadog Live Tokyo 2025登壇資料
nulabinc
PRO
0
110
Nulab Fun Deck 〜チームワークが、世界をもっと『おもしろく』する〜
nulabinc
PRO
1
12k
How to Migrate Your Backlog Free Plan
nulabinc
PRO
0
210
チームワークマネジメント Bar #5
nulabinc
PRO
0
70
Other Decks in Technology
See All in Technology
2026-04-02 IBM Bobオンボーディング入門
yutanonaka
0
250
Cortex Codeでデータの仕事を全部Agenticにやりきろう!
gappy50
0
320
Webアクセシビリティは“もしも”に備える設計
tomokusaba
0
170
「できない」のアウトプット 同人誌『精神を壊してからの』シリーズ出版を 通して得られたこと
comi190327
3
620
"まず試す"ためのDatabricks Apps活用法 / Databricks Apps for Early Experiments and Validation
nttcom
1
210
AIドリブン開発の実践知 ― AI-DLC Unicorn Gym実施から見えた可能性と課題
mixi_engineers
PRO
0
120
Claude Teamプランの選定と、できること/できないこと
rfdnxbro
1
1.7k
チームで育てるAI自走環境_20260409
fuktig
0
930
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
5
13k
ふりかえりがなかった職能横断チームにふりかえりを導入してみて学んだこと 〜チームのふりかえりを「みんなで未来を考える場」にするプロローグ設計〜
masahiro1214shimokawa
0
230
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
9
3.6k
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
chmikata
0
210
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
0
290
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.6k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.4k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
200
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
330
YesSQL, Process and Tooling at Scale
rocio
174
15k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
BBQ
matthewcrist
89
10k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
250
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. ご清聴ありがとうございました