機械翻訳について

サービス間でのOAuthユーザー・アイデンティティの伝播

Oracle Integrationは、REST API操作の起動時にOAuthアイデンティティ伝播をサポートします。 OAuthアイデンティティ伝播を使用すると、サービス間で同じユーザー・アイデンティティおよびアクセス資格証明を安全に転送できます。 関係するサービスでは、Oracle Integration内の同じアイデンティティ・ドメイン、Oracle Integration外の別のアイデンティティ・ドメイン、またはサード・パーティのアイデンティティ・プロバイダを使用できます。

Oracle Integrationでのアイデンティティ伝播の動作

ユーザーのアイデンティティを複数のサービス間で伝播する一般的なビジネス要件です。 たとえば:
  • VBCSアプリケーションにログインし、そのテナンシでアイデンティティ・ドメインを使用しているOracle Integrationをコールします。
  • 次に、Oracle Integrationは、別のテナンシで個別のアイデンティティ・ドメインを使用しているOracle Fusion Applicationsエンドポイントを起動します。 Oracle Fusion Applicationsエンドポイントは、ビジネス・ロジックを推進するためにコールを行うエンド・ユーザーを認識している必要があります。
  • Oracle Integrationは、Oracleの外部にあるサード・パーティのアイデンティティ・プロバイダを使用して、Salesforceエンドポイントも起動します。 Salesforceエンドポイントは、ビジネス・ロジックを推進するためにコールを行うエンド・ユーザーも認識している必要があります。
これらのタイプのシナリオでは、アイデンティティ伝播は次のように機能します:
  • ユーザー認証 - ユーザーは、資格証明を使用してアイデンティティ・プロバイダで認証します。
  • トークン発行 - 認証に成功すると、アイデンティティ・プロバイダは、ユーザーのアイデンティティ情報および認可スコープを含むJWTアクセス・トークンを発行します。
  • トークンの伝播 - ユーザーが別のサービスにアクセスすると、JWTアクセス・トークンがリクエストとともに伝播されます。
  • トークン検証 - リクエストを受信する各サービスは、その整合性、有効期限および発行者を検証することで、JWTアクセス・トークンを検証します。
  • アイデンティティの取得 - トークンの検証に成功すると、サービスはJWTアクセス・トークンの要求からユーザーのアイデンティティを抽出します。
  • アクセス・コントロール - アイデンティティに基づいて、適切なアクセス制御が適用され、リソースへのユーザーのアクセスが決定されます。

Oracle Integrationは、「JWTユーザー・アサーションを使用したOAuth」セキュリティ・ポリシーを使用したOAuthアイデンティティ伝播のサポートを提供します。 このセキュリティ・ポリシーは、次のアダプタを呼出し接続として使用してREST API操作を呼び出す必要がある場合に使用できます。

  • RESTアダプタ
  • Oracle ERP Cloudアダプタ
  • Oracle HCM Cloudアダプタ
  • Oracle CX SalesおよびB2B Serviceアダプタ

これらのアダプタの「接続」ページまたはアダプタ・エンドポイント構成ウィザードでは、アイデンティティ伝播の構成タスクは必要ありません。 かわりに、「セキュリティ・プロパティ」の下の「件名」要素を使用してマッパーに伝播するようにユーザー・アイデンティティを構成します。

ノート:

  • リリース25.04より前に作成された呼出し接続でアイデンティティ伝播を使用するには、アダプタ・エンドポイント構成ウィザードでアダプタを開き、各ページをクリックして「保存」をクリックします。 これらのアクションによって、必要な「件名」ソース要素およびターゲット要素がマッパーに作成されます。
  • アイデンティティ伝播はオプションの機能です。 「JWTユーザー・アサーションを使用したOAuth」セキュリティ・ポリシーでアイデンティティ伝播を使用しない場合は、「件名」要素を空のままにします。

ユーザー・アイデンティティの伝播

この項では、ユーザー・アイデンティティの伝播の概要について説明します。

Oracle IntegrationおよびOracle Fusion Applicationsは、異なるアイデンティティ・ドメインにあります。 異なるアイデンティティ・ドメイン間のアイデンティティ伝播を成功させるには、次の要件を満たす必要があります:
  • 伝播するユーザー・アイデンティティは、Oracle Integrationのアイデンティティ・ドメイン、Oracle Fusion Applicationsのアイデンティティ・ドメインおよびOracle Fusion Applications Oracle Identity Management (IDM)の両方に存在する必要があります。 適切な関連ロールが必要です。
  • ユーザーには、各アイデンティティ・ドメインで統合を実行するための十分な権限が必要です。
  1. トリガー接続(たとえば、「RESTアダプタ」)を作成します。
  2. 使用しているOracle Fusion Applicationsアダプタを使用して、新しい呼出し接続を作成します。
  3. 「JWTユーザー・アサーションを使用したOAuth」セキュリティ・ポリシーを使用するように起動接続を構成し、必要なヘッダー・ファイルとペイロード・ファイルをアップロードし、「証明書」ページでアップロードした秘密キー別名を指定し、「オプションのセキュリティ」でスコープを指定します。


    「セキュリティ」セクションには、セキュリティ・ポリシー、アクセス・トークンURI、json形式のJWTヘッダー、json形式のJWTペイロードおよびJWT秘密キー別名のフィールドが含まれます。 この下には、展開可能な「オプション」セキュリティ・セクションがあります。

  4. アプリケーション統合を作成します。
  5. アダプタ・エンドポイント構成ウィザードを使用して、トリガーおよび呼出しの接続を統合キャンバスにドラッグして構成します。
  6. マッパーを開きます。

  7. マッパーの2つのオプションのいずれかを使用して、統合を実行する権限を持つユーザーを設定します:
    • 「ソース」および「ターゲット」領域の「セキュリティ・プロパティ」を展開し、ソース「件名」要素内のユーザーをターゲットの「件名」要素にマップします。


       

    • 「ターゲット」領域で「セキュリティ・プロパティ」を展開し、式ビルダーで「件名」要素のユーザーを手動で設定します。 この例では、このオプションが示されています。 ユーザー名は、式ビルダーで"boss.user"として指定します。

      ノート:

      Postmanなどのツールで統合を実行する場合は、ユーザー名/パスワードまたはクライアント資格証明を使用します。 ユーザー名はトリガー側のサブジェクト・ノードに移入され、JWTアクセス・トークンの取得に使用されます。


      ソース、マッピング・キャンバスおよびターゲット・セクションが表示されます。 リクエスト・ラッパーが勘定科目にマップされています。 ターゲットのSubject要素は、boss.userのリテラル値で定義されます。

  8. 統合の完全な設計。
  9. 統合をアクティブ化し、マッパーで指定されたboss.userユーザーとして実行します。

    アクティビティ・ストリームは、実行が成功したことを示します。

    統合の実行が失敗した場合は、次のエラーが発生した可能性があります。
    エラー エラー事由
    The 401 error message is usually returned by services that require user 
    credentials. So if you have got this error then it probably means that you entered an 
    invalid username or password.

    ユーザーがOracle Integrationのアイデンティティ・ドメインとOracle Fusion Applicationsのアイデンティティ・ドメインの両方に存在し、Oracle Fusion Applicationsユーザーがトークンを正しく受信できますが、そのユーザーには統合を実行するための十分な権限がありません。

    Request to access token failed. Cause: status = 400 Error: 
    {\"error\":\"invalid_grant\",\"error_description\":\"Invalid user assertion: 
    The user name that you entered is invalid. Contact your system administrator.\"

    ユーザーがOracle Integrationのアイデンティティ・ドメインに存在し、Oracle Fusion Applicationsのアイデンティティ・ドメインに存在しない場合、トークンを生成できません。

詳細は、ビデオをご覧ください: