2018年5月25日金曜日

[Azure AD B2C]VS Code Extensionでカスタムポリシーを簡単編集

こんにちは、富士榮です。

de:codeのセッションの中で軽く紹介したんですが、資料にURLなど載せていなかったので紹介しておきます。

カスタムポリシーってポータルからダウンロードして、XMLファイルをゴリゴリ編集して再度アップロードして、、という作業を経て構成するので中々とっつきにくい、と思って敬遠している方へ朗報です。

Visual Studio Code用のAzure AD B2C用のExtension(ベータ版)が公開されています。

Azure AD B2C Tools
https://marketplace.visualstudio.com/items?itemName=AzureADB2CTools.aadb2c


主な機能と出来ることは以下の通りです。

  • カスタムポリシーエクスプローラー
    • ポリシー内の各エレメント一覧を参照、ジャンプ
  • アイテムの定義の参照
    • Shift+F12を押すことでアイテムの定義箇所へジャンプ
  • XMLエレメントの追加
    • ClaimとかTechnicalProfileなどのエレメントを追加
  • ヘルプと関連情報の表示
    • 関連するドキュメントの表示
  • XMLスキーマの簡易ヘルプ
    • XMLタグにマウスオーバーすると説明がポップアップ


こんな感じです。



かなり生産性が上がると思うので、カスタムポリシーを書く方は是非!

2018年5月18日金曜日

[Azure AD] Azure AD ConnectでPingFederateとのSSO構成が可能に!

こんにちは、富士榮です。

ちょうど1年近く前に正式リリースされたAzure AD Web Application ProxyとPingIdentityのPingAccess連携の話に引き続き、今度はAzure AD Connectを経由したPingFederateの構成が発表されました。(現状Public Previewです)

 [Azure AD] PingAccess連携が正式リリース
 https://idmlab.eidentity.jp/2017/06/azure-ad-pingaccess.html

対応したのは最新バージョンのAzure AD Connect(1.1.819.0)からです。

Office365、Azure ADとのID連携先としてPingFederateは早い段階から認定されていましたが、より深くインテグレーションされてきました。

関連ドキュメントはこの辺りから。



簡単に言うと、自動的にやってくれることは、

  • PingFederate側に何を設定すれば良いかを教えてくれる(Azure ADのEntityIDとかエンドポイントのURIとか)
  • Azure AD側のFederationの構成してくれる

ということです。

今、手元にPingFederateの環境がないので、インストーラの途中までですが、こんな感じで設定を行います。

User sign-inの設定で「Federation with PingFederate」が選択できるようになっています。

連携するAzure ADのドメインを選択します。

Federationの設定を行うところでは、PingFederateに何を設定するかExportしてくれるのと、PingFederateのURLを指定します。

ちなみにExportした構成情報は結構丁寧にPingFederateに何を設定したらいいのか記載されています。


まぁ正直、手動で構成するのもそれほど手間ではないのですが、最初から選択肢として組み込まれてくるとグッときますね。
皆さんも自宅に転がっているPingFederateを使って是非試してみてください。

2018年5月12日土曜日

[FIDO]Firefox 60の正式版がリリースされたのでWebAuthnを試してみる

こんにちは、富士榮です。

先月WebAuthnがW3Cの勧告候補になってブラウザ各社が対応を表明したり、Windows 10 April Update 2018からWindows HelloでFIDO2 Security Keyが使えるようになったり(まだTAPなど一部ユーザにしか提供されていませんが)と、にわかにFIDO周りがにぎやかになってきました。

ということでWebAuthnに対応したFirefox 60.0が正式にリリースされたので手元のYubikeyで試してみます。
左から、Security Key By Yubico、Yubikey 4、Yubikey NEOです。
なんだか増殖してます。
Yubikeyの各エディション毎の比較は以下のページから。
https://www.yubico.com/products/yubikey-hardware/compare-yubikeys/


まずは、Firefoxのバージョンを確認しましょう。


ちゃんと更新されてます。

次にWebAuthnがちゃんと有効になっているか確認します。about:configを開きwebauthn関係の設定を検索し、「security.webauth.webauthn」がTrueであることを確認します。

これも大丈夫です。


ということで、テストしてみます。
今回テストに使ったのは、
https://webauthn.io/
https://webauthn.bin.coffee/
の2つのサイトです。

まずはhttps://webauthn.io/です。

ユーザ名を入れて、Register a User/Credentialをクリックします。

セキュリティ・トークンを求められるので、Yubikeyを差し込んでタップします。

登録とログインが成功しました!
ちなみにFIDO2にも対応しているSecurity Key by Yubico(青い奴)とYubikey 4はうまく動きますが、一番古いYubikey NEOだとダメでした。


同じように、https://webauthn.bin.coffee/でも試してみます。

Create Credentialをクリックすると同じようにキーを求められるので、Yubikeyを差し込んでタップします。

こちらも無事に登録が出来ました。


あくまでテストツールでブラウザの対応を確認しただけなので、面白味には欠けますが、これで実際にWebAuthnに対応したWebアプリケーションを作る環境はそろったことになるので、パスワードレスのWebサイトが登場してくるのも近いかもしれません。楽しみですね。

2018年5月8日火曜日

[Azure AD] Build 2018( #msbuild )に合わせてAzure AD PIMとTerm of UseがGA

こんにちは、富士栄です。

事前にアナウンスが合った通り、昨日より開催されているBuild 2018に合わせてAzure AD関係の以下の機能が一般リリース(GA)されました。


  • Privileged Identity Management(PIM)
  • Conditional Access - Term of Use(ToU)


公式Blogでのアナウンス
https://cloudblogs.microsoft.com/enterprisemobility/2018/04/17/password-less-sign-in-to-windows-10-azure-ad-using-fido2-is-coming-soon-plus-other-cool-news/
※主題はFIDO2の話ですが、しれっとBuildでGAされるよ!という話が書いてあります。


PIMはいわゆる特権管理ですね。Azure AD上の特権を承認を得て一時的に取得するための機能で、Azure AD Premium P2で使えます。


ToUは条件付きアクセスの条件の一つとして設定ができるもので、使用条件に同意をしないとアプリケーションを使わせない、というような条件を設定することが可能です。

こちらは以前、Azure AD B2Bのゲストユーザへの同意を求める、というシナリオで紹介しましたね。
https://idmlab.eidentity.jp/2017/12/azure-ad-b2bterms-of-use.html



他にもIdentity関連のセッションが色々と用意されているようなので、期間中に良い情報が出てくれば紹介したいと思います。

2018年5月7日月曜日

[Azure AD B2C]カスタムドメインのサポートがPublic Preview

こんにちは、富士榮です。

Azure AD B2Cの各種エンドポイントってxxx.microsoftonline.comなので、Azure ADを使ってるってモロにわかってしまいます。

企業内で利用するシナリオだとそれほど問題にならないかも知れませんが、B2Cシナリオでは外部へのプロモーションに使ったりするので問題になることもしばしばあります。また、同様にB2Cシナリオではログイン画面のカスタマイズを行う前提になると思うので、ドメイン名の問題でJavaScriptを仕込めない、などの機能面での不具合も出てきます。

そこで、しばらく前からPrivate Previewが行われていたカスタムドメインよるJavaScriptのサポートがようやくPublic Previewとして公開されたので紹介します。
※JavaScriptサポートはまだみたいです。想定外の動きをすることもありますが問い合わせとかはしないようにしましょう。(5/21追記)

詳細ドキュメントはこちらです。
 https://docs.microsoft.com/en-us/azure/active-directory-b2c/b2clogin


尚、最初にお伝えしておきますが、本当に好きなドメイン名でログイン画面を構成することが出来るようになるわけではありません。microsoftonline.comの代わりにb2clogin.comという別のドメインが用意され、そのドメイン上のログイン画面ではJavaScriptが使える、というだけです。

カスタムドメインを使う時のURLのルールはこのように変わります。
<従来>
https://login.microsoftonline.com/{テナント名}.onmicrosoft.com
<カスタム>
https://{テナント名}.b2clogin.com/{テナント名}.onmicrosoft.com


では、早速試してみましょう。

◆カスタムUIの準備

まずはログイン画面をカスタマイズしてJavaScriptを仕込んでみます。
最初にHTMLを作成して、blobにアップします。

次に、カスタムポリシーで(もしくは管理画面から)、UI定義で作成したHTMLを使う様に設定します。


後は、サインインポリシーやアプリケーションの定義などは必要ですが、この辺りは割愛します。

◆まずは通常通り呼び出してみる

今回はASP.NET CoreのMVCアプリを作ってAzure AD B2Cを使って認証する様に構成します。
通常はこんな感じで認証の設定を入れるとノンコーディングでAzure AD B2Cを使って認証できるようになります。


アプリケーションを起動し、SignInをしてみるとAzure AD B2Cのログイン画面が表示されます。

ここで、先にアップロードしたHTMLに合った通り、ボタンを押すとAlertが出るはずなんですが、通常のドメインで構成されているのでボタンは全く反応しません。
(もちろんログインは出来ます)

◆カスタムドメインを使う

ようやくカスタムドメインの出番です。
先のアプリケーションのappsettings.jsonを開き、Instanceの行を直接編集します。
元はlogin.microsoftonline.com/tfpだった部分をxxx.b2clogin.comへ変えます。


これだけです。
早速実行してみると、先ほどと同じログイン画面は出ますが、ドメイン名がb2clogin.comになっており、JavaScriptが実行できるようになっています。



これで色々とカスタマイズは出来るようになるので、自由度は各段に増します。
(本当は独自ドメインが使えると良いんですが・・・)

ちょっと応用で、Puzzle CAPTHAのCAPYを組み込んでみました。
この辺りも全部JavaScriptが前提となるので、従来は実現できなかった構成です。



UIのカスタマイズを含む、IdentityExperienceFrameworkの使い方については今月22日~23日のde:codeでチョークトークで解説させていただく予定です。是非こちらもお越しください。(私の出番は23日の最終セッションです)

 AD20
 実践から学ぶ!SNS ID を企業認証基盤で活用するには?
 https://www.microsoft.com/ja-jp/events/decode/2018/sessions.aspx#AD20