使用Google Cloud SQL(Postgres)表格创建的Hibernate无法访问



如果您使用Hibernate创建表,则这些表是其他用户无法访问的(它们归Cloudsqladmin拥有)。所有尝试向其他用户授予许可的尝试都失败了,因此,当我使用我拥有的唯一凭据(非cloudsqladmin用户)访问shell或GUI时,除了列出这些表外,他们无法访问这些表表。

通过IAM,我授予了所有权限的服务帐户访问。

例如。登录为Postgres用户:

GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO postgres;
ERROR: permission denied for relation mytable
GRANT SELECT ON post to postgres;
ERROR:  permission denied for relation mytable
ALTER TABLE public.mytable OWNER to postgres;
ERROR:  must be owner of relation mytable

我想注意,Postgres用户能够完全操纵未使用Hibernate创建的表,Hibernate能够完全操纵数据,而不是我创建的其他用户。

,因此最终解决方案非常简单。简单:

授予user_you_authed_in_in_java to user_you_want_to_use;

相关内容

  • 没有找到相关文章

最新更新