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





2018年4月28日土曜日

Microsoft Authenticatorアプリが設定のバックアップ・リカバリをサポート、しかし・・・

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

みなさん、多要素認証してますか?
アイデンティティは不正利用されている、という前提で運用しないといけない世の中になってきているので、IDとパスワードが盗難されても不正にログインされない様に多要素認証を有効にするのは大人のマナーです。もしくは、少なくともログイン・アラート(知らないログインがあったら通知してくれる機能)が使える認証システムを使う、くらいはいしないとダメな世の中です。
そういえば昨年のde:codeでもこんな話をしてました。

結局、ID盗難って本人が気が付きにくいところが一番の問題なんですよね。


と、言うことでMicrosoftもAuthenticatorアプリをiOS/Android/Windows Mobile向けに提供しており、私もAzure ADアカウント、Microsoftアカウントに加えてGoogleやFacebook、Amazonなどのアカウントの多要素認証をこのアプリでやっています。

が、機種変更などでアプリを再インストールすることになると実は非常に面倒です。全ての多要素認証設定を再度1からやり直さないといけないので、このアプリがないとログインできないような状態になってしまっているサービスがあると詰みます。

そこで登場したのが、ずっとリクエストが上がっていた多要素認証設定のバックアップとリカバリ機能です。

公式Blogでのアナウンス
 Microsoft Authenticator Account Backup and Recovery: Coming soon to an iOS device near you!
 https://cloudblogs.microsoft.com/enterprisemobility/2018/04/24/microsoft-authenticator-account-backup-and-recovery-coming-soon-to-an-ios-device-near-you/


機能を有効化するためには以下の条件を満たす必要があります。
・iOS版であること(残念ながらまだAndroid版では使えません)
・Authenticatorアプリのバージョンが5.7.0以降であること
・Microsoftアカウント(個人アカウント)があること


早速使ってみましょう。
と、その前に本ポストのタイトルに書いた「しかし・・・」の部分が気になりますよね?そう、実は組織アカウント(Azure AD/Office365)の多要素認証はリカバリできないんです。結局は再度QRコードの読み込みから開始なので、管理者にリセットしてもらう必要があります。
また、多要素認証設定済みのMicrosoftアカウントで設定をバックアップすると、リカバリ時に当該のMicrosoftアカウントでログインを求められますが、当然そのMicrosoftアカウントの多要素認証は今からリカバリしたい設定の中に入っているので、アプリで多要素認証は出来ません。他の方法(メールとかSMSでの回復)を設定していないとこれも詰みます・・・


こんな罠だらけの新Authenticatorですが、Googleなどの他の多要素認証はちゃんとリカバリしてくれる(はず)なので一応便利です。(Googleしか試してないのでAmazonとかFacebookが大丈夫かどうかは知りません)


とは言え、気を取り直して試してみます。
アプリを起動して、設定メニューを開くと「バックアップ」という項目が増えています。

おもむろに自動バックアップをONにするとMicrosoftアカウントが求められます。
この画面だけを見るとバックアップはOneDriveとかに保存されるのかな?と思うんですが、アプリを英語モードで起動すると実はこの画面の前にiCloudに保存する、というメッセージが出てきます。
これを見るとバックアップはiCloudにされ、リカバリする時にMicrosoftアカウントで認証することで保険をかけてる、ということなんだと思います。

Microsoftアカウントを追加すると回復アカウントとして表示されます。

後は、おもむろにアプリを消して再インストールしてみます。
まっさらの状態で起動してくるので、「回復の開始」からリカバリをしてみます。

回復に使うMicrosoftアカウントを選択し、ログインしましょう。
ここではアプリ内ブラウザが前に設定した時のMicrosoftアカウントを覚えてくれていたので選択するところから始まっていますが、機種変更などの場合はアカウントを追加するところからスタートですね。
と、ここで先ほど書いた通りのハマりポイントその1です。
このMicrosoftアカウントに多要素認証の設定をしていたので、ログイン時に多要素認証を要求されます。
運良く、実験した時は別のデバイスで多要素認証する様に構成していたので、難を逃れました。


しかし、別のデバイスで認証する構成にしていたが故に不思議なことが起きてしまいます。発生した現象は後述するとして先に進めましょう。

アカウントの回復完了、と表示されるのですが「セキュリティ上の理由から、一部のアカウントで追加の検証が必要です」と出て、Azure ADのアカウントに!マークがついています。

これが先ほど書いた微妙な点です。
Azure AD/Office365のアカウント(組織アカウント)のリカバリは出来ないんです。
回復するには再度QRコードをスキャンする必要があるので、別の方法で何とかログインするか管理者に多要素認証設定をリセットしてもらうしかありません・・・

今回は管理者でリセットしました。Azure ADのポータルからMFA設定を開いてユーザを検索、Manage user settingsを開きます。

再度ユーザが多要素認証設定を設定する様に要求します。

これで再設定をすると一応リカバリされます。
ちゃんとAzure ADアプリへの多要素認証ログインもできました。もちろんGoogleについてはGoogle側で何のリカバリ処理も必要なく、ちゃんと多要素認証ログインできます。


ちょっとおかしなことになってますよね?
気が付いた方いますか?




そうです、リカバリした端末側の多要素認証設定に、リカバリに使ったMicrosoftアカウントのエントリが勝手にできています。
私は別の端末でこのMicrosoftアカウントの多要素認証をしていますので、2つの端末に同じMicrosoftアカウントの多要素認証エントリが存在している状態になります。

試しに、このMicrosoftアカウントでサービスにログインしてみます。

すると、なんと2つの端末に通知が来ます・・・


はい、バグだと思います。
(と思いましたが、Microsoftアカウントの場合は複数の端末で多要素認証をさせることができるので、こういう仕様なんだと思います)

ちなみに、どちらで承認してもちゃんとログインできます。

うーむ・・・



と、若干微妙な感じではありますが、少なくともGoogleの多要素認証はちゃんとリカバリできたので、楽にはなりました。
皆さんも使ってみましょう。

2018年4月9日月曜日

[告知]5月~6月のID系イベント予定(ワールドツアー!)

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

新年度に入り、トラディショナル・ジャパニーズ・SIerとしてはそれなりにバタバタしていますが、5月に入ると落ち着いてくるかな~という目論見の元、イベントが立て続けにあります。
しかも今年は期せずしてミュンヘン~東京~ボストンという流れなのでワールドツアー(?)です。

◆5月15日~18日 European Identity & Cloud Conference 2018 @ ミュンヘン

初の海外公演?となりますので不安しかありませんが、Breakout Sessionとパネルディスカッションの2本立てなのが更に不安を煽ります。(英語勉強しないと・・・)

テーマはManaging Identities at Scaleということで、エンタープライズとは異なり大規模になるコンシューマID管理を中心としてeBayのMitchell Wyleさん、MicrosoftのAlex Weinertさんと3人でお話しします。Alexさんは昨年秋のJapan Identity & Cloud Summitで来日してくれたので記憶している方もいらっしゃると思いますが、Identity Protectionに関するプログラム・マネージャをしている人ですね。

私は、Azure Active Directory B2C(Azure AD B2C)などのConsumer Identity and Access Management(CIAM)の技術を使ってSNSなど外部のIDを組織との境界にどうやって持ち込むか、いわゆるBring Your Own Identity(BYOID)の話をさせていただきます。

昨年もEuropean Identity & Cloud Conference(EIC)には参加しましたが、ミュンヘンはビールと白ソーセージとシュニッツェルがとても美味しい&5月は白アスパラガスが旬なので、ちょうどドイツを旅行している、という方は是非ともお越しください。
シュニッツェルと白アスパラガス 
白ソーセージ

タイトル:Adopting BYOID through CIAM Technologies
概要:
By recent identity flood, end-users in organizations do not wish to have additional identities(especially username and password) for their companies or universities anymore. This makes them to reduce their end-user satisfactions and royalities and sometimes make them to use shadow IT which may have security risk for the organizations.
In addition, for many organizations e-mail is not suitable communicating tool anymore especially for younger age, because they are used to use social network tools like twitter/facebook to communicate each other.
But in the same time, it is true that IT admins are still required to manage employees' or students' identities in organizations for internal audit and security.
In this talk, I would like introduce possibilities to solve this dilemma for organizations by BYOID(Bring Your Own Identities) with CIAM technologies with some demo using Microsoft Azure Active Directory B2C.

申し込みはこちらから可能です。
 https://www.kuppingercole.com/events/eic2018

◆5月22日~23日 de:code 2018 @ 東京

ありがたいことに毎年の事になってきつつありますが、今年もde:codeに登場します。
今年はチョーク・トークといって、一方的にお話しさせていただくのではなく、参加者の方々の疑問などを受けて解説をさせていただく、という形式です。

テーマは同じくAzure AD B2CとSNS IDです。

そもそもde:codeは開発者向けのイベントということで、開発者の方がAzure AD B2Cをどうやって使ってアプリケーション開発を効率的・効果的に行うことが出来るか?がテーマになると思います。
なるべく細かいことにもお答えできるように準備をしていこうと思うので、SNSなどの外部IDを活用してアプリケーションやサービスを開発しようと考えている開発者の方はぜひお越しください。

セッションID:AD020
タイトル:実践から学ぶ!SNS ID を企業認証基盤で活用するには?
概要:
企業における新卒採用、学校における入学候補生や保護者、金融機関におけるローン審査申込など、組織外のID利用を前提としてサービス提供を行うシナリオは多数あります。また、学生や従業員など組織構成員との風通しの良いコミュニケーション環境の整備や利便性の高いシステム提供は管理者にとって重要な事項となっており、SNSなどの外部IDを組織内で利用するシナリオも注目を集めています。それらのシナリオを実現する為に欠かせないのがAzure AD B2CとIdentity Experience Frameworkです。
本セッションでは、Azure AD B2CとLINEなどの外部IDを利用して各種課題を解決する実装例、およびIdentity Experience Frameworkの具体的な実装方法について解説します。
申し込みはこちらから可能です。


◆6月24日~27日 Identiverse 2018 @ ボストン

5月のEICとほぼ同じ内容になると思いますが、今年はボストンで開催されるIdentiverse(旧Cloud Identity Summit)でも登壇させていただきます。

EICが少しアカデミックなのに対してIdentiverseは実ビジネスを意識したセッションが多い傾向があるので、より実践的な話が求められるような気がしています。その辺りの雰囲気で少しセッション内容は変更するかも知れませんが。

個人的にはボストンは10年ぶりくらいなので、楽しみです。何もなかった記憶しかありませんが、なんと今年はちょうどこの時期、エンゼルスがボストンでレッドソックスとのカードが組まれているので、大谷翔平が見れるかもしれません。MLBのついでにIDの話を聞きたい、という方は是非お越しください。

申し込みはこちらから可能です。