Administrator 練習問題 Q50
管理者は、「ユーザーインターフェースログインの二要素認証」と「API ログインの二要素認証」の権限を含む権限セットグループを、ユーザーのグループに割り当てました。ユーザーの 1 人が Data Loader にログインしようとすると、どの2つのプロンプトが表示されますか?2つの答えを選択してください
左の○で回答を選択。本文を押すと横線で除外でき、もう一度押すと戻せます。
1つ選択してください(0/1)
正答:A. ユーザーは認証アプリ(Authenticator アプリ)をSalesforceアカウントに接続する必要があります。
解説
前提知識
多要素認証(MFA/2要素認証)とは
ログイン時に、パスワードに加えてもう一つの確認手段を要求する仕組みです。パスワードが盗まれても、手元のスマートフォンがなければログインできない状態を作ります。
Salesforceでいう「もう一つの確認手段」は、主に次のものです。
-
Salesforce Authenticator アプリ(スマホに通知が届き、[承認]を押す)
-
サードパーティの認証アプリ(Google Authenticator など。30秒ごとに変わる6桁のコードを表示する)
-
セキュリティキー(YubiKeyなど物理的な鍵)
権限セットグループとは
権限セット(プロファイルの上に足す追加権限のかたまり)を、さらに複数まとめて一括で割り当てるための箱です。「経理担当に必要な権限セット5つ」をグループにしておけば、新任者にはグループ1つを割り当てるだけで済みます。
中身が権限セットである以上、グループで割り当てても各権限の効き方は変わりません。この設問で権限セットグループが出てくるのは、ただの配布手段の話です。
2つの「2要素認証」権限の違い
| 権限 | 効く場面 |
|---|---|
| ユーザーインターフェースログインの多要素認証 | ブラウザでSalesforceに入るとき |
| APIログインの多要素認証 | データローダーなど、画面を通さずSalesforceに接続するとき |
データローダーとは
CSVファイルを使ってレコードを一括で登録・更新・削除するツールです。ブラウザ画面ではなくAPI経由でSalesforceに接続します。だから「APIログインの多要素認証」が効きます。
セキュリティトークンとは
API接続のときに、パスワードの末尾に連結して使う24文字の文字列です。信頼できないネットワークからのAPI接続を防ぐための仕組みで、メールで受け取ります。
ここが重要です。「APIログインの多要素認証」を有効にすると、API接続時にはセキュリティトークンの代わりに認証アプリの確認コードを使います。
設問の状況を分解する
起きていることを時系列で並べます。
-
管理者が、UIログインとAPIログインの両方の多要素認証権限を含む権限セットグループを割り当てた
-
ユーザーがデータローダーを起動し、ログインしようとした
-
このユーザーはまだ認証アプリを登録していない
ここで初学者が誤解しがちなのは、「APIの話なのだから、スマホは関係ないだろう」という点です。実際は逆です。API経由のログインでも、本人確認そのものは認証アプリで行います。
さらにSalesforce公式は、「APIログインの多要素認証権限が効き始める前に、ユーザーはまずUI経由でSalesforceにアクセスし、Salesforce Authenticator またはサードパーティの認証アプリで多要素認証を完了しておく必要がある」と明記しています。
したがって、認証アプリをまだ登録していないユーザーは、APIログインを使う前に次の初期設定を完了する必要があります。
-
認証アプリを端末にインストールする
-
そのアプリを自分のSalesforceアカウントに接続(登録)する
Salesforce公式で確認できるのは、この事前登録が必須であることです。Data Loaderの画面に表示されるプロンプトの厳密な文言までは公式ドキュメントに記載されていませんが、選択肢A・Cはこの必須手順と一致します。
選択肢の検討
A. ユーザーは認証アプリをSalesforceアカウントに接続する必要があります。 → ⭕ 正解
アプリを入れただけでは使えません。アプリとSalesforceアカウントを結び付ける登録作業(Salesforce Authenticator なら2語のフレーズを入力、TOTPアプリならQRコードを読み取る)が必要です。この接続を済ませて初めて、多要素認証が成立します。
B. ユーザーは信頼できるネットワークからセキュリティトークンを取得する必要があります。 → ✕
セキュリティトークンは、多要素認証が有効になっていないAPI接続で使うものです。APIログインの多要素認証を有効にした場合、ユーザーはトークンの代わりに認証アプリの確認コードを使います。
この選択肢が正解になるのは、APIログインの多要素認証権限を付けていない組織で、信頼済みIP範囲外からデータローダーを使う場合です。
C. ユーザーはモバイルデバイスに認証アプリをダウンロードしてインストールする必要があります。 → ⭕ 正解
認証手段をまだ持っていないユーザーは、まず認証アプリを用意しなければなりません。公式はAPIログイン用MFAを使う前に、UIログインで認証アプリを登録してMFAを完了することを要求しています。なお、Data Loaderに表示される案内文そのものは公式で確認できていませんが、この選択肢が示す作業は必須です。
D. ユーザーは、メールまたはSMSのどちらか優先度の高い方から確認コードを入力する必要があります。 → ✕
Salesforceの多要素認証では、メールやSMSで送る確認コードは認証手段として認められていません。これらは通信経路の途中で盗まれうるため、Salesforceは検証済みの手段(認証アプリ、セキュリティキー、組み込みオーセンティケータ)だけを認めています。
なお、見慣れない端末からログインしたときにメールで届く「本人確認コード(Identity Verification)」は別の仕組みです。多要素認証と混同しないでください。
管理者としての対処手順
-
[設定]→[権限セット]または[権限セットグループ]で、対象の権限を確認する。UI用は「ユーザーインターフェースログインの多要素認証」、API用は「APIログインの多要素認証」。
-
ユーザーに、先にブラウザからログインしてもらい、認証アプリの登録を完了させる。ここを飛ばすとデータローダーで詰まる。
-
[設定]→[ユーザー]→対象ユーザー→[多要素認証の登録解除]で、登録状況を確認・リセットできる。
-
端末を紛失した場合に備え、管理者が一時的な確認コードを発行できることを周知しておく。
-
データローダーは可能な限りOAuth([OAuth でログイン]ボタン)で接続させる。ブラウザ経由の認証になるため、多要素認証との相性がよい。
あわせて覚えておきたいポイント
-
API用の権限は、UI用の多要素認証を済ませていることが前提。この順序を知らないと、権限を付けた途端に一括処理が止まります。
-
セキュリティトークンと多要素認証は、目的が似ていても別物です。トークンは「接続元の制限」、多要素認証は「本人の確認」です。
-
ユーザー名・パスワード・セキュリティトークンで動く無人連携ユーザーにAPIログインの多要素認証を付けると、認証方式が変わって処理が停止する可能性があります。無人連携はOAuthなど、対話操作を必要としない認証方式を別途設計します。
出典(Salesforce公式)
-
Set MFA Login Requirements for API Access — 「APIログインの多要素認証権限が効力を持つ前に、ユーザーはUI経由でSalesforceにアクセスし、Salesforce Authenticator またはサードパーティの認証アプリで多要素認証を完了しなければならない」(選択肢A・Cの根拠)
-
Multi-Factor Authentication Glossary — 認証アプリ、確認コード、セキュリティキーなど、Salesforceが認める検証方法の定義
-
User Fields — APIログインの多要素認証権限を持ち、認証アプリを接続したユーザーは、標準セキュリティトークンではなくアプリの現在の確認コードを入力する