你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

权利服务

访问权限管理是任何服务或资源的关键功能。 通过权利服务,可以控制谁可以使用 Azure Data Manager for Energy 实例、他们可以看到或更改的内容,以及可以使用哪些服务或数据。

OSDU 组结构和命名

使用 Azure Data Manager for Energy 的权利服务,可以创建组和管理组的成员身份。 权利组定义了对 Azure Data Manager for Energy 实例中特定数据分区的服务或数据源的权限。 添加到特定组的用户会获取关联的权限。 所有组标识符(电子邮件)均采用 {groupType}.{serviceName|resourceName}.{permission}@{partition}.{domain} 格式。

必须为每个新数据分区设置不同的组和关联的用户权利,即使在相同的 Azure Data Manager for Energy 实例中也是如此。

OSDU 组的类型

权利服务会启用三个适用于授权的用例:

数据组

  • 数据组用于启用数据授权。
  • 数据组以“数据”一词开头,例如 data.welldb.viewersdata.welldb.owners
  • 将单个用户添加到数据组,这些数据组将添加到单个数据记录的 ACL 中,以便在将数据加载到系统中后启用数据的 viewerowner 访问。
  • upload 数据,你需要拥有在引入过程中使用的各种 OSDU 服务的权利。 OSDU 服务的组合取决于引入方法。 例如,对于清单引入,请参阅基于清单的引入概念,以了解 API 使用的 OSDU 服务。 用户无需属于 ACL 即可上传数据。

服务组

  • 服务组用于启用对服务的授权。
  • 服务组以“服务”一词开头,例如 service.storage.userservice.storage.admin
  • 在 Azure Data Manager for Energy 实例的每个数据分区中预配 OSDU 服务时,服务组是预定义的
  • 这些组启用 viewereditoradmin 访问来调用与 OSDU 服务相对应的 OSDU API。

用户组

  • 用户组用于对用户和服务组进行分层分组。
  • 该服务组以“用户”一词开头,例如 users.datalake.viewersusers.datalake.editors

嵌套层次结构

  • 如果 user_1 属于 data_group_1,并将 data_group_1 作为成员添加到 user_group_1,则 OSDU 代码将检查嵌套成员身份并授权 user_1 访问 user_group_1 的权利。 OSDU 权利检查 APIOSDU 检索组 API 中对此进行了说明。

  • 可以将单个用户添加到 user group。 然后,将 user group 添加到 data group。 数据组将添加到数据记录的 ACL。 它为数据组启用抽象,因为无需将单个用户逐个添加到数据组。 相反,可以将用户添加到 user group。 然后,可以对多个 data groups 重复使用 user group。 嵌套结构有助于提供可伸缩性来管理 OSDU 中的成员身份。

默认组

  • 预配数据分区时,默认情况下会创建一些 OSDU 组。
  • 默认情况下,会创建 data.default.viewersdata.default.owners 数据组。
  • 默认情况下下,会创建用于查看、编辑和管理每个服务的服务组,例如 service.entitlement.adminservice.legal.editor
  • 默认情况下,会创建 usersusers.datalake.viewersusers.datalake.editorsusers.datalake.adminsusers.datalake.opsusers.data.root 的用户组。
  • 已启动的 OSDU 权利组中的默认成员和组图表会将列标题组显示为行标题的成员。 例如,默认情况下,users 组是 data.default.viewersdata.default.owners 的成员。 users.datalake.adminsusers.datalake.opsservice.entitlement.admin 组的成员。
  • 服务主体、client-idapp-id 是所有组的默认所有者。

users@ 组的特殊性

  • 对于“用户”组,此组命名规则存在一个例外。 预配新数据分区时,会创建该组,并且其名称遵循 users@{partition}.{domain} 模式。
  • 它包含特定数据分区中具有任何类型访问权限的所有用户的列表。 将新用户添加到任何权利组之前,还需要将新用户添加到 users@{partition}.{domain} 组。

users.data.root@ 组的特殊性

  • 创建组时,users.data.root 权利组是所有数据组的默认成员。 如果尝试从任何数据组中移除 users.data.root,则会出现错误,因为 OSDU 会强制实施此成员身份。
  • 在系统中创建记录时,users.data.root 会自动成为系统中所有数据记录的默认和永久所有者,如 OSDU 验证所有者访问 APIOSDU 用户数据根检查 API 中所述。 因此,无论用户的 OSDU 成员身份如何,系统都会检查用户是否为“DataManager”,即 data.root 组的一部分,以授予数据记录的访问权限。
  • users.data.root 中的默认成员身份只是用于设置实例的 app-id。 可以显式将其他用户添加到此组,以授予他们对数据记录的默认访问权限。

作为方案中的一个示例,

  • data_record_1 具有 2 个 ACL:ACL_1 和 ACL_2。
  • User_1 是 ACL_1 和 users.data.root 的成员。

现在,如果从 ACL_1 中移除 user_1,user_1 仍可通过 users.data.root 组访问 data_record_1。

如果从 data_record_1 中移除 ACL_1 和 ACL_2,则 users.data.root 将继续具有数据的所有者访问权限。 这会保留数据记录,以防止成为孤立数据记录。

未知 OID

默认情况下,你将在添加的所有 OSDU 组中看到一个未知的 OID,此 OID 指用于系统间通信的内部 Azure Data Manager for Energy 实例 ID。 为每个实例唯一地创建此 OID。

用户

对于每个 OSDU 组,可以将用户添加为 OWNER 或 MEMBER:

  • 如果你是 OSDU 组的所有者,则可以添加或移除该组的成员或删除该组。
  • 如果你是 OSDU 组的成员,则可以根据 OSDU 组的范围查看、编辑或删除服务或数据。 例如,如果你是 service.legal.editor OSDU 组的成员,则可以调用 API 来更改法律服务。

注意

除非存在另一个所有者可以管理用户,否则请不要删除组的所有者。

权利 API

有关权利 API 终结点的完整列表,请参阅 OSDU 权利服务。 有关如何使用权利 API 的插图,请查看管理用户

注意

OSDU 文档引用了 V1 终结点,但本文档中所述的脚本引用了 V2 终结点,这些可以正常运行并已成功通过验证。

OSDU® 是 Open Group 的商标。

后续步骤

有关下一步,请参阅:

还可以将数据引入 Azure Data Manager for Energy 实例: