54
ROOM B

Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

ROOM

B

Page 2: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

7:37 AM

Page 3: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

Authentication/Authorization

Platform

SAML, WS-Fed, OpenID Connect, Oauth 2.0に対応

Windows 統合認証Ldap認証、パスワード等

Application

Page 4: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect
Page 5: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

5

認証と公開の基本方針

• ハイブリッド認証基盤• Azure Active Directory• Active Directory ドメインサービス+ Active Directory フェデレーションサービス• 今後開発する新しいアプリケーションは OpenID Connect 対応

• Azure Active Directoryor Windows Server 2016 Active Directory フェデレーションサービス

• オンプレミスにアクセスするための認証機能付きリバースプロキシー• オンプレミス :Web Application Proxy(WAP)• クラウド :Azure Application Proxy

認証しなければならない回数を極力減らす(できれば、OS サインイン時のみ)ID とパスワードの管理はオンプレミスの Active Directory

Page 6: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

Scenario Protocol AD FS Azure ADNative client OAuth 2.0 auth code grant, public client 2012 R2 ○Web sign in WS-Federation 2012 ~ ○

SAML 2.0 2012 ~ ○Web to Web API

OpenID Connect 2016 ○

OAuth 2.0 implicit grant 2016 ○

OAuth 2.0 auth code grant, confidentialclient

2016 ○

Server toWeb API

OAuth 2.0 client credential grant 2016 ○

OAuth 2.0 on behalf of 2016 ○

Page 7: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

7

Azure MFA

認証基盤:ハイブリッドな Active Directory

オンプレミス

パブリッククラウド

Azure Active Directory

• オンプレミスのIDとアクセス制御• 長年蓄積されたオンプレミスの ITガバナンス

• クラウドサービスに対するIDとアクセス制御

• サービス間のシングルサインオン

IdentityFederation

• オンプレミス AD または Azure AD のいずれかにアプリケーションを接続する• ユーザーのパスワードはオンプレミスで集中管理

Page 8: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

8

認証機能付きリバースプロキシー

Azure MFA

オンプレミス

パブリッククラウド

Azure Active Directory

IdentityFederation

Azure Application Proxy

ProxyConnector

Web Application Proxy

Active Directory への代理認証機能を持つ

Active Directory への代理認証機能を持つ

事前認証

事前認証

Page 9: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

9

覚えておきたい裏技:アクセスパネル• Azure AD に接続されたアプリケーションはアクセスパネルに登録できる• アクセスパネルに登録されたアプリケーション間は SSO

• アクセスパネルにサインインすれば、アプリケーションの認証は必要ない

Access Panel MyApps

Page 10: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

10

MyAppsアプリ for Android / iOS

Page 11: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

11

覚えておきたい裏技:Azure ADパスワード連携

Access Panel MyApps

Azure AD にサインインしていれば、アクセスパネルがパスワード入力を代行してくれる

事前に登録しておく

Formに入力する ID とパスワードはAzure ADに暗号化して保存

Page 12: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

12

覚えておきたい裏技:Web Application Proxy 認証の継承• Web Application Proxy で一度認証されると、ブラウザセッションが生きている間は他のアプリケーションにも認証が継承される

• フェデレーションによる認証も継承される

App1

App2

事前認証

アクセス App1App2

スルー

認証要

Page 13: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

Traditional

Page 14: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

既存アプリのタイプ(いずれもオンプレミス) 外部公開方法

認証

Windows 統合認証 AD FS + WAP Azure AD

デスクトップアプリ

認証方式

Windows 統合認証RemoteApp(on-prem) +Web Application Proxy

(2016)○ ○

ldap など RemoteApp +Web Application Proxy

OrAzure RemoteApp +

Web Application Proxy

認証の統合(継承)はプロトコルの仕様上困難なためアプリ側のカスタマイズが必要

ローカル

認証なし Azure RemoteApp +Web Application Proxy ○

Page 15: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

既存アプリのタイプ(いずれもオンプレミス) 外部公開方法

認証の統合先Windows 統合認証 AD FS + WAP Azure AD

WEBアプリ認証方式

Windows 統合認証Azure App Proxy ○(w/ Proxy Connector) ○ (Access Panel)

Web Application Proxy ○ ○クレーム非対応 ○ (Access Panel-existing fed)

Basic認証 Web Application Proxy(WS 2016) ○クレーム非対応 ○ (Access Panel –

Existing fed)HTML ベースのサインインページ

Azure App Proxy orWeb Application Proxy

○ (Access Panel –password fed)

SAMLトークン対応アプリ(SAML 2.0/WS-Fed)

Web Application Proxy ○クレーム対応Azure App Proxy ○

OpenID Connect/OAuth2.0 対応アプリ

Web Application Proxy(WS 2016) ○(WS2016) ○

○(WS2016) ○その他認証 カスタマイズ要

認証なしWeb Application Proxy ○ ○クレーム非対応

Azure App Proxy ○(Access Panel)

Page 16: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect
Page 17: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect
Page 18: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

Access Panel MyApps

Page 19: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

Access Panel MyAppsAzure App Proxy

Page 20: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect
Page 21: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect
Page 22: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect
Page 23: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect
Page 24: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

Modern

Page 25: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

25

モダンアプリケーションの種類とアクセスパターン

IdP を持つ SaaS

デバイスネイティブアプリ

クラウド上のAPI WEBアプリ

ブラウザ

7:37 AM

2 13 4

Page 26: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

26

①WEBアプリ• SAML 2.0/WS-Federation または OpenID Connect / Oauth 2.0 どちらでも

ブラウザ

1

2

Oauth-Authorization

WEB APP Oauth-Token

34

Azure AD

Cookie

認証

SAML

WS-Fed

ブラウザ

認証

1

234

Cookie

クレームをチェック

WEB APPAuthZ CodeAuthN Token

OpenID Connect には続きがあります(次ページ)

Azure AD Graph

Page 27: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

27

ブラウザ

Oauth-Authorization

WEB APP

Oauth-Token

Azure ADAuthZ CodeAuthN Token

Azure AD Graph

5Refresh Token

Access Token

User Info

67

8

• SAML トークンにはユーザー情報がクレームとして格納されている

• OpenID Connect の場合は、ユーザー情報を取得するために Graph API にアクセスする必要がある

Page 28: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

28

Azure ADBrowser Web AppOAuth-

authorizeOAuth-token graph

Navigate to your application

Post authN token and authZ code to your application’s redirect URL

No session,send authNrequest

Verifytokensignature

302 redirect for sign in

OpenID Connect request

(user signs in)

Set cookie and return user to page they started on

Redeem authZ code

Return access token and refresh token

Call the Graph API

OpenID Connect ログオンフロー

Page 29: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

29

② IdPを持つ SaaSとの連携(異なるIdP間の連携)

Sync WS-Fed SAML 2.0(for Shibboleth)Office 365

Azure Active Directory

• 異なる IdP 間の Identity Federation は SAML/WS-Federation を使用する• Identity の同期が必要

• OpenID Connect/Oauth 2.0 には現時点で Id Federation は実装されていない

Page 30: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

30

Azure ADアプリケーションギャラリー

※ ISV 様が自社開発 SaaSアプリをギャラリーに登録申請することもできます

アクセスパネルhttp://myapps.microsoft.com/

Web page titlehttps://webapps.Microsoft.com/

Page 31: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

31

SaaS

もし SaaSアプリをOpenID Connect/OAuth2.0のみで作成したら• 何の問題もない。• IdP が OpenID Connect だけではなく SAML 2.0/WS-Fed もサポートしていることが重要

Oauth-Authorization

App 本体

Oauth-Token

IdP

外部 IdP

SAML

WS-Fed フェデレーションOpenID Connect / OAuth 2.0

外部 IdP

Page 32: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

32

③WEB Service → WEB API

ブラウザ

Oauth-Authorization

Web App

Oauth-Token

IdP

Cookie

• API へのアクセス認可プロトコルは OAuth2.0 一択

Authorization Code

Access Token

Refresh Token

1

WEB API

2

4

認可

Access Tokenの再取得

3

Azure AD - OAuth 2.0 EndPointに合わせて開発する

Azure AD を IdPとして信頼

SecurityPipeline

1Hでタイムアウト

Page 33: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

33

④ネイティブアプリ• OpenID Connect / OAuth 2.0 での実装が事実上のスタンダード

• 直接実装(ADAL)も可能だが、Azure Mobile Service の利用をお勧め

OAuth-Authorization

OAuth-Token

IdP

7:37 AM

Application

Web API1

Application

4

Code

35

Sign-in

2

Page 34: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

34

アプリケーションを Azure ADに対応させるには

ApplicationAAD Native

モバイルアプリAzure MobileService

OR

Page 35: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

35

Visual Studio 2015(現在 RC)• WEB アプリやWindows アプリに加え、Android、iOSアプリケーションの開発も可能

• インスタントにAzure AD に結合

Azure Mobile Service との結合設定画面

WEB アプリと Azure AD との結合設定画面

Page 36: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

TPM

Windows 10とネイティブアプリケーション• 通常、ネイティブアプリケーションは「隔離」されているため、他のアプリケーションとトークンを共有することができない

• Windows 10 ではネイティブアプリを「Web Account Manager」に対応させることで完全な SSO が可能

Web Account Provider1

Azure AD

Native Application

Token Broker

Token Broker plug-in

Web Account Manager

Token を持っていればそれを利用。持っていなければ要求。

Page 37: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

iOS Android

Native

C#/JSADAL .NET + Xamarin

Apache Cordova Plugin for ADAL

ADAL .NETADAL Obj-C ADAL Android

WebAccountManager

Page 38: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

※現時点では未提供

• ADAL 対応アプリ間での SSO• 多要素認証にも対応• Intune 連携によりデバイスの条件付きアクセスが可能

Page 39: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

39

• ソーシャル ID を使用して Azure AD のアプリを使用する• セルフサービス機能

• サインアップ• パスワードリセット• プロファイル編集

• サインイン画面のカスタマイズ

Azure AD B2C: “IdMaaS for applications”まもなく Preview 開始予定

コンシューマー向けアプリ• キャンペーン• ご意見募集• 会員制ページ

Page 40: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

40

Azure AD B2C

Page 41: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

41

まとめ疲れましたね最後にまとめておきましょう

Page 42: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

42

認証と公開をデザインする鍵Traditional• ハイブリッド認証基盤• Azure アクセスパネル• Azure Application Proxy、Web Application Proxy

Modern• SAML による Identity Provider 間の Federation• 新規アプリは OpenID Connect に対応

• WEB、WEB API、ネイティブアプリ• モバイルサービスを活用するとコスト削減

• 開発には Visual Studio が最適

Page 43: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

43

Azure ADを中心としたインフラの全体像

Page 44: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

44

Next Step:モバイルデバイスの管理

Azure RMS

AzureMFA

Intune

MDM,ガバナンス

デバイス内データ漏えい防止

デバイス外データ漏えい防止

SSOアクセス制御

Hybrid Active Directory

認証強化

Page 45: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect
Page 46: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

46

現在(より少し前)までの主流

同期

認証の範囲 • 複数の認証サーバー• それぞれの認証サーバーは独立

• Credentialも独立• 認証サーバー間は同期(含パスワード)

• アプリケーションはどこかに所属• 場合によっては独自認証

• 認証のターゲットは「人」

• やっちゃいけないことはルールで規定

Page 47: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

47

どこに問題があるのか?

WEBApp

業務パッケージ(Local AuthN)

MailSV

WEBAPI

AD DS

LDAP

IE

Safari

利用者 デバイス アプリケーション データ

Client App Server App API

IdP

個人デバイス

Page 48: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

48

共通認証基盤の基本的な考え方~オンプレミスクラウドとモバイルデバイスをどのように“認証基盤”に接続するか

• 基本的に現状維持(無理にクラウド移行は考えないのが吉)• オンプレミスに閉じたセキュリティも重要ただし!• 単なる「認証サーバー」から「アイデンティティプロバイダー」化へ

• オーソリティとなる認証サーバー/ディレクトリを決める• モダナイズのポイント

• SAML/WS-Federation プロトコルへの対応(クラウド連携、システム間連携)• デバイス認証(モバイルデバイス連携)• コンディショナル・アクセス制御

• 認証の強化• 多要素、バイオメトリクス

Page 49: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

49

マイクロソフト製品での実装例既存の Active Directoryドメインを拡張する• モダンなプロトコル(SAML/WS-Fed/Oauth2.0)への対応• 外部からの認証要求の受け入れ

ディレクトリ認証サーバー

Kerberos

セキュリティトークンサービス

その他認証サーバー

業務アプリサーバー Authority

SAML 2.0/WS-Federation

同期

WS-FedhttpsSAML

リバースプロキシー(含認証)

ConditionalAccess

MicrosoftIdentityManager

Kerberos/ldap/NTLM Firewall

WS-FedhttpsSAML

AD DS:Active Directory Domain ServiceAD FS:Active Directory Federation ServiceWAP:Web Application Proxy

Page 50: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

50

新たな登場人物により設計はより複雑に。。。

同期

認証の範囲

7:37 AM

クラウドアプリ

モバイルデバイスモバイルアプリ

Page 51: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

51

認証基盤単体の要件 基盤の安全性 管理のしやすさ、自動化 各種機能(証跡、セキュリティポリシー等) セルフサービス(パスワードのリセット等)

アプリケーション、デバイスからの要求 認証プロトコル(NTLM、ldap、Kerberos、SAML-P等) 柔軟なアクセス制御と認証強度

認証基盤の設計に影響を与える要素

周囲の状況が認証基盤を選ぶ

Page 52: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

52

クラウドとモバイルは切っても切れないクラウドにはモバイルが、モバイルにはクラウドがもれなくついてくる

Page 53: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

53

Enterprise製品もモバイルデバイスをターゲットに

“クラウドだけ“ or “モバイルだけ”はセキュリティ上あり得ない

Page 54: Hybrid Identity ~ 認証システムデザインパターンdownload.microsoft.com/download/C/5/2/C529B562-863...今後開発する新しいアプリケーションはOpenID Connect

54

共通認証基盤の基本的な考え方~クラウド(注意)「認証サーバを 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• 利用者はモバイルデバイスを自由に選ぶので、標準規格による管理機能が重要