Loading
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む
ユーザーの識別およびアクセス権の管理
Oauth カスタム範囲

Oauth カスタム範囲

外部クライアントアプリケーションは、OAuth 認証プロトコルを使用して保護されたリソースにアクセスできます。プロトコルに含まれる OAuth デフォルト範囲によって、アプリケーションが Salesforce 内の保護されたリソースにアクセスする権限が微調整されます。ただし、保護されたリソースを外部エンティティがホストしている場合、これらのデフォルト範囲では不十分です。このシナリオでは、Salesforce は OAuth 認証プロバイダーの役割を果たしますが、保護するリソースに関する情報をほとんど持っていません。外部エンティティによってホストされる保護されたリソースにアクセスするための外部クライアントアプリケーションの権限を定義するには、OAuth カスタム範囲を作成します。カスタム範囲は、外部クライアントアプリケーションがどの情報にアクセスできるかを外部エンティティに指示します。

必要なエディション

使用可能なインターフェース: Salesforce Classic および Lightning Experience の両方

外部クライアントアプリケーションを作成できるエディション: Group Edition、Essentials Edition、Professional Edition、Enterprise Edition、Performance Edition、Unlimited Edition、および Developer Edition

外部クライアントアプリケーションをインストールできるエディション: すべてのエディション

通常、外部クライアント アプリケーションに割り当てられたカスタム範囲を受信するには、認可要求に scope パラメータを含める必要があります。OAuth 2.0 JWT ベアラーフローでは、事前承認された外部クライアントアプリケーションの場合、カスタム範囲がアクセストークンと共に自動的に返されます。詳細は、「サーバー間インテグレーション用の OAuth 2.0 JWT ベアラーフロー」を参照してください。

メモ
メモ Sandbox を更新する場合、OAuth カスタム範囲は含まれません。Sandbox を更新したら、カスタム範囲を外部クライアントアプリケーションに再割り当てします。
例
注文システムの API から顧客注文の状況を取得する顧客注文状況 Web アプリケーションを構築するとします。注文システム API からは請求情報などの顧客に関するあらゆる情報を取得できる可能性がありますが、このカスタムアプリケーションがアクセスする必要があるのは、注文状況情報のみです。注文システム API の他のデータを保護するには、Salesforce 組織のシステム管理者と API プロバイダーのシステム管理者は以下の手順を実行します。

Salesforce 組織のシステム管理者の手順

  1. order_status OAuth カスタム範囲を作成し、この範囲によりアクセスを許可される保護されたデータ (顧客注文状況) について説明します。
  2. order_status OAuth カスタム範囲を [Customer Order Status (顧客注文状況)] Web アプリケーションに関連付けられた外部クライアントアプリケーションに割り当てます。

API プロバイダーのシステム管理者の手順

  1. 注文システムの API で顧客の注文状況にアクセスするための order_status 範囲を要求するポリシーを、API 管理ソリューションで適用します。

カスタム範囲フロー

API 管理ソリューションと Salesforce 組織で OAuth カスタム範囲を設定したら、顧客注文状況 Web アプリケーションは顧客の注文状況に正常にアクセスできます。これがどのように実行されるかを以下に示します。

  1. 顧客注文状況 Web アプリケーションは、要求を注文システム API エンドポイントに POST します。この要求には、クライアント ID、クライアントの秘密、範囲パラメーターが含まれています。
  2. 注文システム API の前にある API ゲートウェイは、コールを捕捉し、コールに関連付けられた OAuth 付与種別に基づいてアクセストークンを Salesforce に照会します。
  3. Salesforce は、Web アプリケーションのクライアント ID とクライアントの秘密が有効であることを検証し、アクセストークンを API ゲートウェイのエンドポイントに送信します。order_status OAuth カスタム範囲はアクセストークンと共に含まれます。
  4. API ゲートウェイはアクセストークンを受け取って、以下の点を検証します。
    • アクセストークンが有効である。
    • アクセストークンに order_status OAuth カスタム範囲が関連付けられている。
  5. 検証が正常に終了すると、この API ゲートウェイを介して、顧客注文状況 Web アプリケーションは顧客の注文状況情報にアクセスできます。
  • Oauth カスタム範囲の作成
    外部クライアントアプリケーションが外部エンティティからアクセスできるデータに関する権限を定義するには、Salesforce で OAuth カスタム範囲を作成します。カスタム範囲は、外部クライアントアプリケーションがどの情報にアクセスできるかを外部エンティティに指示します。
  • 外部クライアントアプリケーションへの OAuth カスタム範囲の割り当て
    Salesforce 組織で OAuth カスタム範囲を作成したら、外部クライアントアプリケーションに割り当ててアプリケーションのデータアクセス権限を設定できます。たとえば、order_status カスタム範囲の外部クライアントアプリケーションに、外部エンティティから注文状況データにアクセスするための適切な権限セットがあるとします。
  • Oauth カスタム範囲の編集
    カスタム範囲の名前と説明を変更し、OpenID Connect 検出エンドポイントにカスタム範囲を含めるために選択した値を更新できます。
 
読み込み中
Salesforce Help | Article