无需密码即可从wildfly连接到postgres



我想在google kubernetes引擎(GKE(中运行一个keycloak(在wildfly中运行(,并将我的数据存储在一个托管SQL实例中,我想使用内置IAM身份验证使用google服务帐户(GSA(连接到该实例。我已经完成了大部分设置(云SQL身份验证代理作为sidecar在keycloak旁边运行,代理成功地对托管实例进行了身份验证,等等(,但我无法说服wildfly在尝试通过localhost连接到数据库时不要提供密码(sidecar可用(。

类似于我的问题:psql -U <service_account>@<project>.iam就像一个符咒,空密码的psql -U <service_account>@<project>.iam -p会失败。

我已经通过安装我自己版本的/opt/jboss/tools/cli/databases/postgres/change-database.cli来调整使用jboss/keycloakdocker映像的容器,在那里我删除了设置密码的行。新文件看起来像:

/subsystem=datasources/data-source=KeycloakDS: remove()
/subsystem=datasources/data-source=KeycloakDS: add(jndi-name=java:jboss/datasources/KeycloakDS,enabled=true,use-java-context=true,use-ccm=true, connection-url=jdbc:postgresql://${env.DB_ADDR:postgres}/${env.DB_DATABASE:keycloak}${env.JDBC_PARAMS:}, driver-name=postgresql)
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=user-name, value=${env.DB_USER:keycloak})
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=check-valid-connection-sql, value="SELECT 1")
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=background-validation, value=true)
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=background-validation-millis, value=60000)
/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=flush-strategy, value=IdleConnections)
/subsystem=datasources/jdbc-driver=postgresql:add(driver-name=postgresql, driver-module-name=org.postgresql.jdbc, driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource)
/subsystem=keycloak-server/spi=connectionsJpa/provider=default:write-attribute(name=properties.schema,value=${env.DB_SCHEMA:public})

(不带行的标准内容:/subsystem=datasources/data-source=KeycloakDS: write-attribute(name=password, value=${env.DB_PASSWORD:password})(。

我错过了什么?

典型。这是键盘和椅子之间的错误。。。

当创建数据库用户时,我错过了最后的.iam(它看起来像<GSA_account_id>@<project_id>,而它一定像<GSA_account_id>@<project_id>.iam

相关内容

  • 没有找到相关文章

最新更新