Salesforce 接続アプリを、パスワード認証からクライアント認証フローへ移行する

クライアント認証情報フローは、 OAuth 2.0 の認証方式の一つであり、ユーザーのログインセッションを必要とせずにサーバー間連携を実現します。 Salesforce 接続アプリを、パスワード認証からクライアント認証フローに移行することで、セキュリティが向上し、 Salesforce の最新認証基準に準拠するようになります。

概要

パスワード認証(リソース所有者のパスワード認証情報)は、 OAuth のレガシーなフローであり、 Salesforce では、より安全な代替手段への移行を推進するため、このフローを非推奨としています。 クライアント認証情報フローでは、API アクセスにおける個々のユーザーの認証情報への依存を排除し、代わりにクライアント ID とクライアントシークレットを持つ専用の「run-as」ユーザーを使用します。 このアプローチにより、認証情報の漏洩リスクを低減し、認証情報のローテーションを簡素化できます。

移行には、 Salesforce 側(接続済みアプリの設定および OAuth ポリシー)と、[ログソース]側の QRadar (ログソースの認証方法)の両方で設定変更が必要です。

Salesforce 連携アプリの設定

クライアント認証フローを有効にするには、 Salesforce のセットアップで、接続済みアプリの「 OAuth 」設定を編集する必要があります。

  1. https://login.salesforce.com から「 Salesforce 」のユーザーインターフェースにログインしてください。
  2. 「設定 」>「 アプリマネージャー」 に移動します。
  3. 必要な接続済みアプリを見つけて、「 編集」 をクリックします。
  4. API」(「 OAuth 」設定の有効化) で、 「 OAuth 」設定を有効にするが選択されていることを確認し、次に「 クライアント認証情報フロー 」オプションを有効にしてください。
  5. セーブをクリック。

「ユーザーとして実行」の設定

「実行ユーザー」は、API呼び出しを行う際にクライアント認証フローが使用する Salesforce ユーザーアカウントを指定します。 この設定は、接続されているアプリの 「管理」 ページからのみ利用可能で、 「編集」 ページからは利用できません。

  1. Salesforce 設定で、 アプリケーション マネージャー を検索して開きます。
  2. 必要な連携アプリを探し、そのアプリの横にあるドロップダウン矢印をクリックして、「 管理」 を選択します。
  3. 「接続済みアプリ」 の詳細ページで、「 ポリシーの編集」 をクリックします。
  4. OAuth 」の「ポリシー」セクションで、「 許可されるユーザー」 の値が「 すべてのユーザーが自己承認可能 」に設定されていることを確認してください。
  5. クライアント認証情報フロー 」セクションの「 実行ユーザー」 フィールドで、「 Salesforce 」ユーザーアカウントを選択します。 一部の Salesforce のUIバージョンでは、このフィールドのラベルは「 実行ユーザー」 となっています。
  6. セーブをクリック。

QRadar ログソースの設定

Salesforce で接続済みアプリの設定を行った後、クライアント認証フローの認証方法を使用 QRadar するように、対応するログソースを更新してください。

  1. ユーザー QRadar インターフェースにログインしてください。
  2. 「管理」 >「 ログソース」 に移動します。
  3. 必要なログソースを開き、「 編集」 をクリックします。
  4. 認証方法をクライアント認証フロー」 に設定します。
  5. クライアント ID およびクライアントシークレットの値を確認してください。
  6. セーブをクリック。