機械翻訳について

OAuth 2.0権限付与の使用

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

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

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

  • 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クライアント・アプリケーションが必要なEnvironment(s) (たとえば、PROD、TEST01、DEV)。
      • クライアント名サフィクス: 統合の機能目的を示す可能性がある個別の名前を使用してください。
      • インテグレーション・ポイントのわかりやすい説明を指定します。
      • クライアント・タイプ(信頼または機密)およびクライアント証明書: 統合要件が信頼できるクライアントを要求する場合があり、外部アプリケーションが独自の証明書を提供する場合もあります。 それ以外の場合、Oracle Identity Cloud Serviceは内部ネイティブ証明書を使用して信頼できるクライアントを作成します。
      • 目的の統合のためのOAuthフロー: 現在、クライアント資格証明、JWTアサーションおよび認可コード・フローがサポートされています。 認可コード・フローでは、独自のリダイレクトURLを指定することもできます。
      • スコープ: 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. 適切なuser(s)を様々なOracle Applicationロールに追加します。 標準/本番構成の場合は、ServiceUserロールを使用します。 (「Oracle Integration Generation 2のプロビジョニングおよび管理」「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アプリケーションおよびユーザー・ロールを検証します:
    1. 「構成」、Oracle Identity Cloud Serviceアプリケーションの「クライアント構成」の順に移動します。
    2. 「許可された許可タイプ」「クライアント資格証明」が有効になっていることを確認します。
    3. 「構成」、Oracle Identity Cloud Serviceアプリケーションの「リソース」の順に移動します。 REST APIまたはSOAP API、あるいはREST APIとSOAP APIの両方にアクセスできるスコープが提供されます。


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

    4. 適切なuser(s)を様々なOracle Utilitiesアプリケーション・ロールに追加します。 標準/本番構成の場合は、ServiceUserロールを使用します。 (「Oracle Integration Generation 2のプロビジョニングおよび管理」「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. ユーザーのログインIDとしてOAuthクライアントIDを入力します。
      2. 「ユーザー・タイプ」ドロップダウン・リストから「OAuthクライアント」を選択します。
      3. 統合に適切な機能へのアクセス権を提供する「ユーザー・グループ」を割り当てます。
      4. 作成したユーザーに「作業予定ロール」および適切な「アクセス・セキュリティ」を割り当てます。

        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に対して同じリクエストを行います。