卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章65672本站已运行420

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

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

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


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

显示 'user-from-gcp-console'@'%' 的补助金;

+------------------------------------------------ ------------+
|授予 user-from-gcp-console@% |
+------------------------------------------------ ------------+
|将 *.* 的使用权授予 `user-from-gcp-console`@`%` |
|将 `cloudsqlsuperuser`@`%` 授予 `user-from-gcp-console`@`%`|
+------------------------------------------------ ------------+

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

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

创建用户“您的用户”@“%”已识别
    使用“<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15713.html" target="_blank">mysql</a>_native_password”
    BY '';

将 your-schema.* 上的所有内容授予 'your-user'@'%';

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

// 通过 Google Cloud Console 创建用户

从“您的用户”@“%”中撤销“cloudsqlsuperuser”@“%”;
将 your-schema.* 上的所有内容授予 'your-user'@'%';

结束语

  • 用户由用户名和主机唯一标识。 % 代表任何主机,当您将用户访问限制为仅某些主机时(例如 your-user%localhost),命令可能会有所不同。
  • 您可以将 Cloud SQL 代理与 IAM 结合使用。请阅读 IAM 身份验证文章了解更多信息。
  • 现在还有 Cloud SQL Studio [预览版],可能会派上用场。
  • 有关 MySQL 数据库中用户管理的更多信息请点击此处。
卓越飞翔博客
上一篇: Python。自动创建 MySQL 数据库的备份。
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏