5.6. 配置基于角色的访问控制
基于角色的访问控制(RBAC)是一种安全机制,它根据机构中个别用户的角色限制对资源的访问。功能存储 RBAC 可确保只有授权用户或组才能访问或修改特定资源,从而维护数据安全性和操作完整性。
Feature Store 中的 RBAC 实现旨在提供以下功能:
- 分配权限 - 允许管理员根据其角色为用户或组分配各种操作和资源的权限。
- 无缝集成 - 无缝集成现有业务代码,而无需大量修改。
- 向后兼容性 - 维护对非授权模型的支持,作为默认值,以确保向后兼容。
功能存储 RBAC 提供以下优点:
- 功能共享 - 允许多个团队共享功能存储,同时确保控制访问。此功能允许在不损害数据安全性的情况下进行协作工作。
- 访问控制管理 - 对团队特定资源和空格的未授权访问,管理 每个用户或组可以执行的操作。
Feature Store 权限模型允许您为功能存储中定义的所有资源配置粒度权限策略。
当请求通过其中一个功能存储(Python)服务器执行时,执行权限授权强制:
- 在线功能服务器(REST)
- 离线功能服务器(Apache 箭头 Flight)使用 gRPC 通信协议来交换数据。此服务器将调用包装到现有离线存储实施,并将接口公开为 Arrow Flight 端点。
- 注册表服务器(gRPC)
如果您使用本地供应商(默认)配置功能存储,在访问 Feature Store API 时没有权限强制。
5.6.1. 默认授权配置 复制链接链接已复制到粘贴板!
在默认配置中,不会应用任何权限强制。以下示例 Feature Store 不包含 spec.authz 部分,它表示没有授权。
另外,您可以配置 OIDC 和 Kubernetes RBAC 授权协议。
5.6.2. OIDC 授权配置示例 复制链接链接已复制到粘贴板!
以下示例显示了 Feature Store 自定义资源定义(CRD)中的 OIDC 授权配置:
这个示例代码要求您使用特定于您的用例的值编辑它。
如需更多信息,请参阅 Feast 文档中的 OIDC 配置。
5.6.3. Kubernetes 授权配置示例 复制链接链接已复制到粘贴板!
以下示例显示了 Feature Store 自定义资源定义(CRD)中的 Kubernetes 授权配置:
示例代码要求您使用特定于您的用例的值编辑它。
如需更多信息,请参阅 Feast 文档中的 Kubernetes RBAC 配置。
有关如何实现 Kubernetes RBAC 授权的示例,请参阅使用 Feast Operator 在 Kubernetes 上运行 Feast RBAC 示例。