在尝试设置Prefect 0.14.15,以便使用prefect server config生成的Docker文件跨多个代理执行流时,我惊讶地发现Prefect的服务器需要租户才能连接代理。我调查了一下,发现Prefect的文档提供了关于它们的创建-租户和名单-租户 CLI操作的使用语法的信息。但是,我已经仔细查看了链接的页面--以及Prefect的其他文档和附带的教程--以了解租户的任何情况,并且只发现了以下是的简短介绍:
一旦经过验证,基于用户的API密钥就可以用于为用户所属的任何租户生成短暂的JWT令牌。这些API密钥继承用户在租户中拥有的任何权限,从而允许完全的API访问。
州长的房客到底是什么?它似乎并不是特定于省长的混合执行模型。那么,在执行Prefect流之前和期间,它如何适应服务器、代理和客户端之间的交互呢?说用户“属于”或“在”租户中意味着什么?通过要求它在服务器上注册代理,实现了什么?
发布于 2021-05-28 14:49:12
与Prefect Cloud相比,租户在Prefect Server中的意义要小得多,但是由于Cloud是构建在开放源代码服务器代码上的,所以这种想法仍然存在。
租户是所有其他对象都存在的顶层对象。租户中的用户不能访问另一个租户中的任何内容。在云中,严格执行此权限以限制用户的访问范围。在Server中,您只需要一个租户就可以开始使用系统,因为大多数对象都将被链接回租户。通常,如果使用Prefect CLI prefect server start或在Prefect Server Helm图表中切换自动创建,则在启动期间为您创建默认租户。
当代理在服务器上注册时,我们将有关该代理的详细信息存储在数据库的“代理”表中。在服务器中,代理与默认租户相关联。在云中,代理与用于启动代理的API密钥所属的租户相关联。
运行流时,客户端必须与服务器交谈,以报告流的状态。与代理一样,此流运行与租户相关联。在云中,这继承了代理的API密钥。在服务器中,我们将继续使用默认的租户。
租户是用户所属并用于权限控制的Prefect Cloud团队的基础。在Prefect Server中,您只需要拥有一个;创建它并忘记它(或者使用我们为您创建它的标准工具)。
https://stackoverflow.com/questions/67062496
复制相似问题