(2021/12/1 追記)
ハレフルではMFAを実装するための手段として「Salesforce Authenticator」「サードパーティ製のTOTP認証アプリ」「物理的なセキュリティキー」以外の手段として、新たに「顔認証によるMFA」を実現するサービス「FaceMFA」をリリースします!2021年12月1日よりベータトライアルを開始いたしました。
詳しくは以下のサイトをご覧ください。
FaceMFA サービス紹介サイト
※本記事は2021年4月頃の情報を元にしています。
永井です。2021年2月初旬に、Salesforce社より公式に「Salesforce は 2022年2月1日より、Salesforce 製品へのアクセスには MFA の使用を必須条件とすることを決定」というアナウンスが流れました。これはSalesforceのほぼ製品すべてにユーザインターフェースを通じてログインするユーザに対して MFA を有効にする必要がある、というものでSalesforceを使うすべてのユーザに対して必須、という結構ハードルの高い内容です。
MFAの利用についてSalesforceから公式にサポートされているのはSalesforce AuthenticatorというSalesforce社製の公式アプリケーションで、こちらを利用してMFAを実施いただくか、Microsoft Authenticator、Google Authenticatorなどのサードパーティ製のTOTP認証アプリケーションを使って多要素認証を行うこと、もしくはSSOなどを使ってログインするユーザにはSSOの認証側で多要素認証を行うこと、というものです。
MFA必須化、アプリインストールだけでは済まない問題
「MFA必須化」に関して「アプリ入れたらいいんでしょ」だけに済まない問題として大きく2つの課題がある、という認識です。
すべてのユーザに業務用スマホ端末を用意できない
この問題はひょっとしたら日本固有になるかもしれませんが、すべての従業員に業務用のスマホ端末を配布できておらず、また私用端末に業務用のアプリケーション(のしかも認証情報)をインストールというのがセキュリティポリシー上許容されていない場合。ひょっとすると海外でも私物持ち込み禁止のコールセンター等では同様の課題があるかもしれません。
※ヘルプにはこうした環境向けのソリューションとして「物理的なセキュリティキー」を推奨していますが、YubikeyはAmazon等で見る限り1つ6000円程度で、紛失のリスク等もありすべての従業員に配布できるかどうかいうと微妙な問題です。
パートナー企業の構築用ユーザなどでの1アカウントを使いまわしできない
Sandboxでの開発業務や保守等でユーザー企業からアカウントを借りる場合、複数名で担当するとしても多くの企業が配布されるアカウントは1つ、という企業がほとんどではないでしょうか?
※Salesforce社としては開発や保守であってもユーザの使いまわしについては公式にNGというアナウンスが出ています。
ということで、スマホ端末にインストールするMFAアプリケーションだとちょっと取り回しが悪そう、という課題がありましたが、こちらについて現時点で私がSMSでの認証やアプリのインストールも不要で「最も使い勝手が良さそう(だが、たぶん非推奨)」と思っているのがGoogle ExtentionのAuthenticatorというアプリです。
Authenticatorは導入がかんたん!
Authenticatorの導入は非常にシンプルな作業だけで完結します。
まずChromeのWebストアでAuthenticatorをインストールします。
次にMFAの設定済みのSalesforce 組織でSalesforce にログインすると「Salesforce Authenticatorを接続」という画面が出てきますので「別の検証方法を選択」をクリックします。
QRコードが表示された画面が登場しますので、そこでインストールしたAuthenticatorアイコンをクリックしてQRコード読み取りボタンをクリックします。
すると画面上に画面キャプチャを取る画面が出てきますのでQRコード部分を四角く切り取る。すると認証情報を作成してくれますので6桁のコードを画面に入力。以上で完了です。
あとは日常的にログインする際は同じようにID/PASSを入れると確認コードが求められますので確認コードを入力するだけで簡単にログインする事ができます。
こちらの認証情報はバックアップを取る事もできます。
Authenticatorを立ち上げて歯車アイコンから「バックアップ」をクリックするとテキスト情報としてバックアップを取る事もできます。バックアップした認証情報はエクスポートすることで別の端末に簡単にインポートする事ができます。※私が確認する限りChromeのユーザ名などと連携していないようなので、別のユーザの端末に簡単にインポートすることができました。
これ、良いんでしょうか・・・
とっても使いやすいアプリケーションではあるのですが、実質的にパスワードマネージャとしての機能でしかないため、SalesforceのMFA対応が求める「多要素」としての要件を満たしているとは思えません。
Salesforceの出している「Salesforce 多要素認証に関する FAQ」を見ても、
「Salesforce ではパスワードマネージャが生成した TOTP コードはサポートされますか?」という箇所に以下のようなコメントがあります。
ベストプラクティスとして、モバイルアプリケーションや物理的なセキュリティキーなどの検証手段を使用することをお勧めします。これらはユーザのラップトップやワークステーションとは別に存在するためです。こうしておけば、悪意のある攻撃者がどうにかユーザのコンピュータにアクセスできても、2 番目の要素までが侵害されることはありません。多くのパスワードマネージャでは、ユーザが MFA 認証用の時間ベースのワンタイムパスワード (TOTP) を生成できます。この機能は、モバイルデバイスからアクセスするパスワードマネージャでのみ使用するか、またはパスワードマネージャ自体に MFA 保護機能がある場合 (生体認証を使用している場合など) にのみ使用することをお勧めします。
こちらの記述を見てもパスワードマネージャを使ったTOTPは「非推奨」と明確に記述があり、中長期的に利用可能なアプリケーションとして考えるのは止めておいた方が良さそうです。