イントロダクション

Cloud HCMは、読み取り最適化データストアを備えた新世代プラットフォームを使用してHCMからデータを抽出する機能を提供します。このチュートリアルでは、データを抽出するための前提条件であるセキュリティ構成について説明します。

目的

このチュートリアルを完了すると、次のことが理解できるようになります。

  • データ抽出用のHCMジョブ・ロールの構成
  • OAuthクライアント・アプリケーションを構成して、APIコールを使用してデータをプログラムで抽出します。

タスク1: HCMジョブ・ロールの準備

就業者関連オブジェクトの階層内のデータにアクセスするには、新規または既存のHCMジョブ・ロールに特定の権限グループを追加する必要があります。

次のステップに従って、適切なデータ・アクセスを確認します。

  1. 「設定および保守」に移動します
    1. 「管理者プロファイル値の管理」を検索して、このタスクを入力します
    2. プロファイル・オプション・コードORA_ASE_SAS_INTEGRATION_ENABLEDによるプロファイル値の検索
    3. 「サイト」レベルで値を「はい」に設定します。
    4. プロファイル値の保存
  2. 「ツール」→「セキュリティ・コンソール」に移動します
    1. ロール・カテゴリHCM - ジョブ・ロールのロールを作成または編集します
    2. 「権限グループの有効化」をクリックして確認します。
    3. 「権限グループ」トレイン・ストップに移動します
      1. 「権限グループの追加」をクリックします
      2. boss_execute_AsyncDataExtraction_OraBatchJobDefinitionを検索して選択します
      3. 「選択した権限グループの追加」をクリックします
      4. ポップアップウィンドウを閉じる
    4. 「ロール階層」トレイン・ストップに移動します
      1. 「ロールおよび権限グループ」をクリックします
      2. 「ロールの追加」をクリックします
      3. 「職務ロール」オプションが選択されていることを確認します。
      4. リリース26B時点で使用可能な抽出職務ロールを次に示します。各職務ロールについて、その職務ロールを検索して選択し、「ロール・メンバーシップの追加」をクリックします。このデフォルト・アプローチでは、HCM内のすべての抽出可能オブジェクトへのアクセス権が付与されます。特定の要件に基づいて、必要に応じてデータ・セキュリティを微調整できます。
        • グローバルHR
          • ORA_DR_PER_WORK_STRUCTURES_EXTRACT_DUTY
          • ORA_DR_PER_WORKER_DETAILS_EXTRACT_DUTY
          • ORA_DR_PER_WORKER_EMPLOYMENT_EXTRACT_DUTY
          • ORA_DR_PER_WORKER_PII_EXTRACT_DUTY
          • ORA_DR_PER_WORKER_SENSITIVE_DETAILS_EXTRACT_DUTY
        • HCM共通
          • ORA_DR_HRC_OBJ_CHANGES_EXTRACTION_DUTY
        • Payroll
          • ORA_DR_PAY_BALANCE_DEFINITION_EXTRACT_DUTY
          • ORA_DR_PAY_ELEMENT_DEFINITION_EXTRACT_DUTY
          • ORA_DR_PAY_PAYMENT_METHOD_EXTRACT_DUTY
          • ORA_DR_PAY_PAYROLL_DEFINITION_EXTRACT_DUTY
          • ORA_DR_PAY_PROCESS_FLOW_EXTRACT_DUTY
          • ORA_DR_PAY_PROCESS_RESULT_ACTIVITIES_EXTRACT_DUTY
          • ORA_DR_PAY_PROCESS_RESULTS_EXTRACT_DUTY
          • ORA_DR_PAY_RELATIONSHIP_EXTRACT_DUTY
      5. ポップアップウィンドウを閉じる
    5. 「要約」トレイン・ストップに移動します
    6. 変更をレビューして保存します。

タスク2: アプリケーションの作成

APIには、OAuth 2.0を使用する機密アプリケーションのみがアクセスできます。Oracle Identity Cloud Service (IDCS)で1つを定義する必要があります。

  1. IDCS管理コンソールにログインし、指定されたポッドのアイデンティティ・ドメインに移動します
  2. 「統合アプリケーション」をクリックします
  3. 「アプリケーションの追加」をクリックします
  4. 「機密アプリケーション」を選択し、「ワークフローの起動」をクリックします
  5. 名前を指定します(例: Extracts Application)
  6. 「送信」をクリックします
  7. OAuth構成タブを選択し、「OAuth構成の編集」をクリックします
  8. 「このアプリケーションをクライアントとして今すぐ構成」を選択します
  9. 「許可される権限付与タイプ」「クライアント資格証明」および「JWTアサーション」として選択します
  10. 「クライアント・タイプ」「信頼済」を選択します。
  11. JWTアサーションを使用したクライアント認証を許可するには(本番環境で推奨)、「証明書のインポート」をクリックします
    1. 証明書の別名を指定します
    2. 証明書のアップロード
    3. 「インポート」をクリックします
  12. 「許可された操作」「代理」として選択します
  13. 「同意をバイパス」を有効化
  14. 「リソースの追加」を選択します
  15. 「スコープの追加」をクリックし、次のスコープを検索、選択および追加します
    • Oracle SaaS Batch Cloud Service
    • Oracle Boss Cloud(Spectra)
  16. 「送信」をクリックします
  17. 新しく作成したアプリケーションをアクティブ化するには、「アクション」ドロップダウンを展開し、「アクティブ化」アクションを選択して確認します
  18. アプリケーションの詳細で、アクセス・トークンの生成に使用されるクライアントIDおよびクライアント・シークレットを検索します

タスク3: アプリケーションへのロールの割当て

次に、ステップ#1のロールをステップ#2のアプリケーションに割り当てます。

  1. 「ツール」→「セキュリティ・コンソール」に移動します
  2. 「アプリケーション拡張」をクリックします
  3. 「カスタムOAuthクライアント・アプリケーション」セクションでアプリケーションを検索し、その名前をクリックします
  4. 「ロール」をクリックします
  5. 「追加」をクリックします
  6. ロールを検索して選択します
  7. 「追加」をクリックします
  8. 「完了」をクリックします

アプリケーション拡張にアクセスするには、ASE_ADMINISTER_APP_EXTENSIONS_PRIV権限が必要です。

タスク4: トークンの取得

APIを使用するトークンを取得する方法を次に示します。

URL {{idcsUrl}}/oauth2/v1/token
HTTPメソッド POST
Content-Typeヘッダー application/x-www-form-urlencoded
リクエスト本体

URL-エンコード

/api/bossエンドポイントにアクセスする場合

grant_type=client_credentials&scope=urn:opc:resource:fusion:{{pod}}:boss/

/api/saas-batchエンドポイントにアクセスする場合

grant_type=client_credentials&scope=urn:opc:resource:fusion:{{pod}}:saas-batch/
認証

Basic認証またはJWTアサーションを使用して、クライアントを認証できます。

基本認証を使用するには、標準AuthorizationヘッダーをBase64エンコードのclientId:clientSecretとともに使用します

または、JWTアサーションを使用するには、リクエスト本文で次の追加URLエンコード・パラメータを渡します

client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion={{clientAssertion}}

クライアント・アサーションは、IDCSでアップロードされた公開証明書と一致する秘密キーで署名された有効なBase64エンコードJWTアサーションで、次の構造である必要があります。

ヘッダー

{
  "alg": "RS256",
  "typ": "JWT",
  "kid": "{{certificateAlias}}"
}

ペイロード

{
  "sub": "{{clientId}}",
  "jti": "{{uuid}}",
  "iat": {{iat}},
  "exp": {{exp}},
  "iss": "{{clientId}}",
  "aud": [ "https://identity.oraclecloud.com/" ]
}

その他の学習リソース

docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。