第 8 章 Vault SPI


8.1. Vault 供应商

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

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

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

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.