オートメーションユーザーの MFA の課題の完了
Salesforce では、オートメーションユーザーからのログインを含め、すべての UI ログインに多要素認証 (MFA) が必要です。Robotic Process Automation (RPA) などの自動化の使用事例では、時間ベースのワンタイムパスワード (TOTP) を生成するサードパーティ認証アプリケーションを使用して、プログラムで MFA を完了できます。
必要なエディション
| 使用可能なインターフェース: Salesforce Classic および Lightning Experience |
| 使用可能なエディション: すべてのエディション |
サードパーティ認証アプリケーションをユーザーアカウントに接続すると、Salesforce は TOTP を生成できる秘密鍵を共有します。このキーを使用して、TOTP を使用して人の操作なしで MFA を完了するためのスクリプトを作成できます。
重要 システム管理者プロファイルまたは「すべてのデータの編集」、「すべてのデータの参照」、「アプリケーションのカスタマイズ」、または「Apex ユーザーの作成」権限を持つユーザー・アカウントでは、プログラムによる TOTP チャレンジを使用しないでください。これらのアカウントでは、2026 年 6 月以降、 フィッシングに強い MFA 方法 (組み込み Authenticator やセキュリティキーなどのパスキー) を使用する必要 があります。 フィッシングに強い MFA 要件が適用されると、これらのユーザーアカウントは認証アプリケーションを使用できなくなります。
サードパーティ認証アプリケーションを接続し、TOTP を生成できる鍵を取得する方法を次に示します。鍵の取得は、1 回のみ実行する手動プロセスです。
メモ 次の手順は、Salesforce Authenticatorではサポートされていません。
- オートメーションユーザーアカウントにログインします。
- ユーザーの個人設定に移動し、[Advanced User Details] をクリックします。
-
[App Registration: One-Time Password Authenticator (アプリケーション登録: ワンタイムパスワード認証)] 設定を見つけて、[接続] をクリックします。
-
認証アプリケーションを接続する画面で、[I Can’t Scan the QR Code] をクリックします。
キーを使用してアプリケーションを接続するページが表示されます。 -
認証アプリケーションを接続する前に、鍵をコピーして安全に保存します。この鍵を秘密として扱い、機密データの保存に関する Salesforce のベストプラクティスに従ってください。
- 画面の指示に従って、アプリケーションを Salesforce に接続します。
プログラムで TOTP チャレンジを完了するには、キーを使用して TOTP を生成するスクリプトを記述します。自動生成された TOTP を取得して UI ログインを完了する方法を含めます。npm のオープンソース otplib ライブラリを使用する JavaScript の例を次に示します。この例では、秘密鍵は AUTOMATION_TOTP_SECRET 変数に保存されます。このコードサンプルはデモ用です。必ず独自のカスタムコードを作成してテストしてください。
// This example assumes the otplib package has been installed ($ npm i otplib)
const { authenticator } = require('otplib');
// Store the Base32 secret securely (environment variable, secrets manager, etc.)
// This should be the "Key" shown in the UI after clicking "I Can't Scan the QR Code"
const TOTP_SECRET = process.env.AUTOMATION_TOTP_SECRET;
function getTotpCode() {
if (!TOTP_SECRET) {
throw new Error('Missing AUTOMATION_TOTP_SECRET');
}
// otplib's authenticator expects a Base32 secret by default;
// 30s step, 6 digits, SHA1 are the common defaults
return authenticator.generate(TOTP_SECRET);
}
// Example usage in an auth flow:
async function completeMfaChallenge({ enterCode }) {
const code = getTotpCode();
await enterCode(code); // customer supplies their UI interaction
}
module.exports = { getTotpCode, completeMfaChallenge };
この記事で問題は解決されましたか?
ご意見をお待ちしております。

