ROOM B
7:37 AM
Authentication/Authorization SAML, WS-Fed, OpenID Connect, Oauth 2.0に 対 応 Windows 統 合 認 証 Ldap 認 証 パスワード 等 Application Platform
認 証 と 公 開 の 基 本 方 針 認 証 しなければならない 回 数 を 極 力 減 らす(できれば OS サインイン 時 のみ) ID とパスワードの 管 理 はオンプレミスの Active Directory ハイブリッド 認 証 基 盤 Azure Active Directory Active Directory ドメインサービス + Active Directory フェデレーションサービス 今 後 開 発 する 新 しいアプリケーションは OpenID Connect 対 応 Azure Active Directory or Windows Server 2016 Active Directory フェデレーションサービス オンプレミスにアクセスするための 認 証 機 能 付 きリバースプロキシー オンプレミス :Web Application Proxy(WAP) クラウド :Azure Application Proxy 5
Scenario Protocol AD FS Azure AD Native client OAuth 2.0 auth code grant, public client 2012 R2 Web sign in WS-Federation 2012 ~ Web to Web API SAML 2.0 2012 ~ OpenID Connect 2016 OAuth 2.0 implicit grant 2016 Server to Web API OAuth 2.0 auth code grant, confidential 2016 client OAuth 2.0 client credential grant 2016 OAuth 2.0 on behalf of 2016
認 証 基 盤 :ハイブリッドな Active Directory オンプレミス AD または Azure AD のいずれかにアプリケーションを 接 続 する ユーザーのパスワードはオンプレミスで 集 中 管 理 Azure Active Directory Azure MFA クラウドサービスに 対 する IDとアクセス 制 御 サービス 間 のシングルサインオン パブリッククラウド オンプレミス Identity Federation オンプレミスのIDとアクセス 制 御 長 年 蓄 積 されたオンプレミスの IT ガバナンス 7
認 証 機 能 付 きリバースプロキシー Azure Active Directory Azure MFA 事 前 認 証 Azure Application Proxy パブリッククラウド オンプレミス Proxy Connector Identity Federation Active Directory への 代 理 認 証 機 能 を 持 つ Active Directory への 代 理 認 証 機 能 を 持 つ 事 前 認 証 Web Application Proxy 8
覚 えておきたい 裏 技 :アクセスパネル Azure AD に 接 続 されたアプリケーションはアクセスパネルに 登 録 できる アクセスパネルに 登 録 されたアプリケーション 間 は SSO アクセスパネルにサインインすれば アプリケーションの 認 証 は 必 要 ない Access Panel MyApps 9
MyApps アプリ for Android / ios 10
覚 えておきたい 裏 技 :Azure AD パスワード 連 携 Azure AD にサインインしていれば アクセスパネル がパスワード 入 力 を 代 行 してくれる Access Panel MyApps Form に 入 力 する ID と パスワードはAzure AD に 暗 号 化 して 保 存 事 前 に 登 録 しておく 11
覚 えておきたい 裏 技 :Web Application Proxy 認 証 の 継 承 Web Application Proxy で 一 度 認 証 されると ブラウザセッションが 生 きている 間 は 他 のアプリケーションにも 認 証 が 継 承 される フェデレーションによる 認 証 も 継 承 される 事 前 認 証 App1 アクセス 認 証 要 App1 App2 スルー App2 12
Traditional
既 存 アプリのタイプ (いずれもオンプレミス) デスクトップアプリ 認 証 方 式 Windows 統 合 認 証 ldap など ローカル 認 証 なし 外 部 公 開 方 法 RemoteApp(on-prem) + Web Application Proxy (2016) RemoteApp + Web Application Proxy Or Azure RemoteApp + Web Application Proxy Azure RemoteApp + Web Application Proxy 認 証 Windows 統 合 認 証 AD FS + WAP Azure AD 認 証 の 統 合 ( 継 承 )はプロトコルの 仕 様 上 困 難 なため アプリ 側 のカスタマイズが 必 要
既 存 アプリのタイプ (いずれもオンプレミス) WEB アプリ 認 証 方 式 Windows 統 合 認 証 Basic 認 証 HTML ベースの サインイン ページ SAMLトークン 対 応 アプリ (SAML 2.0/WS-Fed) OpenID Connect/OAuth2.0 対 応 アプリ その 他 認 証 認 証 なし 外 部 公 開 方 法 認 証 の 統 合 先 Windows 統 合 認 証 AD FS + WAP Azure AD Azure App Proxy (w/ Proxy Connector) (Access Panel) Web Application Proxy クレーム 非 対 応 Web Application Proxy (WS 2016) Azure App Proxy or Web Application Proxy Web Application Proxy Azure App Proxy Web Application Proxy (WS 2016) クレーム 非 対 応 クレーム 対 応 (WS2016) (WS2016) カスタマイズ 要 Web Application Proxy クレーム 非 対 応 Azure App Proxy (Access Panelexisting fed) (Access Panel Existing fed) (Access Panel password fed) (Access Panel)
Access Panel MyApps
Azure App Proxy Access Panel MyApps
Modern
モダンアプリケーションの 種 類 とアクセスパターン 2 1 3 4 IdP を 持 つ SaaS クラウド 上 のAPI WEBアプリ ブラウザ デバイスネイティブアプリ 7:37 AM 25
1 WEB アプリ SAML 2.0/WS-Federation または OpenID Connect / Oauth 2.0 どちらでも WEB APP AuthN Token 2 AuthZ Code 4 認 証 3 Azure AD Oauth- Authorization Oauth- Token SAML 認 証 WS-Fed 3 4 2 WEB APP クレームを チェック Azure AD Graph 1 Cookie Cookie 1 ブラウザ ブラウザ OpenID Connect には 続 きがあります( 次 ページ) 26
AuthN Token Access Token Refresh Token User Info 7 AuthZ Code 5 WEB APP Oauth- Authorization 6 Oauth- Token Azure AD 8 Azure AD Graph SAML トークンにはユーザー 情 報 がクレームとして 格 納 されている OpenID Connect の 場 合 は ユーザー 情 報 を 取 得 するた めに Graph API にアクセス する 必 要 がある ブラウザ 27
OpenID Connect ログオンフロー Browser Azure AD OAuthauthorize OAuthtoken graph Web App Navigate to your application 302 redirect for sign in OpenID Connect request (user signs in) Post authn token and authz code to your application s redirect URL Set cookie and return user to page they started on No session, send authn request Verify token signature Redeem authz code Return access token and refresh token Call the Graph API 28
2 IdP を 持 つ SaaS との 連 携 ( 異 なるIdP 間 の 連 携 ) 異 なる IdP 間 の Identity Federation は SAML/WS-Federation を 使 用 する Identity の 同 期 が 必 要 OpenID Connect/Oauth 2.0 には 現 時 点 で Id Federation は 実 装 されていない Azure Active Directory Office 365 Sync WS-Fed SAML 2.0 (for Shibboleth) 29
Azure AD アプリケーション ギャラリー アクセスパネル http://myapps.microsoft.com/ Web page title https://webapps.microsoft.com/ ISV 様 が 自 社 開 発 SaaS アプリをギャラリーに 登 録 申 請 することもできます 30
もし SaaS アプリを OpenID Connect/OAuth2.0 のみで 作 成 したら 何 の 問 題 もない IdP が OpenID Connect だけではなく SAML 2.0/WS-Fed もサポートしていること が 重 要 App 本 体 SaaS Oauth- Authorization IdP Oauth- Token 外 部 IdP OpenID Connect / OAuth 2.0 SAML WS-Fed フェデレーション 外 部 IdP 31
3 WEB Service WEB API API へのアクセス 認 可 プロトコルは OAuth2.0 一 択 Web App Authorization Code 1 Oauth- Authorization IdP 1Hでタイムアウト Access Token Refresh Token 2 4 Access Token の 再 取 得 Oauth- Token Security Pipeline 3 認 可 WEB API Azure AD を IdP として 信 頼 Cookie Azure AD - OAuth 2.0 EndPoint に 合 わせて 開 発 する ブラウザ 32
4 ネイティブアプリ OpenID Connect / OAuth 2.0 での 実 装 が 事 実 上 のスタンダード 直 接 実 装 (ADAL)も 可 能 だが Azure Mobile Service の 利 用 をお 勧 め Application Code 1 Sign-in Web API IdP 4 5 3 2 OAuth- Authorization 7:37 AM OAuth- Token Application 33
アプリケーションを Azure AD に 対 応 させるには AAD Native Application OR Azure Mobile Service モバイルアプリ 34
Visual Studio 2015 ( 現 在 RC) WEB アプリや Windows アプリに 加 え Android ios アプリケーションの 開 発 も 可 能 インスタントにAzure AD に 結 合 Azure Mobile Service との 結 合 設 定 画 面 WEB アプリと Azure AD との 結 合 設 定 画 面 35
Windows 10 とネイティブアプリケーション 通 常 ネイティブアプリケーションは 隔 離 されているため 他 のアプリ ケーションとトークンを 共 有 することができない Windows 10 ではネイティブアプリを Web Account Manager に 対 応 させる ことで 完 全 な SSO が 可 能 TPM Azure AD Native Application Web Account Manager Token Broker Token Broker plug-in Web Account Provider1 Token を 持 っていれ ばそれを 利 用 持 っ ていなければ 要 求
C#/JS ADAL.NET + Xamarin Apache Cordova Plugin for ADAL Web Account Manager Native ADAL Obj-C ADAL Android ADAL.NET ios Android
ADAL 対 応 アプリ 間 での SSO 多 要 素 認 証 にも 対 応 Intune 連 携 によりデバイスの 条 件 付 きアクセスが 可 能 現 時 点 では 未 提 供
Azure AD B2C: IdMaaS for applications まもなく Preview 開 始 予 定 ソーシャル ID を 使 用 して Azure AD のアプリを 使 用 する セルフサービス 機 能 サインアップ パスワードリセット プロファイル 編 集 サインイン 画 面 のカスタマイズ コンシューマー 向 けアプリ キャンペーン ご 意 見 募 集 会 員 制 ページ 39
Azure AD B2C 40
まとめ 疲 れましたね 最 後 にまとめておきましょう 41
認 証 と 公 開 をデザインする 鍵 Traditional ハイブリッド 認 証 基 盤 Azure アクセスパネル Azure Application Proxy Web Application Proxy Modern SAML による Identity Provider 間 の Federation 新 規 アプリは OpenID Connect に 対 応 WEB WEB API ネイティブアプリ モバイルサービスを 活 用 するとコスト 削 減 開 発 には Visual Studio が 最 適 42
Azure AD を 中 心 としたインフラの 全 体 像 43
Next Step:モバイルデバイスの 管 理 MDM,ガバナンス デバイス 内 データ 漏 えい 防 止 Intune SSO アクセス 制 御 Azure MFA デバイス 外 データ 漏 えい 防 止 Azure RMS Hybrid Active Directory 認 証 強 化 44
現 在 (より 少 し 前 )までの 主 流 同 期 認 証 の 範 囲 複 数 の 認 証 サーバー それぞれの 認 証 サーバーは 独 立 Credential も 独 立 認 証 サーバー 間 は 同 期 ( 含 パスワード) アプリケーションはどこかに 所 属 場 合 によっては 独 自 認 証 認 証 のターゲットは 人 やっちゃいけないことは ルールで 規 定 46
どこに 問 題 があるのか? 利 用 者 デバイス アプリケーション データ IdP Client App Server App API AD DS IE Mail SV 業 務 パッケージ (Local AuthN) LDAP 個 人 デバイス Safari WEB App WEB API 47
共 通 認 証 基 盤 の 基 本 的 な 考 え 方 ~オンプレミス クラウドとモバイルデバイスをどのように 認 証 基 盤 に 接 続 するか 基 本 的 に 現 状 維 持 ( 無 理 にクラウド 移 行 は 考 えないのが 吉 ) オンプレミスに 閉 じたセキュリティも 重 要 ただし! 単 なる 認 証 サーバー から アイデンティティプロバイダー 化 へ オーソリティとなる 認 証 サーバー/ディレクトリを 決 める モダナイズのポイント SAML/WS-Federation プロトコルへの 対 応 (クラウド 連 携 システム 間 連 携 ) デバイス 認 証 (モバイルデバイス 連 携 ) コンディショナル アクセス 制 御 認 証 の 強 化 多 要 素 バイオメトリクス 48
マイクロソフト 製 品 での 実 装 例 既 存 の Active Directory ドメインを 拡 張 する モダンなプロトコル(SAML/WS-Fed/Oauth2.0)への 対 応 外 部 からの 認 証 要 求 の 受 け 入 れ その 他 認 証 サーバー Microsoft Identity Manager Kerberos/ ldap/ NTLM SAML 2.0/ WS-Federation Firewall Kerberos WS-Fed https SAML WS-Fed https SAML 同 期 ディレクトリ 認 証 サーバー セキュリティ トークンサービス リバースプロキシー ( 含 認 証 ) 業 務 アプリ サーバー Authority Conditional Access AD DS:Active Directory Domain Service AD FS:Active Directory Federation Service WAP:Web Application Proxy 49
新 たな 登 場 人 物 により 設 計 はより 複 雑 に 認 証 の 範 囲 クラウドアプリ 同 期 7:37 AM モバイルデバイス モバイルアプリ 50
認 証 基 盤 の 設 計 に 影 響 を 与 える 要 素 認 証 基 盤 単 体 の 要 件 基 盤 の 安 全 性 管 理 のしやすさ 自 動 化 各 種 機 能 ( 証 跡 セキュリティポリシー 等 ) セルフサービス(パスワードのリセット 等 ) アプリケーション デバイスからの 要 求 認 証 プロトコル(NTLM ldap Kerberos SAML-P 等 ) 柔 軟 なアクセス 制 御 と 認 証 強 度 周 囲 の 状 況 が 認 証 基 盤 を 選 ぶ 51
クラウドとモバイルは 切 っても 切 れない クラウドにはモバイルが モバイルにはクラウドがもれなくついてくる 52
Enterprise 製 品 もモバイルデバイスをターゲットに クラウドだけ or モバイルだけ は セキュリティ 上 あり 得 ない 53
共 通 認 証 基 盤 の 基 本 的 な 考 え 方 ~クラウド ( 注 意 ) 認 証 サーバを IaaS に 移 行 する ことを 認 証 のクラウド 対 応 とは 言 わない 標 準 規 格 と オンプレミスとの 連 携 を 意 識 することが 重 要 IDMaaS(Identity Management as a Service) オンプレミスのディレクトリを 集 約 以 下 のプロトコルに 対 応 SAML 2.0/WS-Federation Open ID Connect / OAuth 2.0 オンプレミス IdP との 連 携 他 クラウドサービス コンシューマー 向 けサービスとの 連 携 業 務 アプリケーション 連 携 のためのインターフェースと 開 発 ツール OMA-DM に 対 応 した MDM/MAM as a Service 利 用 者 はモバイルデバイスを 自 由 に 選 ぶので 標 準 規 格 による 管 理 機 能 が 重 要 54