[英]Prefect Server: What is the role of a Tenant?
在嘗試使用 prefect prefect server config
生成的 Docker Compose 文件設置 Prefect 0.14.15 以跨多個代理執行流時,我驚訝地發現 Prefect 的服務器需要租戶才能連接代理。 我調查發現 Prefect 的文檔提供了有關其create-tenant和list-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.