Salesforce のセキュリティと ID を理解する:シングルサインオンと OAuth の使いどころ はじめに
このブログでは、Salesforce のセキュリティと ID について、シングルサインオン(SSO)と OAuth をいつ使うかに焦点を当てて整理します。この知識は、直接ログイン、SSO、OAuth のいずれであれ、Salesforce にアクセスするさまざまなシナリオを見極めるうえで欠かせません。
標準ログイン、シングルサインオン、OAuth の使い分け
直接ログイン:
シナリオ: ユーザーがブラウザーから Salesforce にアクセスし、そのページを見ようとしています。
アクセス方法: Salesforce への直接ログイン、または第三者の ID プロバイダーによるシングルサインオン。後者なら再認証なしでスムーズにアクセスできます。

モバイルアプリでの OAuth:
シナリオ: ユーザーがモバイルアプリを使い、Salesforce 標準のページを表示するのではなく、API 経由で Salesforce のデータにアクセスします。
アクセス方法: ここでは OAuth を使います。特に、ブラウザー技術を使うスマートフォンやタブレットなど、モバイル端末経由でやり取りする場合です。この方法で、モバイルアプリは Salesforce の API と安全にやり取りできます。

第三者のサーバーでの OAuth:
シナリオ: ユーザーがブラウザーから第三者のサーバーとやり取りし、そのサーバーがユーザーの代わりに Salesforce のデータにアクセスする必要があります。メールプラグインや、Salesforce と統合されたほかのシステムなどが例です。
アクセス方法: 安全なアクセスのために、「Web Server with PKCE」(Proof Key for Code Exchange)という特定のプロトコルを伴う OAuth を使います。
シナリオ別の OAuth フロー
クライアントログイン情報フロー: 指定されたインテグレーションユーザーのアカウントで Salesforce にアクセスするクライアントプロセス(一括読み込みやエクスポートを行う外部サーバーなど)向けです。
JWT、SAML ベアラーアサーション、SAML アサーションのフロー: クライアントプロセスが、ユーザー本人を直接関与させずに、特定のユーザーの代わりに動く必要があるシナリオ向けです。ここではプロセスが指定ユーザーになりすまし、そのユーザーのファイルのセキュリティコンテキストを保ちます。
デバイスフロー: 承認に人の操作が必要なデバイスが開始するフローです。たとえば、スマートテレビのアプリがアクセス承認のためにユーザーにコードの入力を求めます。
資産フロー: データの読み書きのために Salesforce と接続する必要がある IoT(モノのインターネット)デバイスに役立ちます。
おさらいとまとめ
要するに、アクセス方法は主にシナリオで決まります。
ブラウザーから Salesforce に直接アクセスするなら、直接ログインか、ID サービスがあればシングルサインオンを使います。
モバイル端末、第三者のサーバー、自動化されたプロセスを通じた間接的なアクセスなら、OAuth が適した方法です。その際、OAuth を人のユーザーの代わりに動かすのか、インテグレーションユーザーのアカウントで動かすのかを決める必要があります。
今後の記事では、それぞれのシナリオとユースケースをさらに掘り下げ、全体像をしっかり理解できるようにします。
お楽しみに
自信を持って Salesforce Identity の旅に出かけましょう! さらなる知見やヒントは、この www.SteveTechArc.com と YouTube チャンネル @SteveTechArc (opens in a new tab) で。チャンネル登録して、Salesforce Identity の理解を深めてください。
アーキテクト仲間やアーキテクトを目指す人たちと統合の知識を共有して、世界を変える手助けを!
STA 3.9