第 8 章 Vault SPI


8.1. Vault 供应商

您可以使用 org.keycloak.vault 软件包中的 vault SPI 为红帽构建的 Keycloak 编写自定义扩展,以连接到任意密码库实施。

内置 files-plaintext 提供程序是此 SPI 的实施示例。通常应用以下规则:

  • 要防止 secret 在域间泄漏,您可能需要隔离或限制域可以检索的 secret。在这种情况下,您的供应商在查找 secret 时应考虑 realm 名称,例如,使用 realm 名称作为前缀。例如,一个表达式 ${vault.key} 将通常会评估不同的条目名称,具体取决于它在 realm A 或 realm B 中使用。要区分不同的域,需要将域从 VaultProvider Factory.create () 方法传递至创建的 VaultProvider 实例,该方法可以从 KeycloakSession 参数获得。
  • vault 供应商需要实施单一方法 get Secret,它为给定 secret 名称返回 VaultRawSecret。该类包含 secret 的表示,可以是 byte[]ByteBuffer,并且应该在需要时在两者之间进行转换。请注意,在用法后,此缓冲区将丢弃,如下所述。

有关如何打包和部署自定义提供程序的详情,请参考 服务提供商接口 章节。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.