the microsoft conference 2014download.microsoft.com/download/0/4/a/04af9f4f-54f2-4eaa...asp.net web...

Post on 03-Oct-2020

17 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

The Microsoft Conference 2014

ROOM C

25

Azure Active Directory (AD) Premiumで複数のクラウドと社内の ID を統合

• EMS は Azure AD Premium を包含

• Office 365 などの SaaS アプリや社内アプリをシングルサインオンで利用可能

BitLocker でサーバーやクライアントのディスクを保護

OS がインストールされたドライブ、固定ドライブ、リムーバブルドライブを暗号化で保護

改善のための要件: ソリューション

Office 365 など 他社クラウド

SaaSアプリ

社内アプリシングルサインオンで利用可能

ディスク全体または使用領域のみを暗号化して保護

PC やディスクの紛失、盗難時に機密を維持

Agenda

イントロダクションエンタープライズ IT の変化とユーザー認証のトレンド

AAD を利用した安全なユーザー認証社内 AD と AAD のアカウント同期AAD を利用したユーザー認証多要素認証の追加

まとめ

Appendix

The Microsoft Conference 2014

エンタープライズ IT 環境の拡大

PC

イントラネット

オンプレミス

タブレットスマートフォン

インターネット

クラウド

SaaS 型サービス

パスワード管理の問題

クラウド上のシステム

SaaS 型サービス

インターネット

ユーザー認証は大丈夫?

さてどうしましょう?

イントラネットは良かった・・・

Active Directory

内部設置型のシステム

イントラネット

内部設置型のシステム

内部設置型のシステム

その頃インターネットでは

フェデレーション認証で楽ちん

マイクロソフト ID(認証処理を委譲)

OneDrive

Outlook.com

Skype

ユーザーID

/パスワード

セキュリティトークン

①トークンを

要求③

セキュリティトークン

セキュリティトークン

セキュリティトークン

多要素認証で安心

システム

12:38

ワンタイム

トークン

ユーザー IDパスワード

ワンタイム

トークン

ユーザー ID&

パスワード ②

ワンタイムパスワード

エンタープライズは?

エンタープライズならAAD

Active Directory内部設置型のシステム

クラウド上のシステム

SaaS 型サービス

イントラネット

インターネット

AzureActive

Directory

同期

The Microsoft Conference 2014

Azure Active Directory

Active Directory とのアカウント同期

クラウドアプリも社内アカウントで利用可能

多要素認証によるセキュリティの強化

パスワードが覚えきれない!

Active Directory内部設置型のシステム

クラウド上のシステム

SaaS 型サービス

イントラネット

インターネット

アカウントデータベース

アカウントデータベース

パスワード

パスワード

パスワード

パスワードパスワード

パスワードパスワード

パスワード

AAD へのアカウント同期

Active Directory内部設置型のシステム

クラウド上のシステム

SaaS 型サービス Azure

ActiveDirectory

同期

イントラネット

インターネットパスワード

アカウント同期の構成

AADディレクトリ

の作成

カスタムドメインの

指定

AAD Syncor

DirSyncを実行

IT 管理者

AAD Sync / DirSync で同期

The Microsoft Conference 2014

DEMOAD ⇔ AAD のアカウント同期

アプリ個別の作りこみは面倒で危険

Active Directory内部設置型のシステム

クラウド上のシステム

SaaS 型サービス

イントラネット

インターネット

アカウントデータベース

アカウントデータベース

標準プロトコルによる認証連携

Active Directory内部設置型のシステム

クラウド上のシステム

SaaS 型サービス Azure

ActiveDirectory

同期

イントラネット

インターネット

WS-Federation, OpenID Connect, etc…

Web アプリへの組込み

Windows IdentityFoundation による

組込み

ASP.NET Identityによる組込み

orAzure Active Directory

にアプリを登録

IT 管理者 開発者

AAD へアプリを登録

アプリの名前

サインオン URL

アプリケーション ID

ASP.NET Web アプリへの組込み

OpenID Connect

WS-Federation

ASP.NET Identity[ assembly: OwinStartup ( typeof ( Samples.Startup1 ) ) ]

public class Startup1 {

public void Configuration ( IAppBuilder app ) {// コードで組み込む

}

}

Windows Identity Foundation

<configuration>

<system.identityModel><!--構成ファイルで組み込む -->

</system.identityModel>

</configuration>

AAD サインインが要求される

リダイレクト

サインイン

The Microsoft Conference 2014

DEMOアプリケーションへの組込

SaaS 型サービスの登録

Azure Active Directoryにアプリを登録

ユーザ権限の割り当て

IT 管理者

SaaS 型サービスの登録

The Microsoft Conference 2014

DEMOSaaS サービスと認証連携

テキストパスワードは危険!

Active Directory内部設置型のシステム

クラウド上のシステム

SaaS 型サービス Azure

ActiveDirectory

同期

イントラネット

インターネット

あぶない!

多要素認証による強化

Active Directory内部設置型のシステム

クラウド上のシステム

SaaS 型サービス Azure

ActiveDirectory

同期

イントラネット

インターネット

パスワード

デバイス

多要素認証の構成

IT 管理者 開発者 ユーザー

多要素認証の有効化

追加情報を登録

IT 管理者が MFA を有効化

ユーザーが追加情報を登録

スマホアプリ

音声メッセージ(電話)

テキストメッセージ(SMS)

http://aka.ms/MFASetup

以降は多要素認証が要求される

まずはユーザー ID とパスワードでサインイン

ワンタイムパスワードも必要になる

The Microsoft Conference 2014

DEMO多要素認証の有効化

まとめ

慣れ親しんだアカウントが外でも使えます

ユーザー

開発者

IT 管理者

面倒な認証機構はお任せです

従来同様の ID 管理・運用と多要素認証による強化

リファレンス

MSDNhttp://msdn.microsoft.com/library/azure/jj673460.aspx

TechNethttp://technet.microsoft.com/ja-jp/library/hh967619.aspx

Cloud Identity (Blog)http://www.cloudidentity.com

関連セッション

MN-242Dynamic Identity Framework

~クラウド時代適応のための ID 管理手法~

MN-271多要素認証 Deep Dive

~ハイブリット認証基盤だからこそ実現できる

柔軟で高機能な多要素認証~

もしかして・・・

Office 365 をご利用いただいていますか?

既に Azure Active Directory のユーザーです

あとは利用するだけ!!!

The Microsoft Conference 2014

WS-Federation サンプルコードpublic static void ConfigureWsFederation(IAppBuilder app){

// 認証の種類を設定app.SetDefaultSignInAsAuthenticationType(

WsFederationAuthenticationDefaults.AuthenticationType);// クッキー認証を有効化app.UseCookieAuthentication(

new CookieAuthenticationOptions(){

AuthenticationType = WsFederationAuthenticationDefaults.AuthenticationType});

// WS-Federation の組込みapp.UseWsFederationAuthentication(

new WsFederationAuthenticationOptions(){

Wtrealm = "http://appid.azlab01.asia/MSC2014.Demo.Web.Mvc",MetadataAddress = "https://login.windows.net/azlab01.asia/"

+ "federationmetadata/2007-06/federationmetadata.xml"});

}

アプリケーション IDを指定

テナント名部分は適宜変更

OpenID Connect サンプルコードpublic static void ConfigureOpenIdConnect(IAppBuilder app){

// 認証の種類を設定app.SetDefaultSignInAsAuthenticationType(

OpenIdConnectAuthenticationDefaults.AuthenticationType);// クッキー認証を有効化app.UseCookieAuthentication(

new CookieAuthenticationOptions(){

AuthenticationType = OpenIdConnectAuthenticationDefaults.AuthenticationType});

// OpenID Connect の組込みapp.UseOpenIdConnectAuthentication(

new OpenIdConnectAuthenticationOptions(){

ClientId = "f4b98e1d-7b5d-47d3-85fe-bb17cef425a4",Authority = "https://login.windows.net/azlab01.asia/"

});} テナント名部分は適宜変更

クライアント IDを指定(登録したアプリの構成タブから取得)

WS-Federation 構成サンプル<configuration><configSections>

<section name="system.identityModel"type="System.IdentityModel.Configuration.SystemIdentityModelSection,

System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /><section name=“system.identityModel.services"

type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

</configSections>

<system.web><authorization><deny users="?" />

</authorization></system.web>

<system.webServer><modules><add name="WSFederationAuthenticationModule"

type="System.IdentityModel.Services.WSFederationAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

preCondition="managedHandler" /><add name="SessionAuthenticationModule"

type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

preCondition="managedHandler" /></modules>

</system.webServer>

WIF の有効化

認証されてないユーザーを拒否

WS-Federationおよびセッション認証モジュールを追加

WS-Federation 構成サンプル<system.identityModel>

<identityConfiguration><securityTokenHandlers><add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler,

System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /><remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler,

System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /></securityTokenHandlers><issuerNameRegistry type="AADStudy.WebForms.Utils.DatabaseIssuerNameRegistry, AADStudy.WebForms" /><audienceUris>

<add value="https://appid.azlab01.asia/MSC2014.Demo.Web.Mvc" /></audienceUris><certificateValidation certificateValidationMode="None" />

</identityConfiguration></system.identityModel>

<system.identityModel.services><federationConfiguration><cookieHandler requireSsl="true" /><wsFederation passiveRedirectEnabled="true"

issuer="https://login.windows.net/azlab01.asia/wsfed"realm="https://appid.azlab01.asia/MSC2014.Demo.Web.Mvc"requireHttps="true" />

</federationConfiguration></system.identityModel.services>

認証クッキーの暗号化方式を指定

アプリ ID

ログイン URL等のメタデータを取得する URL

アプリ ID

マルチフォレスト統合(AAD Sync)

AD DS AD DS ① AD DS ② AD DS ③

AAD AAD

AAD SyncDirSync

1:1構成 N:1構成

AD DS : Active Directory Directory Services

シングルサインオン(AAD + ADFS)

AAD

AD FS

AD DS

WAP

クラウド上の

Web システム

信頼関係

社内設置型のWeb システム

イントラネット

インターネット

要パスワード+多要素認証

DirSyn

c / AA

D Syn

c

パスワード

入力不要(SSO)

AD FS : Active Directory Federation Services WAP : Web Application Proxy

ネイティブアプリ認証 (OAuth 2.0)

ネイティブアプリ

ADAL

Web サービス(ASP.NET Web API 等)

Azure Active Directory

認証ダイアログ

OA

uth

2.0

ADAL : Active Directory Authentication Libraries

ネイティブアプリの登録

API側とは別に登録 アクセス先の APIを指定

ネイティブアプリ認証サンプルpublic static void ConfigureOAuth2(IAppBuilder app){

app.UseWindowsAzureActiveDirectoryBearerAuthentication(new WindowsAzureActiveDirectoryBearerAuthenticationOptions(){

Audience = "http://appid.azlab01.asia/MSC2014.Demo.Web.Api",Tennant = “azlab01.asia"

});}

public async void Run(){

var acx = new AuthenticationContext("https://login.windows.net/azlab01.asia");var token = await acx.AcquireTokenAsync("http://appid.azlab01.asia/MSC2014.Demo.Web.Api",

"d8fed4c3-73a7-44a7-af82-65c7983d245a", new Uri("https://localhost:44302/redirecturi"));

var client = new HttpClient();client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(

"Bearer", token.AccessToken);client.BaseAddress = new Uri("https://localhost:44302/api/");var response = await client.GetAsync("HelloWorld");

API側の認証設定

ネイティブアプリ側のアクセスコード

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on

the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

top related