機械翻訳について

OAuth 2.0権限付与の使用

Oracle Integration「Oracle Utilitiesアダプタ」でOAuth 2.0権限付与タイプを使用するには、次の前提条件を実行する必要があります。

ノート:

OAuth 2.0権限を実行する前に、次の制限を理解してください。
  • 外部クライアント・アプリケーションで、システムが作成したOracle Identity Cloud Serviceアプリケーションを使用してOracle Integrationエンドポイントに対する認証を行わないでください。
  • クライアント・アプリケーションのスコープは、そのサービス・インスタンスにデプロイされたすべての統合にアクセスすることです。 統合のサブセットへのアクセスを制限するためのサポートはありません。
  • OAuthを使用してOracle Integrationフローをトリガーするには、「Oracle Utilitiesアダプタ」トリガー接続でもOAuthクライアント資格証明セキュリティ・ポリシーを使用する必要があります。
  • OUAFアプリケーションでは、JWTクライアント・アサーション・セキュリティ・ポリシーを使用するOAuthクライアント資格証明、またはメッセージ・センダーが統合をトリガーするJWTユーザー・アサーション・セキュリティ・ポリシーを使用するOAuthはサポートされていません。 ただし、メッセージ・センダーは基本認証およびOAuthクライアント資格証明セキュリティ・ポリシーを使用して、統合のトリガー終了時にJWTベースの接続を開始できます。

すべての権限付与の前提条件

使用する権限タイプごとに次のタスクを実行します。

  • Oracle Identity Cloud Service URLを取得します。
    1. Oracle UtilitiesアプリケーションのURLに移動します。 次のようなURLにリダイレクトされます:
      https://idcs-c2881.identity.myhost.example.com/ui/v1/signin
    2. /signin/adminconsoleに置き換えて、Oracle Identity Cloud Serviceにアクセスします。
      たとえば:
      https://idcs-c2881.identity.myhost.example.com/ui/v1/adminconsole

      Oracle Identity Cloud Serviceコンソールに再度サインインするように求められます。

    3. アイデンティティ・ドメイン管理者資格証明を使用してOracle Identity Cloud Serviceコンソールにログインします。
  • Oracle Identity Cloud ServiceのOracle Utilitiesアプリケーションを確認します。
    Oracle Utilitiesアプリケーション・インスタンスがプロビジョニングされると、そのアプリケーション・インスタンスに対してOracle Identity Cloud Serviceアプリケーションが作成されます。 アプリケーション名は、次のように構成されます:
    product-domaintenantsuffixsequential_number
    たとえば:
    CCS-PRODC12345CMETERDATA0
    CCS-PRODC12345FIELDSERVICE1
    1. 新しいOAuthクライアント・アプリケーションの作成をリクエストするには、クラウド操作サービス・リクエストを作成し、次の情報を指定します:
      • OAuthクライアント・アプリケーションが必要な環境 (たとえば、PROD、TEST01、DEV)。
      • クライアント名サフィクス: 統合の機能目的を示す可能性がある個別の名前を使用してください。
      • 統合ポイントのわかりやすい説明を指定します。
      • クライアント・タイプ(信頼または機密)およびクライアント証明書: 統合要件が信頼できるクライアントを要求する場合があり、外部アプリケーションが独自の証明書を提供する場合もあります。 それ以外の場合、Oracle Identity Cloud Serviceは内部ネイティブ証明書を使用して信頼できるクライアントを作成します。
      • 目的の統合のためのOAuthフロー: クライアント資格証明は現在サポートされています。
      • スコープ: REST APIまたはSOAP API、あるいはREST APIとSOAP APIの両方へのアクセス権を持つOAuthクライアント・アプリケーションを定義できます。
    Oracle Utilitiesクラウド操作チームは、サービス・リクエストで指定された入力を使用してOAuthクライアントを作成します。
    1. Oracle Identity Cloud Serviceにログインしてアプリケーションを取得します。
    2. Oracle Cloud Servicesに移動し、前述の名前を持つアプリケーションを検索してアプリケーションにアクセスします。

リソース所有者のパスワード資格証明の前提条件

次のタスクを実行します。

  • Oracle Integrationアプリケーションおよびユーザー・ロールを検証します:
    1. 「構成」、Oracle Identity Cloud Serviceアプリケーションの「クライアント構成」の順に移動します。
    2. 「許可された許可タイプ」「リソース所有者」および「リフレッシュ・トークン」が有効になっていることを確認します。
    3. 「構成」、Oracle Identity Cloud Serviceアプリケーションの「リソース」の順に移動します。
    4. 「リフレッシュ・トークンを許可するかどうか」オプションが有効になっていることを確認します。


      詳細、構成(選択されている)、Web層ポリシー、アプリケーション・ロール、グループおよびユーザー・タブが表示されます。 一般情報、クライアント情報およびリソース・セクションを次に示します。 リソースが展開され、OAuth保護サブセクションに必要なConfigure application APIが表示されます。 このサブセクションには、アクセス・トークンの有効期限、トークンのリフレッシュの許可、トークンの有効期限のリフレッシュ、プライマリ・オーディエンスおよびセカンダリ・オーディエンスの各フィールドが含まれています。

      REST APIまたはSOAP API、あるいはREST APIとSOAP APIの両方にアクセスできるスコープが提供されます。


      「スコープ」セクションには、スコープ、保護、説明および必須の列を含む表が表示されます。

    5. 適切なユーザーを様々なOracle Applicationロールに追加します。 標準/本番構成の場合は、ServiceUserロールを使用します。 (「Oracle Integration 3のプロビジョニングおよび管理」「Oracle Integration Serviceロール」を参照してください。)
    6. ユーザーを割り当てるには、アプリケーションの「アプリケーション・ロール」セクションに移動し、AppWebServicesにユーザーを割り当てます。


      詳細、構成、Web層ポリシー、アプリケーション・ロール(選択済)、グループおよびユーザー・タブが表示されます。 次の表に、ロール名、そのロールに割り当てられたユーザー数、およびそのロールに割り当てられたグループ数を示します。 右端のドロップダウン・リストを選択すると、ユーザーの割当、ユーザーの取消、グループの割当およびグループの取消のオプションが表示されます。

  • クライアント・アプリケーションを構成します:
    1. Oracle Identity Cloud Serviceコンソールで、「アプリケーション」セクションに移動し、OAuthユーティリティ接続を使用してOracle Utilitiesアプリケーションを起動できる新しいアプリケーションを作成します。 このアプリケーションを機密アプリケーションとして追加します。
    2. 「追加」をクリックします。
    3. 「機密アプリケーション」を選択します。


      oauth_grant6.pngの説明は以下のとおりです
      図oauth_grant6.pngの説明

    4. 「詳細」ページに入力し、「クライアント」ページに移動します。


      oauth_grant7.pngの説明は以下のとおりです
      図oauth_grant7.pngの説明

    5. 「クライアント」ページで、「このアプリケーションをクライアントとして構成」を選択し、次を追加します。
      1. 「リソース所有者」および「リフレッシュ・トークン」 for 「許可された許可タイプ」を選択します。
      2. 「承認済リソース」セクションで「特定」を選択します。


        ropc2.pngの説明は以下のとおりです
        図ropc2.pngの説明

      3. 「リソース」セクションの下の「スコープの追加」をクリックします。


        「トークン発行ポリシー」セクション。認可されたリソース・サブ・セクションには、すべて、タグ付けおよび特定(選択されています)の値があります。 この下には、スコープの追加ボタンがあるリソース・セクションがあります。

      4. Oracle Utilitiesアプリケーションを検索します。


        「選択範囲」ダイアログには、選択可能なスコープのチェックリストが表示されます。 戻るボタンも表示されます。

      5. REST (/rest/*)またはSOAP(/soap/*) API、あるいはREST APIとSOAP APIの両方(/*)へのアクセスを含むスコープを追加し、>をクリックします。


        「リソース」ページにスコープの追加リンクが表示されます。 リソース、保護およびスコープのエントリを含む表を次に示します。

      6. 変更を保存します。
    6. 変更を加えずに残りのウィザード・ページをクリックして、アプリケーションを保存します。
    7. 使用するアプリケーションをアクティブ化します。
  • クライアント・アプリケーションを検証します:
    1. アクセス・クライアントをフェッチするには、ペイロードでユーザー名とパスワードを使用してOracle Identity Cloud Serviceにリクエストします。

      ノート:

      レスポンスの一部としてリクエスト・リフレッシュ・トークンをフェッチするには、スコープにoffline_accessを追加します。
      ##Syntax
      curl -i -H 'Authorization: Basic <base64Encoded_clientid:secret>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<IDCS-Service-Instance>.identity.oraclecloud.com/oauth2/v1/token -d 'grant_type=password&username=<user-name>&password=<password>&scope=<App_Scope>%20offline_access'
       
      ###where
      #### <base64-clientid-secret> - Base 64 encode clientId:ClientSecret
      #### <username> - user for token needs to be issued (must be in serviceuser role).
      #### <password> - password for above user
      #### <app_scope> - Scope added while creating application in client configuration section
      ##Example
      curl -i -H 'Authorization: Basic OGQyM...ZDA0Mjcz' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<idcs_host>/oauth2/v1/token -d 'grant_type=password&username=sampleUser&password=SamplePassword&scope=https://<Resource_APP_Audience>/rest/*%20offline_access'
      
    2. レスポンスからaccess_tokenおよびrefresh_tokenを取得します。
      {
          "access_token": "eyJ4NXQjG...dfsdfsFgets2ed",
          "token_type": "Bearer",
          "expires_in": 3600,
          "refresh_token": "AQAgY2MzNjVlOTVhOTRh...vM5S0MkrFSpzc="
      }
      
    3. 認可ヘッダーでaccess_tokenを使用して、Oracle Utilitiesアプリケーション・エンドポイントを起動します。
      curl --location --request GET 'https://<Utilities_Application_API_ENDPOINT>' \
      --header 'Authorization: Bearer eyJ4NXQjG...dfsdfsFgets2ed'
    4. アクセス・トークンを更新するには、リフレッシュ・トークンを使用してOracle Identity Cloud Serviceにリクエストします。
    5. レスポンスからaccess_tokenおよびrefresh_tokenを取得して、さらに使用します。
      curl -i -H 'Authorization: Basic <base64-clientid-secret>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<IDCS-Service-Instance>.identity.oraclecloud.com/oauth2/v1/token  -d 'grant_type=refresh_token&refresh_token=<refresh_token>'
       
      ##Example
      curl -i -H 'Authorization: Basic OGQyM...ZDA0Mjcz' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<IDCS-Service-Instance>.identity.oraclecloud.com/oauth2/v1/token  -d 'grant_type=refresh_token&refresh_token=AQAgY2MzNjVlOTVhOTRh...vM5S0MkrFSpzc='
      

OAuthクライアント資格証明の前提条件

「Oracle Utilitiesアダプタ」を使用した統合におけるOAuthクライアント資格証明インバウンド・リクエストおよびアウトバウンド・リクエストのOracle Identity Cloud Service (IDCS)構成要件を次に説明します。

  • Oracle Integrationへのインバウンド:

    OAuthクライアント資格証明をOracle Integrationへのインバウンド方向で有効にするIDCS構成については、「Oracle Integration 3でのRESTアダプタの使用」「クライアント資格証明の前提条件」を参照してください。

  • Oracle IntegrationからOracle Utilitiesアプリケーションへのアウトバウンド:

    次のタスクを実行します。

    • Oracle Utilitiesアプリケーションおよびユーザー・ロールを検証します:
      1. 「構成」、Oracle Identity Cloud Serviceアプリケーションの「クライアント構成」の順に移動します。
      2. 「許可された許可タイプ」「クライアント資格証明」が有効になっていることを確認します。
      3. 「構成」、Oracle Identity Cloud Serviceアプリケーションの「リソース」の順に移動します。 REST APIまたはSOAP API、あるいはREST APIとSOAP APIの両方にアクセスできるスコープが提供されます。


        「スコープ」ページには、スコープ、保護、説明および同意が必要の列を含む表が表示されます。

      4. 適切なユーザーを様々なOracle Utilitiesアプリケーション・ロールに追加します。 標準/本番構成の場合は、ServiceUserロールを使用します。 (「Oracle Integration 3のプロビジョニングおよび管理」「Oracle Integration Serviceロール」を参照してください。)
      5. ユーザーを割り当てるには、AppWebServicesの下のアプリケーションの「アプリケーション・ロール」セクションに移動します。


        詳細、構成、Web層ポリシー、アプリケーション・ロール(選択済)、グループおよびユーザー・タブが表示されます。 次の表に、ロール名、そのロールに割り当てられたユーザー数、およびそのロールに割り当てられたグループ数を示します。 右端のドロップダウン・リストを選択すると、ユーザーの割当、ユーザーの取消、グループの割当およびグループの取消のオプションが表示されます。

    • クライアント・アプリケーションを構成します:
      1. Oracle Identity Cloud Serviceコンソールで、「アプリケーション」セクションに移動し、OAuthユーティリティ接続を使用してOracle UtilitiesアプリケーションAPIを起動できる新しいアプリケーションを作成します。 アプリケーションは機密アプリケーションとして追加されます。
      2. 「詳細」セクションに入力し、「クライアント」セクションに移動します。
      3. 「クライアント」ページで、「このアプリケーションをクライアントとして構成」を選択し、次のように入力します:
        1. 「許可された許可タイプ」リストから「クライアント資格証明」を選択します。
        2. 「トークン発行ポリシー」セクションの「承認済リソース」領域で「特定」を選択します。
        3. 「リソース」セクションの下の「スコープの追加」をクリックします。
        4. Oracle Utilitiesアプリケーションを検索します。


          「選択範囲」ダイアログには、選択可能なスコープのチェックリストが表示されます。 戻るボタンも表示されます。

        5. REST APIまたはSOAP API、あるいはREST APIとSOAP APIの両方へのアクセスを含むスコープを追加し、>をクリックします。


          「リソース」ページにスコープの追加リンクが表示されます。 リソース、保護およびスコープのエントリを含む表を次に示します。

        6. 変更を保存します。
      4. 変更を加えずに残りのウィザード・ページをクリックして、アプリケーションを保存します。
      5. 使用するアプリケーションをアクティブ化します。
      次のステップは、適切なOracle Utilities Cloud Service (Oracle Utilities Meter Solution Cloud Serviceなど)にアプリケーション・ユーザーを作成することです。 適切なOracle Utilities Cloud Serviceアプリケーションにアクセスし、ユーザー・ポータルにナビゲートします。
      1. 前に作成したOAuthクライアントに対応する新しいユーザーを作成します:
        1. Add Userを検索します。
        2. ユーザーのログインIDとしてOAuthクライアントIDを入力します。
        3. USERLAST NAMEFIRST NAMEなど、必須フィールドに任意の値を指定します。
        4. USER ENBLE「有効化」として選択します。
        5. 適切な機能(たとえば、将来の有効期限を提供するALL_SERVICESユーザー・グループ)へのアクセス権を統合に提供する「ユーザー・グループ」を割り当てます。
        6. 「作業予定ロール」 (たとえば、F1_DFLTシステムのデフォルト・ロール)および適切な「アクセス・セキュリティ」 (たとえば、「システム・デフォルト」)を有効期限付きで、作成したユーザーに割り当てます。
        7. ユーザーを保存します。

        これで、OAuthクライアント資格証明を使用する準備ができました。

    • クライアント・アプリケーションを検証します。
      1. ペイロード内のクライアントのクライアントIDおよびクライアント・シークレットを使用してOracle Identity Cloud Serviceにリクエストを行うアクセス・クライアントをフェッチします。
        ##Syntax
        curl -i -H 'Authorization: Basic <base64Encoded_clientid:secret>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<IDCS-Service-Instance>.identity.oraclecloud.com/oauth2/v1/token -d 'grant_type=client_credentials&scope=<App_Scope>'
        
        ###where
        #### <base64-clientid-secret> - Base 64 encode clientId:ClientSecret
        #### <app_scope> - Scope added while creating application in client configuration section
        ##Example
        curl -i -H 'Authorization: Basic OGQyM...ZDA0Mjcz' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<idcs_host>/oauth2/v1/token -d 'grant_type=client_credentials&scope=https://<Resource_APP_Audience>/rest/*'
      2. レスポンスからaccess_tokenを取得します。
        {
            "access_token": "eyJ4NXQjG...dfsdfsFgets2ed",
            "token_type": "Bearer",
            "expires_in": 3600
        }
      3. 認可ヘッダーでaccess_tokenを使用して、Oracle UtilitiesアプリケーションAPIを起動します。
        curl --location --request GET 'https://<Utilities_Application_API_ENDPOINT>' \
        --header 'Authorization: Bearer eyJ4NXQjG...dfsdfsFgets2ed'
      4. アクセス・トークンが期限切れになったときに更新するには、Oracle Identity Cloud Serviceに対して同じリクエストを行います。

JWTアサーションの前提条件

次の項では、「Oracle Utilitiesアダプタ」を使用した統合におけるJWTユーザー/クライアント・アサーション・インバウンドおよびアウトバウンド・リクエストのOracle Identity Cloud Service (IDCS)構成要件について説明します。
  • Oracle Integrationへのインバウンド

    Oracle Integrationへのインバウンド方向でJWTユーザー/クライアント・アサーションを有効にするIDCS構成については、「Oracle Integration 3でのRESTアダプタの使用」「JWTユーザー・アサーションの前提条件」を参照してください。

  • Oracle IntegrationからOracle Utilitiesアプリケーションへのアウトバウンド
次のタスクを実行します。
  • キーの生成
  • クライアント・アプリケーションの構成
  • 証明書を信頼できるパートナとして追加
  • JWTユーザー・アサーションの生成
  • JWTクライアント・アサーションの生成
  • クライアント・アプリケーションの検証
  • キーの生成

    JWTユーザー・アサーションのクライアント・アプリケーションを構成するときに、インポートするキーを最初に生成する必要があります。

    1. 自己署名キー・ペアを生成します。
      keytool -genkey -keyalg RSA -alias <your_alias> -keystore <keystore_file> -storepass <password> -validity 365 -keysize 2048
       
      ##example
      keytool -genkey -keyalg RSA -alias assert -keystore sampleKeystore.jks -storepass samplePasswd -validity 365 -keysize 2048
    2. JWTアサーションに署名するための公開キーをエクスポートします。
      keytool -exportcert -alias <your_alias> -file <filename> -keystore <keystore_file> -storepass <password>
        
      ##example
      keytool -exportcert -alias assert -file assert.cer -keystore sampleKeystore.jks -storepass samplePasswd
       
      ## This should show a success message e.g. Certificate stored in file <assert.cer>
    3. キーストアをP12形式に変換します。
      keytool -importkeystore -srckeystore <filename> -srcstorepass <password> -srckeypass <password> -srcalias <your_alias> -destalias <your_alias> -destkeystore <destFileName> -deststoretype PKCS12 -deststorepass <password> -destkeypass <password>
       
      ##example
      keytool -importkeystore -srckeystore sampleKeystore.jks -srcstorepass samplePasswd -srckeypass samplePasswd -srcalias assert -destalias assert -destkeystore assert.p12 -deststoretype PKCS12 -deststorepass samplePasswd -destkeypass samplePasswd
       
      ## This should show a success message e.g. Importing keystore sampleKeystore.jks to assert.p12...
    4. P12キーストアから秘密キーをエクスポートします。
      openssl pkcs12 -in <destFileName> -nodes -nocerts -out <pem_file>
        
      ##example
      openssl pkcs12 -in assert.p12 -nodes -nocerts -out private_key.pem
        
      ## This should show a success message: MAC verified OK
  • クライアント・アプリケーションの構成
    Oracle Cloud Infrastructureコンソールで、「統合アプリケーション」セクションに移動して、JWTユーティリティ接続でOracle UtilitiesアプリケーションAPIを起動できる新しいアプリケーションを作成します。
    1. 「Add application」をクリックします。
    2. 「機密アプリケーション」を選択し、「ワークフローの起動」をクリックします。
    3. 「アプリケーションの詳細」セクションに名前を入力します。 このページの残りのフィールドはオプションであり、無視してかまいません。
    4. 「次へ」をクリックします。
    5. 「クライアント構成」セクションで、「このアプリケーションをクライアントとして今すぐ構成」を選択し、次のように入力します:
      1. JWTアサーションの場合、「許可された付与タイプ」セクションで「JWTアサーション」および「トークンのリフレッシュ」を選択します。
      2. 「リダイレクトURL」「ログアウト後リダイレクトURL」および「ログアウトURL」フィールドは空白のままにします。
      3. 「クライアント・タイプ」セクションで、「信頼」を選択します。
      4. 「キーの生成」セクションで作成した公開証明書をアップロードします。
      5. 別名を指定します。 アサーションの作成時に使用されるため、この別名を覚えておいてください。 このアクションは、証明書を信頼できるパートナとして追加します。
      6. 複数のフィールドをバイパスし、「トークン発行ポリシー」セクションまで下にスクロールします。
      7. 認可されたリソース」セクションで「特定」を選択します。
      8. 「リソースの追加」チェック・ボックスをクリックします。
      9. 「スコープの追加」をクリックします。
      10. 検索機能を使用して、Oracle Utilitiesアプリケーションを検索します。


        「リソースの追加」チェック・ボックスが上部に表示されます。 この下には「リソース」セクションがあり、「スコープの追加」および「削除」のボタンが含まれています。 この下には、「リソース」、「保護」および「スコープ」の列がある表があります。

      11. REST APIまたはSOAP API、あるいはREST APIとSOAP APIの両方へのアクセスを含むスコープを追加します。 スコープが「リソース」セクションに表示されます。
      12. 変更を加えずに残りのウィザード・ページをクリックして、アプリケーションを保存します。
    6. 使用するアプリケーションをアクティブ化します。
    7. 「一般情報」セクションで、クライアントIDおよびクライアント・シークレットの値を書き留めます。 これらの値は、アイデンティティ・ドメインと通信しているサード・パーティ・アプリケーションに必要です。
  • 信頼できるパートナとしての証明書の追加
    署名証明書をクライアント・アプリケーションにインポートするだけでなく、証明書を信頼できるパートナ証明書として含める必要もあります。
    1. ナビゲーション・ペインで、「設定」をクリックします。


      「アイデンティティ・ドメイン」ナビゲーション・ペインには、「概要」、「ユーザー」、「グループ」、「動的グループ」、「統合アプリケーション」、「Oracle Cloud Services」、「ジョブ」、「レポート」、「セキュリティ」および「設定」の選択肢が表示されます。

    2. 「信頼できるパートナ証明書」をクリックします。
    3. 「証明書のインポート」をクリックして、「キーの生成」セクションに作成された公開証明書をアップロードします。
  • JWTユーザー・アサーションの生成

    生成された秘密キーと単純なJavaコードを使用してJWTユーザー・アサーションを生成します。

    ノート:

    https://github.com/jwtk/jjwtライブラリを使用して、ユーザー・アサーションを生成できます。 https://jwt.io/には、複数のテクノロジ用に多数のライブラリがリストされています。
    Sample:
    header:
    {
    "alg": "RS256",
    "typ": "JWT",
    "kid": "assert"
    }
     
    payload:
    {
    "sub": "utilitiesApplicationUser",
    "jti": "8c7df446-bfae-40be-be09-0ab55c655436",
    "iat": 1589889699,
    "exp": 1589909699,
    "iss": "d702f5b31ee645ecbc49d05983aaee54",
    "aud": "https://identity.oraclecloud.com/"
    }
    説明:
    • subでは、ユーザー・アサーションが生成されるユーザー名を指定します。
    • jtiは一意の識別子です。
    • iatが発行されます(エポック秒)。
    • expはトークンの有効期限(エポック秒)です。
    • issは、クライアントID監査にアイデンティティ・ドメイン・オーディエンスhttps://identity.oracle.com/が含まれている必要があります。 署名アルゴリズムはRS256である必要があります。
    • kidは、シグネチャの検証に使用するキーを指定します。 したがって、アップロードした証明書の別名と一致する必要があります。
  • JWTクライアント・アサーションの生成

    JWTユーザー・アサーションと同様に、生成された秘密キーと単純なJavaコードを使用してクライアント・アサーションを生成できます。

    ノート:

    https://github.com/jwtk/jjwtライブラリを使用して、ユーザー・アサーションを生成できます。 https://jwt.io/には、複数のテクノロジ用に多数のライブラリがリストされています。
    Sample:
    header:
    {
    "alg": "RS256",
    "typ": "JWT",
    "kid": "assert"
    }
     
    payload:
    {
    "sub": "d702f5b31ee645ecbc49d05983aaee54",
    "jti": "8c7df446-bfae-40be-be09-0ab55c655436",
    "iat": 1589889699,
    "exp": 1589909699,
    "iss": "d702f5b31ee645ecbc49d05983aaee54",
    "aud": "https://identity.oraclecloud.com/"
    }
    説明:
    • subは、クライアント・アプリケーションのクライアントIDを指定します。
    • jtiは一意の識別子です。
    • iatが発行されます(エポック秒)。
    • expはトークンの有効期限(エポック秒)です。
    • issは、クライアントID監査にアイデンティティ・ドメイン・オーディエンスhttps://identity.oracle.com/が含まれている必要があります。 署名アルゴリズムはRS256である必要があります。
    • kidは、シグネチャの検証に使用するキーを指定します。 したがって、アップロードした証明書の別名と一致する必要があります。

    ノート:

    ユーザー・アサーションでは、ユーザー名としてsubを追加します。 クライアント・アサーションでは、クライアントIDをsubとして追加します。
  • クライアント・アプリケーションの検証
    1. JWTユーザー・アサーションを生成したら、次のようにアクセス・トークンを生成します。
      ##Syntax
      curl -i -H 'Authorization: Basic <base64Encoded clientid:secret>' -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8' --request POST https://<Identity_Domain_Service_Instance>.identity.oraclecloud.com/oauth2/v1/token -d 'grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&assertion=<user assertion>&scope=<app_scope>'
        
      ###where
      #### grant type - urn:ietf:params:oauth:grant-type:jwt-bearer
      #### <base64-clientid-secret> - Base 64 encode clientId:ClientSecret
      #### <user assertion> - User assertion generated
      #### <app scope> - Scope added while creating application in client configuration section
    2. レスポンスからaccess_tokenを取得します。
      { "access_token": "eyJ4NXQjG...dfsdfsFgets2ed", "token_type": "Bearer", "expires_in": 3600 }
      
    3. 認可ヘッダーでaccess_tokenを使用して、Oracle UtilitiesアプリケーションAPIを起動します。
      curl --location --request GET 'https://<Utilities_Application_API_ENDPOINT>' \ --header 'Authorization: Bearer eyJ4NXQjG...dfsdfsFgets2ed'
    4. アクセス・トークンが期限切れになったときに更新するには、Oracle Identity Cloud Serviceに対して同じリクエストを行います。
  • 新規セキュリティ・ポリシーの追加
    • OAuth JWTクライアント・アサーションを使用したクライアント資格証明
    • JWTユーザー・アサーションを使用したOAuth