簡體   English   中英

Prefect Server:租戶的角色是什么?

[英]Prefect Server: What is the role of a Tenant?

在嘗試使用 prefect prefect server config生成的 Docker Compose 文件設置 Prefect 0.14.15 以跨多個代理執行流時,我驚訝地發現 Prefect 的服務器需要租戶才能連接代理。 我調查發現 Prefect 的文檔提供了有關其create-tenantlist-tenants CLI 操作的使用語法的信息。 但是,我已經通過鏈接頁面廣泛查看了 - 以及 Prefect 文檔和隨附教程的 rest - 任何提及租戶,並且只找到以下簡短提及:

一旦通過身份驗證,基於用戶的 API 密鑰可用於為用戶所屬的任何租戶生成短期 JWT 身份驗證令牌。 這些 API 密鑰繼承用戶在該租戶中擁有的任何權限,從而允許完全的 API 訪問。

什么是 Prefect 的租戶? 它似乎並不特定於 Prefect 的混合執行 model 那么,在 Prefect Flow 執行之前和執行期間,它如何適應服務器、代理和客戶端之間的交互? 說用戶“屬於”或“屬於”租戶是什么意思? 通過要求它向服務器注冊代理來完成什么?

租戶在 Prefect Server 中的意義遠低於 Prefect Cloud,但由於 Cloud 是基於開源服務器代碼構建的,因此這個想法仍然存在。

租戶是存在所有其他對象的頂級 object。租戶中的用戶無法訪問另一個租戶中的任何內容。 在 Cloud 中,嚴格執行此權限以限制用戶訪問的 scope。 在 Server 中,您只需要一個租戶即可開始使用系統,因為大多數對象都將鏈接回一個租戶。 通常,如果您使用 Prefect CLI prefect server start或您可以在 Prefect Server Helm 圖表中切換自動創建,則會在啟動期間為您創建一個默認租戶。

當代理注冊到服務器時,我們將有關該代理的詳細信息存儲在數據庫的“代理”表中。 在 Server 中,您的代理與默認租戶相關聯。 在 Cloud 中,您的代理與用於啟動代理的 API 密鑰所屬的租戶相關聯。

當您運行流程時,客戶端必須與服務器通信以報告流程的狀態。 與代理一樣,此流程運行與租戶相關聯。 在 Cloud 中,它繼承了代理的 API 密鑰。 在 Server 中,我們將繼續使用默認租戶。

tldr; 租戶是用戶所屬的 Prefect Cloud Teams 的基礎,用於授予權限。 在 Prefect Server 中,您只需要擁有一個即可; 創建它並忘記它(或使用我們為您創建它的標准工具)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM