みなさんこんにちは。Dreamforce'2014参加中の上林です。 私の方からは、Winter'15の新機能:ログインフローについてレポートさせて頂きます。 ちなみにこのセッションは、元々空いていた時間帯で、当日急遽予定を入れたため、冒頭15分ほど聞き逃しております。。 予めご了承下さい。
ログインフローとは何かと言いますと、Winter'15にバージョンアップされた組織を確認して頂ければ分かると思いますが、 設定 > セキュリティーのコントロール の中に、新機能として表示されています。 これは、ログインするユーザのプロファイルに応じて、任意のログインプロセスを作成することを可能にするそうです。
設定が必要なのは大別して以下の2つです。
- ログインフローの作成
- 作成したフローのプロファイルへの割り当て
私が見に行ったときは丁度、Yubikeyという、Winter'15バージョンアップに合わせて作成されたアプリ (元はyubicoという2要素認証ハードウェアみたいですね。その認証をクラウド化したのがYubikeyのようです)と、Salesforceによる2要素間認証のデモの最中でした。
YubiKey_Login
ざっと説明されていた手順は以下の通りです(※セッション後の自分での調査・補足も含みます。認識の齟齬等ありましたらご容赦下さい)。 ※フローについては当社の高野のブログ「Dreamforce2014 レポート1日目 ? 『Getting to Know Visual Workflow』」をご確認ください。
- Salesforce App: Yubikeyを対象のSalesforce組織にインストール
- 設定>アプリケーションの設定> 作成 > ワークフローと承認申請>フローから、新規フローボタン押下でログイン画面作成
- ワークフローデザイナ画面で、YubikeyのApexプラグインとログインフローにOTPの受け渡しを設定
- 作成したフローそれぞれに実行ユーザのプロファイルを割り当て、ログインフローを設定
yubikey関連要素
上記の手順で、あるユーザはSalesforceのID/パスワードだけを入力すればログイン可能に、 また他のユーザはYubikeyの認証も実行しないとSalesforceにログイン出来ないよう設定することが出来ます。 また他のトピックとして話されていたのは、TwilioとSalesforce間の認証でした。 Twilioは、プログラミングで電話やメッセージの送受信を操作するAPIです。
デモとして紹介されていたのは、以下のような認証処理でした。
- Salesforceからログインフローのリクエスト
- ApexでログインユーザのレコードOTP取得
- TwilioAPIを介して、SMSとして2.のOTPをユーザに送信
- ユーザが受信したSMS(=OTP)をSalesforceログイン画面に入力
Twilio_OTP受信
上記の認証の流れをフローで作成したものが以下になります。
Salesforce_Twilio認証フロー
最初の認証フローでまずログインユーザ情報を取得し、モバイルユーザでない場合は第2の認証に進ませなくしています。 モバイルユーザの場合は第2の認証処理に進み、ユーザ情報からOTPを発行しログインユーザに送信し、 ユーザはそれを元にログイン画面にOTPを入力することでログインが可能となります。
参考リンク:
https://help.salesforce.com/HTViewHelpDoc?id=security_login_flow.htm&language=en_US https://developer.salesforce.com/page/Login-Flows http://help.salesforce.com/help/pdfs/en/salesforce_vpm_implementation_guide.pdf ==========================================================================================
途中参加のセッションでしたが、参加者が非常に多く、内容も具体例を交えて面白いと感じました。 セッションのスピーカーも、Salesrorce社のItzik Koren氏、Yubico社のJerrod Chong氏、Twilio社のCharles Oppenheimer氏というように、 三社の代表の方が登壇しており、Salesforce社側でもなかなか力を入れたセッションのように感じました。
それではレポートは以上になります。 3日目のレポートもお楽しみ下さい!