配置 Integration User 权限

更新时间:
复制为 MD 格式

Integration User 是指 CXG 后端同步数据到 Salesforce Platform 时所采用的身份,或者调用 Salesforce Platform API 的系统默认机器用户。我们需要赋予 Integration 用户对数据的 CRUD 权限,来操作 CXG 相关功能的实现。该用户需要管理员手动创建,并在创建后赋予 CXG Integration User 权限集和其他手动创建的权限集。

该步骤包含在 CXG Quick setup 自动配置流程中,如已经配置则跳过,如果下述 integration user 已经在 CXG 别的集成应用中添加,可以跳过创建,直接使用同一个 integration user.

前提条件

  1. Package 已经成功安装到您的 Salesforce 组织中。

  2. 前往 Setup > Permission Sets,检查以下权限集已经成功添加到 Salesforce 权限集中:

    • CXG Integration User

创建 Integration User

操作步骤

  1. 登录 Salesforce Platform,点击 Setup > Users > New。

    • a. Last Name 填写用户名字,建议填 CXG Automated

    • b. Alias 填写名字简称,建议填 CXG

    • c. Email 填写用户邮箱

    • d. Username 填写用户名,不能重复

    • e. Nickname 填写昵称,或者使用默认

    • f. User License 选择 Salesforce Integration

    • g. Profile 选择 Salesforce API Only System Integrations

  2. 保存新创建的 User。

  3. User 详情页中,点击 Permission Set Assignment > Edit Assignment,选择 CXG Integration User 权限集。

  4. 保存,完成。

赋予 Integration User 对于标准对象、应用、和查询配置的权限

注意:Permission Set 中的标准对象权限、应用权限、和查询配置等权限最终无法通过 Package 交付。因此这部分赋权需要管理员手动配置。Integration User 需要拥有以上权限,才能完成 CXG 预设的功能。因此管理员需要根据指引手动创建权限集,并将其分配给 Integration User。

这里需要手动创建的权限集为 CXG Integration User Setup Access

操作步骤

  1. 登录 Salesforce Platform,点击 Setup > Permission Sets > New。

    • a. Label 填写 Permission Set 的名字,建议填 CXG Integration User Setup Access

    • b. API Name 使用默认

    • c. Description 填写描述

    • d. License 选择 Salesforce API Integration

  2. 保存,跳转 Permission Set 详情页。

  3. 点击 App Permissions > Edit > Flow and Flow Orchestration > 勾选 Run Flows > 保存。

  4. 保存,跳转 Permission Set 详情页。

  5. 点击 System Permissions > Edit > System > 勾选 Access Activities、Edit Events。

  6. 点击 System Permissions > Edit > System > 勾选 View Setup and Configuration (系统会自动勾选 View Roles and Role Hierarchy) > 保存。

  7. 保存,跳转 Permission Set 详情页。

  8. 点击 Object Settings > Cases > Edit > Object Permissions > 勾选 Read, Create, Edit, View All > 保存。

    • a. 点击 Edit > Field Permissions > Case Origin > 勾选 Edit Access > 保存。

  9. 点击 Object Settings > Contacts > Edit > Object Permissions > 勾选 Read、Create、Edit、View All > 保存。

  10. 点击 Object Settings > Leads > Edit > Object Permissions > 勾选 Read、Create、Edit、View All > 保存。

  11. 点击 Object Settings > Quick Text > Edit > Object Permissions > 勾选 Read、Create、Edit、View All > 保存。

  12. 点击 Object Settings > User External Credentials > Edit > Object Permissions > 勾选 Read > 保存。

  13. 点击 Manage Assignment > Add Assignment,勾选 Integration User (CXG Automated)。

  14. 保存,完成。

配置 Sharing Settings

I. 对于标准对象

出于安全考虑,本产品设计的权限集不要求 Modify All 权限。这意味着,如果您转移了由 Integration User 创建的记录的 Owner 关系,本产品集成可能将不再拥有该记录的编辑权限(取决于您的组织中对于该标准对象的 Sharing Setting ),这可能会导致产品出错。如果您确有这类修改 Owner 关系的需求,您可以考虑如下解决办法:

  1. 创建分级角色,将 Integration User 置于高级角色,使其一直拥有遵照特定分组的记录的权限。参考:Salesforce Roles and Hierarchies

  2. 创建 Sharing Rules ,为特定的对象修改分享设置。参考:Salesforce Sharing Rules

II. 对于自定义对象

社交集成产品在设计时对于所有自定义对象默认的 Sharing Settings 为:

  • Default Internal Access: Public Read/Write

  • Default External Access: Private

  • Grant Access Using Hierarchies: Yes

如果您确有需求去修改某个自定义对象的分享规则,比如将某个自定义对象的 Organization-Wide Default 修改为 Private,来控制不同用户之间的访问权限,为了防止产品出错,我们建议您采取创建分级角色的方法,来确保 Integration User 一直拥有自定义对象的权限。或者您可以手动为 Integration User 创建包含某自定义对象 Modify All 权限的权限集,由于本产品中所有自定义对象的记录都是由 Integration User 创建的,所以该方法并不会影响您的组织安全。

III. 关于为 CRM 用户赋予由 CXG 创建记录的访问权限

社交集成产品会在您的组织内创建对象,如果您设置了严格的 Organization-Wide Default Setting,为了使 CRM 用户能够访问由 CXG 创建的对象记录,可能需要您创建新的 Sharing Rules 来赋予用户权限。

社交集成产品会主动创建的对象包含:

  1. 所有 CXG 自定义对象

  2. Case

  3. ContentDocument(不需要单独创建Sharing Rule)

  4. FeedItem(不需要单独创建Sharing Rule)

其中 Case 对象需要您依据组织的需要来配置 Sharing Rules。

配置案例:
如果您的组织内 Case 的 OWD 设置为 Private,但 WeChat 集成用户需要访问由 CXG 创建的 Case Records,您可以创建一个 Group(假设命名为 CXG WeChat Cases Users),然后将所有需要访问 WeChat 集成 Case Records 的用户和 CXG Automated 用户都添加到 CXG WeChat Case Users 群组中,然后为 Case 添加基于群组关系的 Sharing Rule。参考 Create Sharing Rules based on Group Membership

该配置案例仅作为辅助您理解使用 Sharing Rules 来管理记录权限的参考,并非唯一或必须方案,实际配置以您组织内的需求为准