Share via


權利服務

存取管理是任何服務或資源的重要功能。 您可運用權利服務控制可以使用 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」一詞開頭,例如 data.welldb.viewersdata.welldb.owners
  • 將個人使用者新增至資料群組中,這些資料群組會新增至個人資料記錄的 ACL 中,以便在系統載入至資料之後啟用 viewerowner 存取權。
  • 若要 upload 資料,您需要擁有在擷取過程中使用的各種 OSDU 服務權利。 OSDU 服務的組合取決於擷取方法。 例如,對於資訊清單擷取,請參閱以資訊清單為基礎的擷取概念,了解 API 所使用的 OSDU 服務。 使用者不需要是 ACL 的一部分即可上傳資料。

服務群組

  • 服務群組可用來啟用服務授權。
  • 服務群組會以「service」一詞開頭,例如 service.storage.userservice.storage.admin
  • 在 Azure Data Manager for Energy 執行個體的每個資料分割中佈建 OSDU 服務時,會預先定義服務群組。
  • 這些群組會啟用 viewereditoradmin 存取權,以呼叫對應至 OSDU 服務的 OSDU API。

使用者群組

  • 使用者群組用於對使用者和服務群組進行階層式分組。
  • 服務群組會以「users」一詞開頭,例如 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 的使用者群組。
  • Bootstrapped 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。

如果 ACL_1 和 ACL_2 從 data_record_1 移除,users.data.root 會繼續擁有資料的擁有者存取權。 這樣可防止資料記錄成為孤立的資料。

未知的 OID

根據預設,您會在所有OSDU群組中看到一個未知的OID,此OID是指用於系統對系統通訊的內部 Azure Data Manager for Energy 實例識別符。 這個 OID 會為每個實例建立唯一的。

使用者

針對每個 OSDU 群組,您可以將使用者新增為 OWNER 或 MEMBER:

  • 如果您是 OSDU 群組的 OWNER,則可以新增或移除該群組的成員或刪除群組。
  • 如果您是 OSDU 群組的 MEMBER,則可以視 OSDU 群組的範圍而定來檢視、編輯或刪除服務或資料。 例如,如果您是 service.legal.editor OSDU 群組的 MEMBER,則可以呼叫 API 來變更法律服務。

注意

除非有另一個 OWNER 管理使用者,否則請勿刪除群組的 OWNER。

權利 API

如需權利 API 端點的完整清單,請參閱 OSDU 權利服務管理使用者中提供了一些如何使用權利 API 的說明。

注意

OSDU 文件是指 v1 端點,但本文件中所述的指令碼是指 v2 端點,這些端點可正常運作且已成功驗證。

OSDU® 是開放群組的商標。

下一步

如需後續步驟,請參閱:

您也可以將資料內嵌至 Azure Data Manager for Energy 執行個體: