Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
第128回雲勉【オンライン】ADFSによるSAMLを使用したAppStreamへのシングルサ...
Search
iret.kumoben
February 22, 2024
Technology
430
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第128回雲勉【オンライン】ADFSによるSAMLを使用したAppStreamへのシングルサインオンアクセス 完成
下記、勉強会での資料です。
https://youtu.be/Elir-hPsDDY
iret.kumoben
February 22, 2024
More Decks by iret.kumoben
See All by iret.kumoben
第182回 雲勉 【Gemini 3.0 Pro】AI ベンチマーク徹底比較!他モデルに比べ優れている点まとめ
iret
0
130
第181回 雲勉 WEB制作者のちょっとした面倒をAWSで解決!Amazon S3とAWS Lambda活用術
iret
0
110
第180回 雲勉 Abuse report の調査・確認方法について
iret
0
130
第179回 雲勉 AI を活用したサポートデスク業務の改善
iret
0
180
第178回 雲勉 Amazon EKSをオンプレで! Amazon EKS Anywhere 実践構築ガイド
iret
1
150
第177回 雲勉 IdP 移行を楽に!Amazon Cognito でアプリへの影響をゼロにするアイデア
iret
0
140
第176回 雲勉 VPC 間サービス接続を考える!Private Service Connect 入門
iret
0
130
第175回 雲勉 Amazon ECS入門:コンテナ実行の基本を学ぶ
iret
0
180
第174回 雲勉 Google Agentspace × ADK Vertex AI Agent Engineにデプロイしたエージェントを呼び出す
iret
0
200
Other Decks in Technology
See All in Technology
消えない 動かない 効かない
yama3133
1
120
2026-09-09 【sigma_ucj#1】Sigma を IaC 管理したい! / IaC for Sigma
civitaspo
0
130
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
1.1k
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
800
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
160
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
120
GoCon2026 - Open Source, Open World
sanposhiho
4
3.6k
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
760
あるけみー式LTスライド作成術
alchemy1115
1
210
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
5
2.1k
NW運用でNWトポロジ可視化ツールに期待すること/shumoku-meetup1
corestate55
2
120
Omarchy Quattro の日本語設定周り
simosako
2
170
Featured
See All Featured
Speed Design
sergeychernyshev
33
2.1k
First, design no harm
axbom
PRO
2
1.3k
Technical Leadership for Architectural Decision Making
baasie
3
560
The Curious Case for Waylosing
cassininazir
1
500
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
900
The Pragmatic Product Professional
lauravandoore
37
7.4k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Limits of Empathy - UXLibs8
cassininazir
1
660
WCS-LA-2024
lcolladotor
0
830
The Invisible Side of Design
smashingmag
301
52k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
520
Transcript
第128回 雲勉【オンライン】 ADFSによるSAMLを使⽤したAppStream へのシングルサインオンアクセス
2 • 野崎 ⾼弘(のざき たかひろ) • アイレット株式会社 クラウドインテグレーション事業部 プロジェクト企画推進セクション インフラ技術
• インフラ構築・保守やSOCセキュリティアナリストをやってました • 現在は技術検証やドキュメント作業が主 • 趣味︓資格取得、⽝の散歩、ドラマ鑑賞、巨⼈ファン • 現在、AWS全冠、GCP全冠 3 ⾃⼰紹介
本セッションの内容 3 SAMLを使⽤してAppStream 2.0のIDフェデレーションをADFSで実現し、AppStream 2.0 にシングルサインオンアクセス ADと連携してAppStreamにアクセスして安全にアプリケーションを利⽤したい、という場合には、 AppStreamとADの間にADFS(Active Directory Federation
Service)サーバーを⽴てる必要があります。 そこで本セッションでは、基本構成が構築済みであることを前提に、様々な基本的な改良を加えていきま す。 (参考) Amazon AppStream 2.0 & ADFS Integration (Korean) Amazon AppStream 2.0 の ID フェデレーションを AD FS 3.0 で実現する サードパーティーの SAML 2.0 アイデンティティプロバイダーを使⽤した属性ベースのアプリケーションの 使⽤権限 ADFSによる多要素認証の設定
条件と対象者 4 条件 • AppStreamにアクセスするには、Windows⽤AppStream 2.0クライアントアプリケーション または HTML5対応Webブラウザが必要になります。 • 関連するロールやポリシーには、あらかじめ必要な権限が付与されているものとします。
• クライアント認証で使⽤するため、以下のポートが許可されているものとします。 ADFS側の49443ポート AD側の3268番ポート 対象者 AppStreamの認証にADでのSAML認証を⾏いたい、中級者レベル以上を想定
事前知識︓AppStreamとは 5 Amazon AppStream 2.0とは、ブラウザからデス クトップアプリケーションに即座にアクセスでき るようにするアプリケーションストリーミング サービスです。既存のデスクトップアプリケー ションを追加して、ユーザーがそれらをストリー ミングできるようにすることが可能です。クライ
アントソフトの画⾯をストリーミングしてくれま す。 デスクトップ環境を提供するWorkSpacesに対 し、特定のアプリケーションのみの実⾏に限定さ れているのがAppStreamです。
全体像 6 ※注︓この構成図はあくまで今回の検証⽤の簡易な構成であり、実際の本番想定の構成では、ADFSはパブリックサブネッ トに置くのではなく、例えばNLBを挟んでプライベートサブネットに配置してセキュアにしたり、冗⻑構成などにすること が推奨されます。
認証⼿順 7 1. ユーザーが ADFS Relay State URL を参照すると、サインインページで認証が要求されます。 2.
ADFSは、ADに対する認証を要求します。 3. ADがユーザーを認証して認証結果をADFSに返します。 4. 認証が成功すると、ADFSは認証成功のトークンとしてSAMLアサーションをブラウザに送信します。 5. ブラウザは、SAMLアサーションをAWSサインインSAMLエンドポイント (https://signin.aws.amazon.com/saml) に転送します。 6. AWS サインインは SAML リクエストを受け取り、処理、ユーザーを認証し、認証トークンを AppStream 2.0 サービスに転送します。 7. AppStream 2.0は AWS からの認証トークンを使⽤して、設定に基づいてブラウザにアプリケーションを 表⽰します。
認証⼿順 8
事前作業 9 • AppStreamとADFSの構築⾃体はAmazon AppStream 2.0 & ADFS Integration (Korean)のチュートリ
アルに従えば誰でも簡単にできますので、ここでは割愛し、既にAppStream+ADFS環境が構築されてい るものとします。
デモ⼿順概要 10 No 作業内容 1 正常にAppStreamが閲覧できることを確認 2 改良1︓SAML 2.0 マルチスタック
アプリケーション カタログ 3 改良2︓グループによるアプリの表⽰制御 4 改良3︓AppStreamクライアント経由でAppStreamに直接アクセス 5 改良4︓AppStreamへのアクセスをAppStreamクライアントにリダイレクト 6 改良5︓AppStream fleetをマルチセッションで構成
デモ 11 ここからデモも交えて実際の動きを⾒ながら説明します。 (全部で15〜20分くらいかかります)
1.正常にAppStreamが閲覧できることを確認 12 まず、以下のリレーステートURLにアクセスし、ADFS認証画⾯にログイン後、無事AppStreamにリダイレ クトされることを確認 https://adfs.nozaki2.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F %252Fsignin.aws.amazon.com%252Fsaml%26RelayState%3Dhttps%253A%252F%252Fappstrea m2.ap-northeast- 1.aws.amazon.com%252Fsaml%253Fstack%253Dnozakilab2stack2%2526accountId%253DAWSア カウントID
2.改良1︓SAML 2.0 マルチスタック アプリケーション カタログ 13 URLにスタック名が⼊っていると、1URL︓1スタック固定になっているので、スタックごとにURLを作成す る必要があります。 そこで、SAML 2.0
Multi-Stack Application Catalog により、単⼀のリレー状態URLから複数のスタックへ のアクセスを有効にするマルチスタックアプリケーションカタログという機能を使います。アプリケーショ ン資格が1つ以上のアプリケーションとユーザーに⼀致したすべてのスタックが表⽰されるようになります。 1. IAMポリシーの変更 “Resource”: “arn:aws:appstream:ap-northeast-1:AWSアカウントID:stack/*" 2. リレーステートURLからスタック名を削除 https://adfs.nozaki2.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%253A%252F%252Fsignin .aws.amazon.com%252Fsaml%26RelayState%3Dhttps%253A%252F%252Fappstream2.ap-northeast- 1.aws.amazon.com%252Fsaml%253Fstack%253Dnozakilab2stack2%2526accountId%253DAWSアカウントID 3. 2.のURLにアクセスしてスタック名が表⽰されることを確認
3.改良2︓グループによるアプリの表⽰制御 14 ADのグループ情報から、AppStreamで表⽰させるアプリの制御を⾏えます。 例)admin2グループに属する⼈はFirefoxが表⽰される。userグループに属する⼈はChromeが表⽰される という感じで、ユーザーのグループ毎にアプリの出し分けができます。これにより、ユーザーごとに AppStream内で利⽤可能なアプリを制御することが可能になります。 1. AD側︓admin、test01ユーザーの所属グループの確認 2. AWS側︓AppStream
StackのApplication Entitlementsの設定 3. ADFS-roleの信頼ポリシーで「sts:TagSession」を追加 4. ADFS側︓グループメンバーシップの設定 5. AppStreamにアクセスして検証
4.改良3︓AppStreamクライアント経由でAppStreamに直接アクセス 15 ブラウザ以外に、AppStreamクライアントを利⽤して、専⽤のURLを⼊⼒することで、AppStreamに直接ア クセスすることもできます。これにより、ブラウザを使⽤してAppStreamにアクセスした場合には利⽤でき ない機能やメリットがあります。 (参考)Windows ⽤ AppStream 2.0 クライアントアプリケーションの機能
※ADドメイン参加したスタックからのストリーミングURL作成は⼤変複雑となるため、今回は対象外とします。 1. AWS︓AppStreamスタックから、[Create Streaming URL]でURLを⽣成 2. Windowsマシンで https://clients.amazonappstream.com/ からAppStream Windows Clientをダウ ンロードしてインストール 3. AppStream Windows Clientを起動して、1.のURLを⼊⼒ 4. AppStreamにアクセスできることを確認
5.改良4︓AppStreamへのアクセスをAppStreamクライアントにリダイレクト 16 ストリーミングセッションをウェブブラウザから AppStream 2.0 クライアントにリダイレクトする に従 い、今度はブラウザ⇨AppStreamクライアント経由でAppStreamにアクセスしてみます。これにより、ユー ザーはAppStreamクライアントを意識することなく、ブラウザに⽂字列を⼊れるだけでAppStreamに直接ア クセスできます。
1. スタックからストリーミングURLを作成 2. 1.をbase64エンコードして⽣成された⽂字列を、「amazonappstream:」の後に繋げる 3. 2.をAppStreamクライアントが⼊っているWindowsのブラウザ欄に⼊⼒する 4. 「Amazon AppStream 2.0を開く」を選択し、AppStreamクライアントが起動してAppStreamにアク セスしに⾏く
6.改良5︓AppStream fleetをマルチセッションで構成 17 昨年10⽉に発表されたマルチセッションフリート機能により、1つのAppStreamインスタンスで複数のエン ドユーザーセッションをホストしてインスタンスリソースをより有効に活⽤できるようになりました。 〔条件〕 • フリートタイプがAlways-On または On-Demand
• Windows 2019のみ(2016や2022、Linuxは不可) • 2023年5⽉15⽇以降にリリースされたベースイメージとマネージドイメージの更新 〔ユースケース〕 フリート上限に気にすることなくフリートを節約でき、起動速度(約10分)を短縮したい場合 (参考) https://docs.aws.amazon.com/appstream2/latest/developerguide/set-up-stacks- fleets.html#set-up-stacks-fleets-create
感想・まとめ 18 • リレーステートURLからスタック名を省略すると、マルチスタックアプリケーションカタログが実現でき る • Application Entitlementsを使えば、所属グループによって表⽰させるアプリを制御できる • AppStreamクライアント経由でAppStreamに直接アクセスできる
• マルチセッションフリートを構成することで、複数ユーザーを同時接続できる • ADFS経由でAppStreamに接続するには、要求発⾏ポリシーの設定を慎重に正確に⾏ってください。
None