Common Data Service 使用基于角色的安全模型来帮助保护对数据库的访问。 本主题介绍了如何创建保护应用所必需的安全项目。 用户角色可控制对数据的运行时访问,不同于管理环境管理员和环境创建者的环境角色。 有关环境的概述,请参阅环境概述

请务必了解应用用户需要对这些实体拥有的访问权限的级别。 Common Data Service 支持对实体拥有创建、读取、更新和删除 (CRUD) 权限。

  • 创建 - 用户可以在实体中创建新项。
  • 读取 - 用户可以查看和搜索实体中现有的项。
  • 更新 - 用户可以更新或编辑实体中现有的项。
  • 删除 - 用户可以删除或移除实体中现有的项。

最常用的两个权限级别是只读访问权限和完全访问权限。 Common Data Service 包含在这两个权限级别适用于所有实体的权限集。 查看权限集提供对实体的读取访问权限。 维护权限集提供对实体的完全访问权限。

使用安全模型,可以任意组合要分配给用户角色的这些权限。 角色结合了跨所包含的权限集授予的各种权限。 因此,角色成员可以访问角色中包含的权限集允许访问的所有数据。 有关 Common Data Service 安全模型的详细信息,请参阅安全模型

确定实体

若要为应用配置正确的访问控制,必须知道应用使用的实体。 若要查看应用使用的实体列表,请按照以下步骤操作。

  1. 在 Microsoft PowerApps Studio 中打开应用。
  2. 在“内容”选项卡上,单击或点击“数据源”。 数据源列表显示在右侧窗格中。

配置安全性

创建新实体时,还必须新建权限集或编辑现有权限集来提供对实体数据的访问权限。 建议在创建应用的同时还创建权限集,用于提供对运行应用所需的全部实体的访问权限。 在管理中心中管理安全性。

  1. 打开管理中心
  2. 单击或点击包含你的数据库的环境。
  3. 单击或点击“安全性”。 然后,可以使用“权限集”和“用户角色”选项卡配置数据库安全设置。

创建权限集

若要启用对新应用的访问权限,必须先新建权限集。

  1. 单击或点击“权限集”。
  2. 单击或点击“新建权限集”,创建权限集。
  3. 输入权限集的名称和说明,然后点击或单击“创建”。 此时,新建的权限集显示在权限集列表中。
  4. 单击或点击刚刚创建的权限集。
  5. 单击或点击“实体”选项卡。 “实体”选项卡包含数据库中所有实体的列表。 对于应用中使用的每个实体,选中允许授予权限对应的复选框。
  6. 单击或点击“保存”。

创建策略(技术预览)

若要启用或限制对实体中记录的访问权限,必须先创建策略。

  1. 单击或点击“策略”。
  2. 单击或点击“新建策略”。
  3. 输入策略的名称和说明。
  4. 选择要创建的策略的类型。 如果要创建选择列表策略,请输入要使用的选择列表。
  5. 选择要使用的运算符。
  6. 选择要作为检查依据的策略值。
  7. 单击或点击“创建”。

分配策略(技术预览)

必须将策略分配给权限集中的数据实体,才能应用策略。

  1. 单击或点击“权限集”。
  2. 单击或点击要在其下分配策略的权限集。
  3. 单击或点击要向其分配策略的实体对应的“编辑”按钮。
  4. 展开“策略分配”部分。
  5. 选择要向其应用策略的数据操作(“创建”、“读取”、“更新”或“删除”)。
  6. 选择策略依据的实体字段。
  7. 选择要分配的策略。
  8. 单击或点击“分配”。
  9. 单击或点击“保存”。

创建并分配角色

将正确的权限添加到权限集中后,可以创建分配给用户的角色。

  1. 单击或点击“用户角色”。
  2. 单击或点击“新建角色”。
  3. 输入角色的名称和说明,然后单击或点击“创建”。 此时,新建的角色出现在“用户角色”列表中。
  4. 单击或点击刚刚创建的角色。
  5. 单击或点击“权限集”选项卡。
  6. 输入之前创建的权限集的名称。 在键入过程中显示的下拉列表中,单击或点击要添加到角色中的权限集。 为角色需要的其他所有权限集重复执行此步骤。
  7. 单击或点击角色的“用户”选项卡。
  8. 输入要添加到角色中的用户或组的名称或电子邮件地址。 在键入过程中显示的下拉列表中,单击或点击相应用户。 列表中包含要向其分配角色的用户和组。
  9. 单击或点击“保存”。

现在,此角色中的用户或组可访问与此角色相关联的所有权限集允许访问的数据。 若要使用数据库中的数据,用户必须具有安全角色,并拥有对使用此数据的 PowerApps 应用的访问权限。

编辑权限集和角色

若要编辑已创建的角色和权限集,请单击“编辑”按钮。

若要删除角色或权限集,请单击“删除”按钮。

现成的安全角色

提供两个现成可用的安全角色:

  • 数据库所有者 - 数据库所有者角色适用于肩负管理职能的用户。 自动向环境创建者分配此角色。 此角色中的用户始终拥有对数据库中所有实体的完全访问权限。 甚至拥有对新添加实体的完全访问权限。 此角色中的用户还可以在数据库中创建和编辑实体架构。 无需向此角色添加权限集。 只需向其分配用户即可。
  • 组织用户 - 组织用户角色是分配给所有用户的默认角色。 此角色旨在向所有用户授予对包含公共数据的实体的访问权限。 如果在限制模式下共享应用,应在此角色中添加应用使用的实体。 无需分配此角色,因为它已经分配给组织中的所有人。 只需添加要向整个组织分配的权限集即可。