简介

HCM 云提供从 HCM 中提取数据的功能,该功能使用新一代平台以及针对读取优化的数据存储。本教程介绍了提取数据的一个先决条件的安全配置。

目标

完成本教程后,您将了解如何:

  • 配置用于数据提取的 HCM 职务角色
  • 配置 OAuth 客户端应用程序以使用 API 调用以编程方式提取数据

任务 1:准备 HCM 职务角色

要访问与员工相关的对象层次结构中的数据,必须将某些权限组添加到新的或现有的 HCM 职务角色。

按照以下步骤操作,确保适当的数据访问。

  1. 转至设置和维护
    1. 搜索管理管理员概要信息值并输入此任务
    2. 按概要信息选项代码 ORA_ASE_SAS_INTEGRATION_ENABLED 搜索概要信息值
    3. 站点级别将其值设置为
    4. 保存配置文件值
  2. 转到 Tools → Security Console
    1. 创建或编辑角色类别 HCM - 职务角色的角色
    2. 单击启用权限组并确认
    3. 转到权限组火车站
      1. 单击添加权限组
      2. 搜索 boss_execute_AsyncDataExtraction_OraBatchJobDefinition 并选择它
      3. 单击添加选定的权限组
      4. 关闭弹出窗口
    4. 转到角色层次结构火车站
      1. 单击角色和权限组
      2. 单击添加角色
      3. 确保选择了职责角色选项
      4. 下面是自发行版 26B 起可用的提取职责角色。对于每个职责角色,搜索该角色,选择该角色并单击添加角色成员资格。此默认方法授予对 HCM 中所有可提取对象的访问权限。您可以根据您的特定需求,根据需要微调数据安全性。
        • 全球人力资源
          • 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
        • 薪资
          • 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. 登录到 IDCS 管理控制台并导航到给定云池的身份域
  2. 单击集成的应用程序
  3. 单击添加应用程序
  4. 选择机密应用程序,然后单击启动工作流
  5. 提供名称(例如提取应用程序)
  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. 转到 Tools → Security Console
  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/
验证

可以使用基本验证或 JWT 断言对客户机进行验证。

要使用基本验证,请使用带有 Base64 编码的 clientId:clientSecret 的标准 Authorization 标头

或者,要使用 JWT 断言,请在请求正文中传递以下附加的 URL 编码参数

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

客户端断言必须是有效的 Base64 编码的 JWT 断言,签名时使用的私钥与您在 IDCS 中上载的公共证书相匹配,并具有以下结构。

标题

{
  "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 帮助中心