我正在尝试将Vault配置为在minikube中将OIDC与keycloak一起使用。
我已在 minikube 上分别在命名空间Vault和Keycloak中部署(并解封)Vault和Keycloak。
Vault版本1.15.2 钥匙斗篷版本23.0.7 minikube 1.32 运行 k8s 1.28
我已经在keycloak中配置了realm ox和client Vault。一切都好。
我在尝试使用 keycloak 发现 URL 配置保管库时遇到的问题。因为它们都在 minikube 上,所以我不确定要使用什么 URL。
由于Vault命令(如下)在容器中运行,我想我需要使用coreDNS中的服务条目,即keycloak.keycloak.svc.cluster.local。
如果我执行到Vault-0容器并且
“wget -O - http://keycloak.keycloak.svc.cluster.local:8080/realms/ox/.well-known/openid-configuration”它工作正常并获得json响应。
如果我尝试从Vault-0容器运行vault cli,它会失败,例如
vault 写入 auth/oidc/config oidc_discovery_url="http://keycloak.keycloak.svc.cluster.local:8080/realms/ox/.well-known/openid-configuration" oidc_client_id="vault" oidc_c lient_secret =“xxxxxxxxxxxxxxx”default_role =“读者” 将数据写入 auth/oidc/config 时出错:发出 API 请求时出错。
URL:PUT http://127.0.0.1:8200/v1/auth/oidc/config 代码:400。错误:
对于此设置中的发现 URL 应该是什么有什么建议吗?
在 kubeshark 的帮助下,我想已经发现了问题!
vault write 命令默默地(有帮助;))将 /.well-known/openid-configuration 添加到我传入的发现 URL 中。 所以钥匙斗篷正在接收
如果将 oidc 发现 URL 定义为 http://keycloak.keycloak.svc.cluster.local:8080/realms/ox
它有效!我可以在 kubeshark 中看到从 keycloak 发回的 GET 响应 json。
@Hashicorp 更新文档可能是个好主意。
当 OIDC 在金库和 keycloak 之间工作时我会更新