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
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
Search
iret.kumoben
July 07, 2025
Technology
0
45
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
下記、勉強会での資料です。
https://youtu.be/-Ixwh7QmodY
iret.kumoben
July 07, 2025
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
12
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
32
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
33
第173回 雲勉 ノーコードで生成 AI アプリを構築!Google Cloud AI Applications(旧 Vertex AI Agent Builder)入門
iret
0
50
第170回 雲勉 Lyria が切り拓く音楽制作の未来
iret
1
29
第169回 雲勉 AWS WAF 構築 RTA
iret
0
36
第167回 雲勉 エージェント開発を加速する Agent Development Kit 入門
iret
1
55
第166回 雲勉 コードを読んで理解する AWS Amplify Gen2 Backend
iret
0
47
第165回 雲勉 Google Agentspace について
iret
0
74
Other Decks in Technology
See All in Technology
チームとマネージャーと組織文化とわたし
hayatoshimiu
0
130
エンジニアリングマネージャーの成長の道筋とキャリア / Developers Summit 2025 KANSAI
daiksy
5
1.8k
App Clip 5年史: 萌動と停滞のクロニクル
judau
0
120
Enhancing Application Modernization Experience with AIDLC
humank
1
130
iOSDJ2025 - Stream Deck Plugin using Swift
hcrane
0
390
低リスクで小学生男児を鍵っ子にする 俺の勉強会#4
inakaphper
0
190
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ:はじめてのローカルLLM
stanaka26
0
140
ZennとCloud Runの歩み - プロダクト開発に全集中できる相棒になるまで
wadayusuke
4
490
測りにくい成果を測る — BtoB SaaSにおける効果検証への挑戦 / Shirokane Kougyou vol 20
sansan_randd
3
520
AI時代に活躍できるエンジニアとは #弁護士ドットコム
bengo4com
0
200
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
320
日経が挑戦するデータ民主化 ~ セルフサービス基盤がもたらす利点と苦悩~/nikkei-tech-talk-37
nikkei_engineer_recruiting
0
120
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.8k
Context Engineering - Making Every Token Count
addyosmani
3
100
Docker and Python
trallard
46
3.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Writing Fast Ruby
sferik
628
62k
Documentation Writing (for coders)
carmenintech
75
5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
550
Statistics for Hackers
jakevdp
799
220k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Transcript
第168回 雲勉 JITNAの使い方とハマった ポイントについて語る回
講師自己紹介 2 ▪ 名前 • 小西 紀代香(こにし きよか) • 2024年4月入社
• 初めての登壇です、よろしくお願いします! • ご質問は YouTubeのコメント欄で受け付けております。 後日回答させていただきます!
アジェンダ 3 1. はじめに 2. ジャストインタイムノードアクセスとは? 3. 実際に使ってみた 4. 使ってみての思わぬ落とし穴
5. まとめ
1. はじめに 4
5 1.はじめに 本動画の目的 • ジャストインタイムノード アクセス(以降JITNA)の概要を理解する • JITNAの実際の操作と注意点を振り返る 本動画の対象 •
業務でAWS Systems Manager(以降Systems Manager)をよく使用す る方 • AWSを使い始めて間もない方
6 1.はじめに 注意書き • 本動画は初心者向けの内容になります • そのため、設定内容や説明内容は基本的かつ分かりやすさ重視になります • 実際の案件等で本動画の内容を利用する際は、最新の公式ドキュメント等 で内容を確認していただくよう、よろしくお願いいたします
※今回の参考資料:Systems Manager を使用したジャストインタイムのノード アクセス
2. ジャストインタイムノードアクセスとは? 7
2.ジャストインタイムノードアクセスとは? 8 皆さんは、「ジャストインタイムノードアクセス」という機能をご存知ですか? • 2025年4月29日に公開されたサービス • Systems Managerの機能の一部 • Session
Manager(以下SSM)へのアクセスを、一時的かつ承認なしでは行えないようにする機 能 • セッション履歴や操作履歴を残せる、きめ細やかなアクセス制御ができるなどのメリット • 機能を有効化した月の残り期間と、その翌月の 1 か月間分の無料トライアル期間あり(それ以降 は有料)
9 2.ジャストインタイムノードアクセスとは?
10 2.ジャストインタイムノードアクセスとは? 通常のSSM接続との違い 項目 通常のSSM接続 JITNA アクセス方式 (使用し続ける限り)永続的な接続 一時的な接続 接続の開始方法
ユーザーがいつでも開始可能 承認フローを経て接続可能になる アクセス制御・セキュリティ • IAMロールのみでの接続制御 • リソースごとのアクセス制御が難しい • 一度付与された権限は削除するまで永続的 • 常時アクセスできることでリスクが残る • IAMロールに加えて、複数の承認者による接続 制御 • 承認ポリシーの組み合わせやタグの利用による きめ細やかなアクセス制御が可能 • アクセス終了と同時に権限を自動削除 • 必要時のみアクセス可能にすることでリスクを 最小化 ログの取得 基本的には、セッションログのみ記録 セッションログに加え、RDPセッションログやアクセ スリクエストの履歴も記録される 管理・運用負荷 毎回の承認やポリシー設定が不要なため比較的軽め 通常のSSM接続に比べると比較的重め ユースケース 検証環境や緊急でのアクセスが必要になる環境など コンプライアンスが求められる環境(本番環境・お客 様環境)や外部者がアクセスする環境
3. 実際に使ってみた 11
3.実際に使ってみた 12 • JITNAを利用するための前提条件 ◦ SSM Agentがインストールされていること ◦ SSM接続に必要なセキュリティグループの設定がされていること ▪
443ポートのアウトバウンド接続 ▪ VPCエンドポイントの443ポートのインバウンド接続 ◦ インスタンスにAmazonSSMManagedInstanceCoreポリシーを含む権限が付与され ていること
13 3.実際に使ってみた ▪ JITNA利用の大まかな手順 1. JITNAを有効化する 2. IAMロールを作成する 3. 承認ポリシーを作成する
4. アクセスリクエストを送信する 5. リクエストを承認する 6. 接続を開始する
14 3.実際に使ってみた 1. JITNAを有効化する JITNAを有効化するためには、使用しているロールが以下の権限を持っていることが必要です • JITNAを有効にするIAMポリシー • JITNAを構成するためのIAMポリシー
15 3.実際に使ってみた 2. IAMロールを作成する JITNAはアクセスリクエストの送信・承認ともにIAMロールを使用します • アクセスユーザーのIAMロール ◦ ジャストインタイムノードアクセスユーザー向けのIAMポリシー •
承認者ユーザーのIAMロール ◦ アクセスリクエスト承認者向けのIAMポリシー を作成して、JITNAを利用する(承認する)ユーザーが上記ロールを引き受けられる権限も 付与しておきましょう
16 3.実際に使ってみた 3. 承認ポリシーを作成する JITNAの承認ポリシーは、以下の順番で評価されます 1. アクセス拒否ポリシー:指定したノードへのアクセス要求の自動承認を拒否する 2. 自動承認ポリシー:ユーザーが自動的に接続できるノードを定義する 3.
手動承認ポリシー:指定したノードへのアクセスに必要な手動承認の数とレベルを定義する また、手動承認ポリシーは適用対象ノードを全て、もしくは特定のタグがついたノードで選べます 複数のポリシーを設定した際の優先順位は 1. タグ付けされたノード 2. すべてのノード ex.)env=prodのタグがついたノードに対して必要な承認数が2のポリシーと、全てのノード対象に必要な承認数が1のポリシーがあ ったときは、env=prodのタグがついたノードに適用されるポリシーは「必要な承認数が2のポリシー」
17 3.実際に使ってみた 3. 承認ポリシーを作成する 今回作成する承認ポリシー • 自動承認ポリシー ◦ key:Name value:konishi-linux2
のタグがついているインスタンス対象 • 手動承認ポリシー ◦ key:Name value:konishi-linux のタグがついているインスタンス対象 ◦ アクセス可能期間は24時間 ◦ アクセスに必要な承認は、レベル1の承認が1つ ◦ 承認は”konishi-jitna-approver-role”に承認をもらう
18 3.実際に使ってみた 3. 承認ポリシーを作成する(自動承認ポリシー)
19 3.実際に使ってみた 3. 承認ポリシーを作成する(手動承認ポリシー) アクセスに必要な承認は • レベル数(MAX5つ) • そのレベルで必要な承認数(MAX5つ) •
承認者を誰にするか で設定する
20 3.実際に使ってみた 4. アクセスリクエストを送信する(自動承認の場合) 一度リクエストが承認されると、自動承認が有効な時間内(1時間)はリクエスト送信なしで接続可能
21 3.実際に使ってみた 4. アクセスリクエストを送信する(手動承認の場合)
22 3.実際に使ってみた 5. リクエストを承認する(手動承認の場合)
23 3.実際に使ってみた 6. 接続を開始する
4. 使ってみての思わぬ落とし穴 24
25 4. 使ってみての思わぬ落とし穴 あれ!?アクセスリクエストが勝手に却下されている?!
26 4. 使ってみての思わぬ落とし穴 アクセスリクエストを送信すると、拒否ポリシーは設定していないのに自動で拒否されてしまう
27 4. 使ってみての思わぬ落とし穴 承認者側から、自動で却下されたリクエストを後から手動で承認することもできない
28 4. 使ってみての思わぬ落とし穴 原因になりそうなこと • どこかで拒否ポリシーを設定している? →Org全体で設定していないことを確認済み • IAMポリシーに問題はないか? →ポリシー自体には問題ないことを確認済み
• AWS OrganizationsのSCPでSSM関連の権限を制限していないか? →制限は設定していないことを確認済み では、何が問題だったか?
29 4. 使ってみての思わぬ落とし穴 原因:IAMユーザーを使ってアクセスリクエストを送ってしまっていた
30 4. 使ってみての思わぬ落とし穴 落とし穴の原因: • セットアップ手順に、特に「ロールを使ってね」という指定がなかった(記載されていた かもしれないが見落とした) ◦ なお、承認者はロールを使う、というのは手動承認ポリシー設定で承認者をロールで指定する ため、「承認者はロールを使うんだな…」の認識はあった
• IAMユーザーでコンソールログイン→アクセスリクエスト送信自体は問題なくできてしま った →原因究明に時間がかかってしまった 解決のきっかけ: 承認者がロールを使うなら、リクエストの送信もロールでやらないとダメじゃないか…?? とふと思いつきました
31 5. まとめ
32 5. まとめ • JITNAは通常のSSM接続に比べて、よりセキュアかつ柔軟な運用が可能になるサービス ◦ インスタンスへのアクセスに承認が必要 ▪ 必要な承認レベルや承認者を選べる ▪
対象インスタンスを選べる ◦ アクセスは一時的な許可で行われる • 通常のSSM接続に比べて、管理・運用の手間はかかるため、環境や利用者によって使い 分けるのがベター • 利用する際は、アクセスリクエストの送信者・リクエストの承認者それぞれのIAMロー ルを使用する
33 ご清聴ありがとうございました