Slide 1

Slide 1 text

1 © 2025 Japan Digital Design, Inc. Technology & Development Div. Yuta KIMI 2025.11.08 「Bobはどことどこにアクセスできる?」 IAM Identity Centerによる権限設定を グラフ構造で可視化+グラフRAGへの挑戦 [IAMスペシャル!]Security-JAWS【第39回】 勉強会

Slide 2

Slide 2 text

2 © 2025 Japan Digital Design, Inc. 佐藤さん等はあなたのAWS組織内の任意のユーザ 佐藤さんと田中さんと 伊藤さんと野村さんと…は どことどこのアカウントに どんな権限があるか 回答お願いします。今日中に。 IAM Identity Center 佐藤さん えらい人/ こわい人

Slide 3

Slide 3 text

3 © 2025 Japan Digital Design, Inc. IAM Identity Centerはつまるところ グラフ である という視点から考えてみる

Slide 4

Slide 4 text

4 © 2025 Japan Digital Design, Inc. 木美 雄太(きみ ゆうた) Senior Solution Architect 長女 MacBook Pro – M4 Pro/Max ※Windowsも選択可 業務端末 GitHub Copilot、Claude Code、Cline 等 開発環境 リモートワーク前提で地方在住もOK 勤務場所 データサイエンス・デザイン・エンジニアリングの力で より良い金融体験を創造するMUFGの戦略子会社

Slide 5

Slide 5 text

5 © 2025 Japan Digital Design, Inc. 前提として、AWSにおける ユーザ権限管理の主戦場はもはや IAMユーザではない https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/gs-identities-iam-users.html AWSも公式ドキュメントで「ほぼどんなユース ケースでもIAMユーザは利用しないこと」を推奨

Slide 6

Slide 6 text

6 © 2025 Japan Digital Design, Inc. マルチアカウント利用が常識になり 企業におけるAWS組織では 数十〜数百以上の アカウントやユーザを 管理することも当たり前 アカウントごとにIAMユーザを作ると すぐにID管理やアクセス許可の管理が破綻

Slide 7

Slide 7 text

7 © 2025 Japan Digital Design, Inc. 組織内のすべてのAWSアカウントに対する ユーザアクセス権限を一元的に管理 AWS IAM Identity Center のAWSアカウントアクセス IAM Identity Center IAM Identity Centerにより ユーザ権限管理の困難から 解放されたのか?

Slide 8

Slide 8 text

8 © 2025 Japan Digital Design, Inc. ユーザ グループ 許可セット AWSアカウント IAMロール リソース 多対多が前提の 複雑な関係 所属 割当 割当 作成 権限付与 所属 所属 多 多 多 多 多 多 多 多 IAM Identity Centerの主要コンポーネントと関係 ユーザは複数のグループに所属可能 グループには複数のユーザを追加可能 グループに複数のAWSアカウントを 割当可能 1つのグループと1つのアカウントの 組合せに複数の許可セットを割当可能 これによって、グループ内のユーザは 複数のAWSアカウントに 複数の権限でアクセスできる

Slide 9

Slide 9 text

9 © 2025 Japan Digital Design, Inc. マネジメントコンソールもかなり親切になっている。なっているが… × N ユーザ ユーザ一覧からユーザを選択して… アカウントを選択して… 許可セットを選択して… 割当ポリシーを確認 × M アカウント × L 許可セット (画面遷移) N × M × L 回 ぽちぽち 証跡も出せなんて 言われた日には…

Slide 10

Slide 10 text

10 © 2025 Japan Digital Design, Inc. マネジメントコンソールもかなり親切になっている。なっているが… × N ユーザ ユーザ一覧からユーザを選択して… アカウントを選択して… 許可セットを選択して… 割当ポリシーを確認 × M アカウント × L 許可セット (画面遷移) N × M × L 回 ぽちぽち 証跡も出せなんて 言われた日には… 多対多の構造上、表でなんとかしようとすると 複数の表をたどっていくしかない 手でたどっていくと抜け漏れの可能性も

Slide 11

Slide 11 text

11 © 2025 Japan Digital Design, Inc. 複雑な関係の表現に 向いた“グラフ” グラフとはやんわり言うと ノード(頂点)とエッジ(辺) による表現・構造 例えば、「佐藤さんと田中さんの共通の友人は?」 という問いにグラフならぱっと見て答えられる ノード: 佐藤さん エッジ: 友人関係 ノード: 田中さん ノード: 野村さん

Slide 12

Slide 12 text

12 © 2025 Japan Digital Design, Inc. IAM Identity Centerのアクセス権限設定を グラフに乗せてみる

Slide 13

Slide 13 text

13 © 2025 Japan Digital Design, Inc. ユーザ y-ito は グループ ProductB_Ops ProjectX_PoC に所属し アカウント ProductB_Prd ProjectX_PoC に割り当てられ 許可セット・ロール ProductB_Operator ProjectX_Developer の権限を持つ ポリシー一覧

Slide 14

Slide 14 text

14 © 2025 Japan Digital Design, Inc. ユーザ y-ito は グループ ProductB_Ops ProjectX_PoC に所属し アカウント ProductB_Prd ProjectX_PoC に割り当てられ 許可セット・ロール ProductB_Operator ProjectX_Developer の権限を持つ ポリシー一覧 マネジメントコンソールを 手でたどっていくよりも簡単かつ直感的 人力でたどらないので抜け漏れもない

Slide 15

Slide 15 text

15 © 2025 Japan Digital Design, Inc. 金融をはじめとした規制業界では 多様な関係者に 説明責任を果たすこと が強く求められる 誰でも直感的・網羅的に 把握できる価値は大きい セキュリティ担当 監査担当 社内・社外、監督官庁、AWSの知識が少ない人も ビジネスサイド 監督官庁 リスク管理担当 コンプライアンス担当

Slide 16

Slide 16 text

16 © 2025 Japan Digital Design, Inc. 異変が ぱっと目に付く 通常とは異なる関係に 気がつきやすい 例えば、グループではなく 直接ユーザに権限付与して いる等 田中... 本番環境にtemp_emergency とかいう怪しいPowerUserAccess 権限がついてる...

Slide 17

Slide 17 text

17 © 2025 Japan Digital Design, Inc. 構築方法 出典:https://github.com/aws-samples/sample-visualizing-access-rights-for-identity-on-aws ARIA-gv (Access Rights for Identity on AWS - graph visualization) AWSが公開しているサンプル実装をベースに構築 re:Inforce 2025 の Code Talk で紹介 出典: https://youtu.be/JsPug0rh7BM?si=wtztwKjw9J mHwAvy

Slide 18

Slide 18 text

18 © 2025 Japan Digital Design, Inc. Amazon Neptune にデータ取込 グラフDBエンジンの NeptuneにLambdaで 収集した情報を取込 出典:https://github.com/aws-samples/sample-visualizing-access-rights-for-identity-on-aws

Slide 19

Slide 19 text

19 © 2025 Japan Digital Design, Inc. Neptune Analyticsを 分析するときだけ起動 グラフ全体をメモリ上に格納するため 高速に分析できる オンライン処理用のNeptune Database としてクラスタを立てるのではなく 必要な時だけサーバレスに起動 Amazon Neptune Analytics データは S3バケットに保存 分析する時だけ 起動 全データを メモリ上にロード

Slide 20

Slide 20 text

20 © 2025 Japan Digital Design, Inc. Graph-explorer で可視化 AWSがOSS公開している グラフをGUIで操作できる Reactベースのアプリ 参考:[graph-explorer](https://github.com/aws/graph-explorer)

Slide 21

Slide 21 text

21 © 2025 Japan Digital Design, Inc. サンプル実装をデプロイするだけで 人間の困難は緩和された しかし、昨今は生成AIと協力して仕事をする時代...

Slide 22

Slide 22 text

22 © 2025 Japan Digital Design, Inc. LLMにこのグラフDBを 検索させたらうまく質問 に答えられるのでは? Bedrock Claude Notebook 質問者 質問 質問 スキーマ クエリ文 Neptune クエリ文 クエリ結果 Bedrock Claude 質問 クエリ結果 回答 質問者 回答 クエリ生成 クエリ実行 回答生成 サンプル実装からの独自発展として グラフDBの検索結果を元に 回答を生成するGraph-RAGを Notebook上で簡易に実装

Slide 23

Slide 23 text

23 © 2025 Japan Digital Design, Inc. Amazon Q Developer Graph-RAG VS. 「ユーザ y-ito はどのAWSアカウントに、 どんな権限でアクセスできますか?ポリシーまで教えてください」 という質問にどちらがより速く・正確に回答できるか ※AWSアカウントもユーザ、グループも各15個未満の小さな環境で試行

Slide 24

Slide 24 text

24 © 2025 Japan Digital Design, Inc. 10秒程度で正しい 回答が得られた Graph-RAG

Slide 25

Slide 25 text

25 © 2025 Japan Digital Design, Inc. 愚直にCLIを実行 しまくる 回答は正しいが 数分以上かかる ・・・ ・・・ Amazon Q Developer

Slide 26

Slide 26 text

26 © 2025 Japan Digital Design, Inc. Amazon Q Developer Graph-RAG VS. グラフ化されていれば LLMもより短い時間で回答できる 規模に依存せずクエリは1回 人間と同様に愚直に 確認して回るしかなく時間がかかる 規模に比例してCLI実行回数も増大 勝ち

Slide 27

Slide 27 text

27 © 2025 Japan Digital Design, Inc. Amazon Q Developer Graph-RAG VS. グラフ化されていれば LLMもより短い時間で回答できる 規模に依存せずクエリは1回 人間と同様に愚直に 確認して回るしかなく時間がかかる 規模に比例してCLI実行回数も増大 勝ち 数百以上のAWSアカウントで 多様な役割・権限種別がある実際の組織だと この差はより顕著になる

Slide 28

Slide 28 text

28 © 2025 Japan Digital Design, Inc. IAM Identity Centerを グラフ でとらえると 人間もLLMも素早く正確に アクセス権限設定を把握できる とはいえ、アイデンティティベースのポリシーだけで 許可が決まるわけではないのでその点はfuture work... まとめ

Slide 29

Slide 29 text

Thank you. 29 © 2025 Japan Digital Design, Inc. D i s c l a i m e r : T h e i n fo r m a t i o n p r o v i d e d i n t h i s p re s e n t a t i o n i s f o r i n fo r m a t i o n a l p u r p o s e s o n l y a n d d o e s n o t c o n s t i t u t e l e g a l , fi n a n c i a l , o r p ro f e s s i o n a l a d v i c e . E v e r y e ff o r t h a s b e e n m a d e t o e n s u r e t h e a c c u r a c y o f t h e i n fo r m a t i o n , b u t t h e p r e s e n t e r a n d t h e c o m p a n y a c c e p t n o re s p o n s i b i l i t y f o r a n y e r r o r s o r o m i s s i o n s . T h e v i e w s e x p r e s s e d a r e t h o s e o f t h e p r e s e n t e r a n d d o n o t n e c e s s a r i l y r e fl e c t t h e v i e w s o f t h e c o m p a n y. C o n fi d e n t i a l i t y N o t i c e : T h i s p r e s e n t a t i o n c o n t a i n s c o n fi d e n t i a l i n fo r m a t i o n i n t e n d e d o n l y f o r t h e d e s i g n a t e d a u d i e n c e . U n a u t h o r i z e d d i s t r i b u t i o n o r r e p r o d u c t i o n o f t h i s c o nt e n t i s s t r i c t l y p ro h i b i t e d . 免責事項: このプレゼンテーションで提供される情報は、情報提供のみを目的としており、法的、財務的、または専門的なアドバイスを構成するものではありません。 情報の正確性を確保するために努めていますが、誤りや脱落について発表者および会社は一切の責任を負いません。 本プレゼンテーションで表明された見解は、発表者の個人的なものであり、会社の見解を必ずしも反映するものではありません。 機密性に関する注意: このプレゼンテーションには機密情報が含まれており、指定された対象者のみを対象としています。無断での配布や複製は固く禁じられています。