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
20180803_Security JAWS 【第10回】#1「すぐ出来る!デスクトップSSO...
Search
TatsuyaYokobori
August 03, 2018
Technology
2
3k
20180803_Security JAWS 【第10回】#1「すぐ出来る!デスクトップSSOはサーバレスで」
20180803_Security JAWS 【第10回】#1「すぐ出来る!デスクトップSSOはサーバレスで」
TatsuyaYokobori
August 03, 2018
Tweet
Share
More Decks by TatsuyaYokobori
See All by TatsuyaYokobori
20180516_Security JAWS 【第9回】LT#3「アセスメント指摘事項への対応をサーバレスでチャチャっとやる話」
hollyrex
0
3k
Other Decks in Technology
See All in Technology
2週に1度のビッグバンリリースをデイリーリリース化するまでの苦悩 ~急成長するスタートアップのリアルな裏側~
kworkdev
PRO
8
5.9k
第27回クラウド女子会 ~re:Invent 振り返りLT会~ 私の周辺で反響のあった re:Invent 2024 アップデートつれづれ/reinvent-2024-update-reverberated-around-me
emiki
1
570
re:Invent Recap (January 2025)
scalefactory
0
340
LLM活用の現在とこれから:LayerXにおける事例とともに 2025/1 ver. / layerx-llm-202501
yuya4
3
250
Autify Company Deck
autifyhq
2
41k
レイクハウスとはなんだったのか?
akuwano
14
1.7k
ChatGPTを使ったブログ執筆と校正の実践テクニック/登壇資料(井田 献一朗)
hacobu
0
110
スクラムマスターの活動と組織からの期待のズレへの対応 / Dealing with the gap between Scrum Master activities and organizational expectations
pauli
2
990
Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ
pyama86
9
4.9k
教師なし学習の基礎
kanojikajino
2
260
タイミーのデータ活用を支えるdbt Cloud導入とこれから
ttccddtoki
2
470
FinJAWS_reinvent2024_recap_database
asahihidehiko
2
320
Featured
See All Featured
A Tale of Four Properties
chriscoyier
157
23k
Speed Design
sergeychernyshev
25
750
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
590
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Six Lessons from altMBA
skipperchong
27
3.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Into the Great Unknown - MozCon
thekraken
34
1.6k
Visualization
eitanlees
146
15k
A Philosophy of Restraint
colly
203
16k
GitHub's CSS Performance
jonrohan
1030
460k
A better future with KSS
kneath
238
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Transcript
©2018 T3Realize LLC 1 すぐ出来る! デスクトップSSOはサーバレスで 2018/8/3 T3 Realize 合同会社
横堀 達也
©2018 T3Realize LLC 2 自己紹介 横堀 達也 よこ ぼり たつ
や 1985年7月6日生まれ 大阪府大阪市出身 2009年~2014年 NEC入社 2014年~2017年 CTC入社 2017年~ T3 Realize起業 好き:スーツ、革靴 最近:1年かけて25kgのダイエットに成功! ユーザーが自分で実装する コンサルが実装までやっちゃう *ITコンサルタント*
[email protected]
©2018 T3Realize LLC 3 今日の前提事項 誰だってSSOしたい! 便利になる! ログイン回数を減らせる
複数パスワードの管理が不要 認証部分の開発コスト削減 セキュリティ強化! 複数パスワード管理に伴うリスクの回避 多要素認証の導入が容易 ゴーストアカウントの撤廃 認証ログの集中管理が出来る でも、導入は面倒だと思ってませんか?
©2018 T3Realize LLC 4 伝えたいこと すぐにSSO出来る方法ありマス! 特にお金もかかりません! ※お約束の制限事項アリ
©2018 T3Realize LLC 5 注意事項(言い訳) 本内容は、手っ取り早くSSOするための導入資料です。 概要説明から、導入手順までの紹介となります。 是非ともノウハウを持って帰って下さい。 また、勢い重視のため、雑な展開が多い旨はご容赦願います。 商用環境への適用等には、別途で精緻な検討をお願いします。
©2018 T3Realize LLC 6 1.Single Sign-On について(ザックリ)
©2018 T3Realize LLC 7 • 利用者の視点 識別 認証 認可 システム利用開始
Single Sign-Onとは? • システム側の視点 ログインは 1回だけ! システム利用開始 各 シ ス テ ム 毎 の ア ク セ ス 制 御 の 工 程 識別 認証 認可 識別 認証 認可 1回のログイン で全システムの 制御すんの? 全システムの仕様 なんて知らない! 調整も無理!
©2018 T3Realize LLC 8 識別とは? SSOで考慮が必要なアクセス制御 1/3 • SSOと言えど、ログインされる各システム側のIDは必要です。 識別
認証 認可 システム利用開始 パソコンには 「
[email protected]
」でログインし、 SSO連携先のWebを開いた場合 Instagram側で事前に作成済みのID 「holly_rex」でログインされる。 初回ログイン時にAWS側のIDが 自動作成される。 事前に作成済み 自動作成も出来る
©2018 T3Realize LLC 9 認証とは? SSOで考慮が必要なアクセス制御 2/3 • パっと思い浮かぶ「SSO」のことで、ログイン行為を様々な方式で代替します。 識別
認証 認可 システム利用開始 SSOの仕組み パソコンには 正しいID/パスワードでログインした Instagramの ID/パスワードを 代わりに入力するで 認証情報を XMLで連携するで ※代行入力 ※SAML
©2018 T3Realize LLC 10 認可とは? SSOで考慮が必要なアクセス制御 3/3 • SSOしてきたユーザへの、権限の割り当てを考える必要があります。 識別
認証 認可 システム利用開始 SSOの仕組み SSOからの連携情報が無い場合、 特に権限は割り当てらない。 又は、IDの作成時に指定した権限に従う。 SSOで連携された情報を元に、 AWSのロールを割り当てる。 SSOでは特に権限を 指定しないとき SSOする際に権限も 指定することが出来る。
©2018 T3Realize LLC 11 2.Single Sign-On の仕組みについて
©2018 T3Realize LLC 12 主なSSOの仕組みについて • SSOの仕組みは沢山あり、選択が必要です。 代行入力 リバースプロキシ 統合Windows認証
SAML OpenID Connect ・パソコン上で動作するモジュールが、人の代わりに入力してくれる。 ・近年はブラウザのプラグインとして動作する。 ・認証情報をXMLで連携する。 ・最近の業務システムは対応してることが多い。 新しい 昔からある ・サーバ上で動作するモジュールが代理で認証する。 ・Windowsへの認証情報を連携する。 ・他システムのID情報/権限を使って認証する。 例:InstagramにFacebookのIDでログイン Agent ・パソコンとサーバの間に設置されたプロキシが代理で認証する。 概要
©2018 T3Realize LLC 13 で、どのやり方が良いの? • 代行入力とSAMLです! ※個人の独断と偏見に基づく 代行入力 リバースプロキシ
統合Windows認証 SAML OpenID Connect ・基本的に、全てのシステムに対応できる。 ※FLASHとか苦手・・ ・応用の幅が広い(プラグイン活用やクラウド連携 等) 理由 ・各種SaaSのデファクトスタンダード ・応用の幅が広い(権限割当の分担やID自動作成 等) 新しい 昔からある ・他システムを全面信頼するため、セキュリティ的に懸念になる。 ・FacebookのIDを業務で利用するか否か? Agent イントラネット前提の仕組み
©2018 T3Realize LLC 14 AWS なに使えば、すぐに出来るの? • AzureADです! ※まさかのNot AWS
VS サーバレスSSO基盤 SAMLのみ対応 ユーザ管理にAD必須 IAM Cognito SSO基盤(IdP) としての機能無し サーバレスSSO基盤 SAML、代行入力に対応 単独でユーザ管理できる Office365についてくる なんなら、Freeもある 代行入力はIE、Chromeで可 AzureAD ※大規模に使う場合、要AzureAD P1
©2018 T3Realize LLC 15 3.すぐ出来る! デスクトップSSOはサーバレスで
©2018 T3Realize LLC 16 即席SSO環境の概要図 • AWS マネージドコンソールにSSOする環境を作ろう! ※AzureAD寄りの手順解説となりますが、他の仕組みでも類似手順です。 ①
WinPCへのログインはローカル ユーザでもOK ② AzureADが発行したURLでコン ソールにSSOでログイン XML
©2018 T3Realize LLC 17 実演 前半 AzureAD側の設定 1/8 まずは、AzureADに ユーザーを作成する
©2018 T3Realize LLC 18 実演 前半 AzureAD側の設定 2/8
©2018 T3Realize LLC 19 実演 前半 AzureAD側の設定 3/8 AWSは事前登録済みですが、 ここから独自アプリの登録も
可能デス
©2018 T3Realize LLC 20 実演 前半 AzureAD側の設定 4/8
©2018 T3Realize LLC 21 実演 前半 AzureAD側の設定 5/8
©2018 T3Realize LLC 22 実演 前半 AzureAD側の設定 6/8
©2018 T3Realize LLC 23 実演 前半 AzureAD側の設定 7/8 名前:RoleSessionName 値:user.userprincipalname
名前空間:https://aws.amazon.com/SAML/Attributes 名前:Role 値:user.assignedroles 名前空間:https://aws.amazon.com/SAML/Attributes 名前:SessionDuration 値:43200 名前空間:https://aws.amazon.com/SAML/Attributes 以下の3つの属性を追加で入力します。 SessionDurationは必須では無いですが、 コレを設定しないとDefaultの3600sで セッションが切断されて使い辛いです。 こうなればOK!
©2018 T3Realize LLC 24 実演 前半 AzureAD側の設定 8/8 AWSとAzureで連携するXMLの定義ファイルを 今回はAzure側からダウンロードします。
©2018 T3Realize LLC 25 実演 中半 AWS側の設定 1/11
©2018 T3Realize LLC 26 実演 中半 AWS側の設定 2/11 AzureADからダウンロードした、 Amazon
Web Services (AWS).xml をアップロードします。
©2018 T3Realize LLC 27 実演 中半 AWS側の設定 3/11
©2018 T3Realize LLC 28 実演 中半 AWS側の設定 4/11
©2018 T3Realize LLC 29 実演 中半 AWS側の設定 5/11 ここで作成したロールが、SSOユーザに割り当てられます。 例ではAdministratirAccessを選択していますが、
実際は適したポリシーを割り当ててください。
©2018 T3Realize LLC 30 実演 中半 AWS側の設定 6/11 ここで作成したロールが、SSOユーザに割り当てられます。 例ではAdministratirAccessを選択していますが、
実際は適したポリシーを割り当ててください。
©2018 T3Realize LLC 31 実演 中半 AWS側の設定 7/11
©2018 T3Realize LLC 32 実演 中半 AWS側の設定 8/11 後に作成する、AWSとAzureADの連携用の IAMユーザに割り当てるポリシーを作成します。
必要な権限は、IAMロールのListのみです。
©2018 T3Realize LLC 33 実演 中半 AWS側の設定 9/11
©2018 T3Realize LLC 34 実演 中半 AWS側の設定 10/11 AWSとAzureADの連携用の IAMユーザを作成します。
先ほど作成したポリシーを割り当てます。
©2018 T3Realize LLC 35 実演 中半 AWS側の設定 11/11 AzureAD登録用に、控えてください。 後の手順で使用します。
©2018 T3Realize LLC 36 実演 後半 AzureAD側の設定 1/9 もう一度AzureADに戻り、 AWSのユーザ自動作成を設定します。
©2018 T3Realize LLC 37 実演 後半 AzureAD側の設定 2/9 先ほど控えたアクセスキーと シークレットキーを入力し、
テスト接続を実施する。
©2018 T3Realize LLC 38 実演 後半 AzureAD側の設定 3/9
©2018 T3Realize LLC 39 実演 後半 AzureAD側の設定 4/9
©2018 T3Realize LLC 40 実演 後半 AzureAD側の設定 5/9 AWSが登録されているので、 選択する。
©2018 T3Realize LLC 41 実演 後半 AzureAD側の設定 6/9 SSOしたいAzureADのユーザ を選択する。
©2018 T3Realize LLC 42 実演 後半 AzureAD側の設定 7/9 AzureAD側から、AWSのロール の読み込みに成功している!
©2018 T3Realize LLC 43 実演 後半 AzureAD側の設定 8/9
©2018 T3Realize LLC 44 実演 後半 AzureAD側の設定 9/9 このURLでアクセスすればSSOされる。 ブックマークに登録!
©2018 T3Realize LLC 45 実演 最後! パソコン側の設定 1/3
©2018 T3Realize LLC 46 実演 最後! パソコン側の設定 2/3
©2018 T3Realize LLC 47 実演 最後! パソコン側の設定 3/3 2要素認証のSMSコードを入力
©2018 T3Realize LLC 48 ようやく!SSO!
©2018 T3Realize LLC 49 終わりに • すぐに出来る方法の紹介でした。 サーバレスを活用すれば、デスクトップSSO も容易です! 当内容を手始めに、認証認可の深淵へと
共に踏み出しましょう!
©2018 T3Realize LLC 50 以上です。