首页 >数据库 >mysql教程 >创建只能访问 CloudSQL 中一个架构的用户

创建只能访问 CloudSQL 中一个架构的用户

WBOY
WBOY原创
2024-07-18 08:07:13404浏览

Create a User With Access to Only One Schema in CloudSQL

TL;DR: 在 Google Cloud Console 中创建用户后,请不要忘记从 'your-user' 中撤销 'cloudsqlsuperuser'@'%' '@'%';如果您只想让该用户访问特定模式。


通过 Google Cloud Console 创建 MySQL 用户会自动添加 cloudsqlsuperuser 角色,该角色允许用户访问该 MySQL 实例上的所有内容:

SHOW GRANTS FOR 'user-from-gcp-console'@'%';

+------------------------------------------------------------+
|Grants for user-from-gcp-console@%                          |
+------------------------------------------------------------+
|GRANT USAGE ON *.* TO `user-from-gcp-console`@`%`           |
|GRANT `cloudsqlsuperuser`@`%` TO `user-from-gcp-console`@`%`|
+------------------------------------------------------------+

Google 在其知识库的关于 MySQL 用户文章中提到了这一点。

要创建只能访问一种架构的用户,您需要通过运行以下内容来创建没有控制台的用户:

CREATE USER 'your-user'@'%' IDENTIFIED
    WITH 'mysql_native_password'
    BY '<some-strong-password>';

GRANT ALL ON your-schema.* TO 'your-user'@'%';

或者通过控制台创建用户,但不要忘记删除 cloudsqlsuperuser 角色:

// Create a user via the Google Cloud Console

REVOKE 'cloudsqlsuperuser'@'%' FROM 'your-user'@'%';
GRANT ALL ON your-schema.* TO 'your-user'@'%';

结束语

  • 用户由用户名和主机唯一标识。 % 代表任何主机,当您将用户访问限制为仅某些主机时(例如 your-user%localhost),命令可能会有所不同。
  • 您可以将 Cloud SQL 代理与 IAM 结合使用。请阅读 IAM 身份验证文章了解更多信息。
  • 现在还有可能会派上用场的 Cloud SQL Studio [预览版]。
  • 有关 MySQL 数据库中的用户管理的更多信息请参见此处。

以上是创建只能访问 CloudSQL 中一个架构的用户的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn