如何设置Navicat Cloud团队成员权限

老萱吖_3238

老萱吖_3238

2026-08-24

810人浏览

原创

Navicat Cloud的Viewer角色仅控制项目文件操作权限,无法阻止SQL执行;真正只读必须依赖数据库账号的SELECT授权+显式撤销INSERT/UPDATE/DELETE,并配合IP白名单与FLUSH PRIVILEGES。

navicat cloud 的「viewer」角色不能阻止成员执行 delete 或 update,真正起作用的是后端数据库账号权限。只在 cloud 里设 viewer,而数据库账号仍有写权限,删库照常发生。

Navicat Cloud 角色 ≠ 数据库权限

Cloud 项目里的 Viewer、Editor、Manager 是对 Navicat 本地项目文件(如 .navicat_project)的操作权限控制,不是对数据库的 SQL 权限拦截:

  • Viewer 可以双击连接、打开查询窗口、手写并执行 DELETE FROM users —— 只要连接所用的数据库账号有 DELETE 权限
  • Editor 能修改连接配置(比如把 host 改成生产库地址),所有同步该项目的成员下次打开就会连错库
  • Manager 拥有项目级管理权(如踢人、改角色),但依然无法限制某人用自己保存的密码连上数据库后跑 DROP TABLE

必须配两层权限才生效

想让团队“只能查不能删”,得同时做这两件事:

  • 在 Navicat Cloud 项目中,把成员设为 Viewer(防止他们改连接、删模型)
  • 在 MySQL/PostgreSQL 中,为该成员使用的数据库账号单独授权:GRANT SELECT ON mydb.report_log TO 'reporter'@'192.168.5.100',且明确不执行 GRANT INSERT, UPDATE, DELETE
  • 确认 PostgreSQL 用户还有 CONNECT 到对应 database 的权限,以及目标 schema(如 public)的 USAGE 权限,否则 SHOW TABLES 会返回空

共享连接前务必剥离敏感配置

直接同步含密码的连接风险极高——即使加密存储,项目被导出为 .npz 后,SSH 隧道参数、内网地址、跳板机路径等元数据仍可被提取,构成攻击链路:

description: 将用户讲稿一键生成乔布斯风极简科技感竖屏HTML演示稿。当用户需要生成PPT、演示文稿、Slides、幻灯片,或要求科技风/极简风/乔布斯风格的演示时触发此技能。输出为单个可直接运行的HTML文件。
description: 将用户讲稿一键生成乔布斯风极简科技感竖屏HTML演示稿。当用户需要生成PPT、演示文稿、Slides、幻灯片,或要求科技风/极简风/乔布斯风格的演示时触发此技能。输出为单个可直接运行的HTML文件。

将用户讲稿一键生成乔布斯风极简科技感竖屏HTML演示稿。当用户需要生成PPT、演示文稿、Slides、幻灯片,或要求科技风/极简风/乔布斯风格的演示时触发此技能。输出为单个可直接运行的HTML文件。

下载
  • 新建空项目,用 Tools → Import Wizard → Structure Only 导入表结构,不带连接、不带数据
  • 右键项目树中的 Connection → Delete Connection(不是禁用)
  • 关闭 File → Options → General → Auto-save connection passwords
  • 确保 Project Properties → Security → Password Protection 为关闭状态

IP 白名单和细粒度授权是刚需

别用 'user'@'%' 授权,这是最常见也最危险的配置错误:

  • MySQL 授权时,主机名填的是客户端来源 IP,不是数据库服务器 IP;应写成 'reporter'@'203.0.113.45' 或 CIDR 段 'reporter'@'203.0.113.0/24'
  • 云函数类场景(如 AWS Lambda)IP 不固定,需配合数据库白名单 + 应用层代理,不能妥协用 %
  • MySQL 8.0+ 支持列级权限,但语法严格:GRANT SELECT(id, created_at) ON mydb.orders TO 'user'@'%' —— 漏括号或写成 SELECT id, created_at 会触发 ERROR 1064
  • 执行 GRANT 后,部分 MySQL 版本需手动 FLUSH PRIVILEGES,Navicat 查询窗口不会自动刷新权限缓存

最容易被忽略的点:Navicat Cloud 同步的是项目文件,不是数据库连接本身;权限失效往往不是因为 Cloud 设置错了,而是数据库账号没关写权限,或者忘了给 schema 加 USAGE。每次加人前,先查一遍 SHOW GRANTS FOR 'user'@'host',比反复调 Cloud 角色更管用。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

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

相关专题

更多
常用的mysql管理工具
常用的mysql管理工具

常用的mysql管理工具有:1、MySQL Workbench、phpMyAdmin、MySQL Shell、Navicat、DBeaver和DataGrip。更多关于mysql管理工具的问题,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

2023.11.03

6230

11

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

60

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

40

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

160

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

120

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

80

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

60

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

80

25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP基础入门课程
PHP基础入门课程

共33课时 | 3.5万人学习