Control RoomOAuth 接続を構成する

OAuth は、ユーザーのプライバシーを保護するための、安全で効率的、かつ使い勝手の良いオープン スタンダードの認可プロトコルです。リモートまたはサードパーティの API やユーザー データなどのリソースにアクセスする際に、ユーザーがユーザー名やパスワードの資格情報を提供することなく、アプリケーションに委任したり、認可を提供したりする方法を定義しています。

注: Salesforce のマークとロゴ、Microsoft SharePoint のマークとロゴ、Apigee のマークとロゴ、ServiceNow のマークとロゴ、Genesys のマークとロゴは、それぞれ Salesforce, Inc.、Microsoft Corp.、Google LLC、ServiceNow, Inc.、Genesys の商標または登録商標であり、識別のみを目的として使用されています。

詳細については、「OAuth 2.0」を参照してください。

OAuth は、グラント タイプと呼ばれる一連の定義済みメソッドをサポートしています。各グラント タイプには、シナリオに応じて特定の要件とフローがあります。Control Room OAuth 接続は、次のグラント タイプをサポートしています。

  • 認証コード フロー
  • コード交換用証明キー (PKCE) を使用した認証コード フロー
  • クライアント資格情報フロー
注: ユーザー認証や同意が要求されないシナリオや、トークンが複数の Bot 間で共有されるシナリオ (Unattended Bot の実行など) では、Unattended オートメーションを実行するために共有トークン ([ログイン資格情報を保存] オプション) を使用していることを確認してください。詳細については、「OAuth 接続の作成」を参照してください。

OAuth アーキテクチャ

Control RoomOAuth 接続をマネージすることにより、接続やトークンのライフサイクルを Control Room で一元管理できます。また、エンタープライズ アプリケーションへのアクセスの認証と承認に必要なトークンを、オートメーションの実行時に毎回取得しなくとも、安全に保管することができます。Control Room で設定された OAuth 接続は、認証目的の対応するエンタープライズ アプリケーションに向けて送信されます。

Control Room は、以下のオプションをサポートしています。
  • オートメーションで使用されるすべての SaaS アプリケーションの接続を作成およびマネージする。
  • 共有トークンとユーザー固有トークンのトークン ライフサイクルをマネージする。
  • 業界標準の暗号化レベルを使用したトークンの安全な保管。
  • オートメーション内で OAuth 接続をマネージおよび使用するための権限とロールベースのアクセス権を付与する。

OAuth ワークフローの例: 以下の例では、OAuth 接続を構成、作成、使用する方法を説明します。

  1. エンタープライズ アプリケーションを構成する
  2. OAuth 接続の作成
  3. OAuth 接続を使用する

OAuth 接続のワークフローを示す画像

ロールおよび責任: 管理者は以下のタスクを実行します。
  1. エンタープライズ SaaS アプリケーションの接続を作成する。
  2. クライアント ID、クライアント シークレット、認証 URL などの資格情報の詳細を入力する。
  3. (任意) ログイン資格情報を保存し、接続をテストする。
  4. この接続を使用するロールを招待するか、Unattended Bot Runner のために認証する。
  5. 接続を保存および管理する。

参照: OAuth 接続の作成

プロの開発者や市民開発者は、次のタスクを実行します。
注: API Bot を適切にビルドして実行するには、開発者 (ユーザー) が接続を使用するためのログイン資格情報を管理者が保存していない限り、プロの開発者や市民開発者は、エンタープライズ アプリケーションに対して認証を行う必要があります。
  1. API タスクまたはタスク Bot を作成する。
  2. パッケージの認証アクションを追加する。
  3. 認証タイプ ([Control Room OAuth 接続])、接続名、およびエンタープライズ アプリケーション情報を選択します。

参照: OAuth 接続を使用する

OAuth トークン

OAuth は、以下のトークン・タイプを提供します。

アクセス トークン
保護されたリソースにアクセスするために使用される資格情報となる長い文字列です。
リフレッシュ トークン
既存のアクセス トークンの有効期限が切れたときに、新しいアクセス トークンを取得するために使用される、寿命の長い特別なトークンです。更新トークンは、新しいアクセス トークンが必要になるたびにユーザーから資格情報を収集する代わりに、短期間のアクセス トークンを提供します。Control Room は、リフレッシュトークンを使用して、認証サーバー (AS) から新しいアクセス トークンを取得します。

OAuth を使用する場合、トークン交換時に、アクセス トークンと更新トークンがアクセス トークン応答と呼ばれる同じ応答で返されます。

Control RoomOAuth トークン

Control Room では以下の種類のトークンが使用されます。
  • [共有しました]: 共有トークン タイプは通常、ユーザー認証や同意が不要な Unattended オートメーションを実行するために使用されます。Control Room でこのトークン タイプを構成して使用するには、以下のオプションを構成する必要があります。
    1. [マネージ] > [OAuth 接続] セクションでは、[接続をマネージ] 権限を持つユーザーが OAuth 接続を作成することができます。このようなユーザーは、共有トークンが生成されるように、接続を作成するときに [接続をテストして資格情報を保存] 画面で [ログイン資格情報を保存] オプションを選択しなければなりません。「OAuth 接続の作成」を参照してください。
    2. ユーザーが Bot でこの接続を使用する場合、ユーザーは [接続の選択] オプションで [共有] トークン タイプを選択する必要があります。「OAuth 接続を使用する」を参照してください。
  • ユーザー固有: ユーザー固有のトークン タイプは、通常、ユーザー認証や同意が必要な Attended オートメーションを実行するために使用されます。Control Room でこのトークン タイプを構成して使用するには、以下のオプションを構成する必要があります。
    1. [マネージ] > [OAuth 接続] セクションでは、[接続をマネージ] 権限を持つユーザーが OAuth 接続を作成することができます。このようなユーザーは、[接続をテストして資格情報を保存] 画面の [ログイン資格情報を保存] オプションを選択することはできません。代わりに、ユーザーは [ロールを招待] 画面で適切なロールを選択して、接続を使用するロールを招待する必要があります。「OAuth 接続の作成」を参照してください。

      ロールの一部であるユーザーは、イベント通知を登録している場合、割り当てられた接続について通知を受けます。「通知」を参照してください。

    2. Botユーザー固有の接続を使用しているユーザーは、[マイ設定] > [OAuth 接続] セクションで接続を認証する必要があります。「ユーザー固有の OAuth 接続の認証」を参照してください。
    3. ユーザーが Bot でこの接続を使用する場合、ユーザーは [接続の選択] オプションで [ユーザー固有] トークン タイプを選択する必要があります。「OAuth 接続を使用する」を参照してください。

OAuthControl Room を統合するメリット

OAuthControl Room を統合するときは、次の操作を実行します。

  • エンタープライズ アプリケーションの認証と認可を自動化するための、安全で標準的なモデルを提供します。
  • 実行時に資格情報を手動で入力したり、オートメーションで資格情報をハードコードしたりする必要がなくなります。
  • アクセス トークンを期限切れの前に取得することで、アクセス トークンが常に有効であり、実行時にオートメーションで利用できるようにします。したがって、ユーザーがアクセス トークンを取得するために認証プロセスを経由する必要がなくなります。
  • OAuth 接続を使用するオートメーションごとに OAuth パラメーターを構成する繰り返し作業を回避します。接続は、該当するエンタープライズ アプリケーション プロバイダー タイプを使用するオートメーションで参照されます。

トークン ライフサイクル管理

すべてのアクセス トークンには、認証サーバー (AS) が指定する有効期限があります。トークンは、トークン更新メカニズムを使用して更新され、トークンの有効期間が延長されます (新しいトークンが発行されます)。集中型アプローチでは、Control Room が、トークンのライフサイクルを管理し、Bot の実行前に各トークンを検証します。