Salesforce:OAuth 2.0 Client Credentials フローでの API 連携準備(Salesforce 側設定 / External Client App)
外部システム(ETLツール / バッチ / Webアプリ)から Salesforce REST API でデータ連携する際に、Salesforce 側で最低限やっておく設定を「手順書」としてまとめます。
本記事は OAuth 2.0 の Client Credentials(クライアントログイン情報)フロー を使う場合の設定方法です。
注意(重要)
- Client Credentials フローは「ユーザー操作なし」でアクセストークンを取得し、API を実行する用途向けです。
- 本フローでは 実行ユーザー(Run As) の権限がそのまま API 実行権限になります。対象オブジェクトの CRUD / 項目権限(FLS)や必要なシステム権限が不足すると、トークン取得後の API が失敗します。
1. 新規 外部クライアントアプリケーションの作成
- 設定画面で
外部クライアントアプリケーションマネージャーを開く -
新規外部クライアントアプリケーションをクリック
2. 基本情報の入力
基本情報画面で、以下を入力します。
- 外部クライアントアプリケーション名
- 取引先責任者 メール
以下は基本的にデフォルトのままで問題ありません。
3 . API 参照名
4 . 配信状態:ローカル
3. API(OAuth 設定)を有効化する
次に OAuth を有効化し、必要なスコープを設定します。
11 . OAuth を有効化 にチェック
12 . コールバック URL に http://localhost を入力
13 . 選択した OAuth 範囲 に API を使用してユーザーデータを管理 (api) を追加
注意(コールバック URL について)
Client Credentials フローでは通常リダイレクトを利用しません。
ただし画面上必須項目として表示される場合があるため、本記事では便宜的にhttp://localhostを入力しています。
4. Client Credentials(クライアントログイン情報)フローを有効化する
14 . クライアントログイン情報フローを有効化 にチェック
画面下部の 作成(保存)ボタンをクリックして作成
5. 詳細設定(ポリシー)の変更
作成されたアプリケーションを開いて設定を調整します。
21 . ポリシー タブを選択
22 . 編集 をクリック
6. OAuth ポリシー設定(Run As / IP 制限)
6.1 OAuth フローおよび外部クライアントアプリケーションの機能強化
23 . クライアントログイン情報フローを有効化 をチェック(未チェックなら有効化)
24 . 実行ユーザー名 を入力(Run As ユーザー)
注意(Run As ユーザーの権限)
ここで指定する実行ユーザーの権限が、そのまま API 実行権限になります。
連携で参照・更新するオブジェクトの CRUD / 項目権限(FLS)など、必要権限を事前に付与してください。
6.2 アプリケーション認証(IP 制限の緩和)
25 . IP 制限の緩和 を選択(検証時のみ推奨)
-
動作確認(検証):
IP 制限の緩和を選ぶと切り分けしやすい - 本番運用:可能であれば IP 制限を有効にする運用を推奨
※ IP 制限の扱いは組織のセキュリティ方針に従ってください。
最後に 保存 をクリックして反映します。
7. 接続用情報(コンシューマー鍵と秘密)を取得する
31 . 設定 タブを選択
32 . コンシューマー鍵と秘密 をクリック
- 「取引先責任者メール」に指定した宛先へ届く 認証コード を確認し、画面で入力すると
コンシューマー鍵(Consumer Key) と コンシューマーの秘密(Consumer Secret) を確認できます。
注意(メールが届かない場合)
迷惑メールフォルダやメールゲートウェイのブロック設定を確認してください。環境によっては到達まで数分かかることがあります。
8. 動作確認(概要)
取得した コンシューマー鍵 と コンシューマーの秘密 を使って、Client Credentials フローでアクセストークンを取得し、Salesforce REST API にアクセスできるかを確認します。
- まずは「アクセストークンが取得できること」
- 次に「対象 API(例:SOQL Query など)が成功すること」を確認すると切り分けしやすいです。
おわりに
本記事では External Client App を用いて、Salesforce 側で Client Credentials フローを利用するための設定手順をまとめました。
運用時は Run As ユーザーの権限設計 と IP 制限方針 を最初に固めておくと、トラブルを大幅に減らせます。
以上です。
SDIのインストール、設定、活用方法に関するその他の情報については、下記のページをご参照ください。
Simple Data Integrator (SDI) 実践入門







