ArcGIS大师之路500技---078文件数据库的加密与解密

保护地理数据安全,从这一篇开始

在GIS数据处理工作中,文件地理数据库(File Geodatabase)是存储、查询和管理空间数据的常用格式。但当我们需要将地理数据库分享给其他人时,如何对数据库加密并设置访问权限呢?

核心工具介绍

ArcGIS中的加密解密过程主要依托数据管理工具箱中的两个核心工具:

工具一:生成已许可的文件地理数据库

该工具位于:数据管理工具文件地理数据库生成已许可的文件地理数据库

这个工具的作用相当于给数据库"加一把锁"。它会生成许可定义文件(.licdef),用于定义和限制文件地理数据库中内容的显示,同时输出加密后的文件地理数据库。

工具二:生成文件地理数据库许可

该工具位于:数据管理工具文件地理数据库生成文件地理数据库许可

这个工具的作用相当于"获得钥匙"。它生成许可文件(.sdlic),用于访问加密后的文件地理数据库。

第一步:数据加密------加锁

首先,我们需要对原始文件地理数据库进行加密授权。

操作步骤如下:

  1. 准备需要加密的文件地理数据库,将需要限制使用的数据全部加载进去。

提示:加密前,请确保将所有需要限制的数据都加载到地理数据库中,因为加密完成后,限制将不会应用于之后再加载的数据。

  1. 打开ArcGIS的ArcToolbox(工具箱)。

  2. 依次展开:数据管理工具文件地理数据库生成已许可的文件地理数据库

  3. 在弹出的对话框中选择需要加密的数据库,点击确认。

执行完成后,系统会生成两个输出文件:

  • 加密后的文件地理数据库:一个带有访问控制限制的数据库
  • 许可定义文件(.licdef) :包含许可分发所需的关键信息

至此,我们就完成了给数据库"加锁"的步骤。注意,一旦完成加密,这一过程无法撤销------输出后的加密文件地理数据库无法恢复到原始的未加密格式。

第二步:生成许可文件------获取钥匙

完成加锁后,需要为加密数据库生成对应的许可文件(.sdlic),也就是我们所说的"钥匙"。

操作步骤如下:

  1. 打开ArcToolbox,找到:数据管理工具文件地理数据库生成文件地理数据库许可

  2. 在弹出的工具对话框中,按照下文的参数说明逐一设置信息。

关键参数设置:

  • 输入许可定义文件:选择第一步生成的.licdef文件

  • 输出数据许可文件:为生成的许可文件指定保存路径和名称(.sdlic文件)

  • 允许导出矢量数据(可选设置):

    • DENY_EXPORT(不允许导出):接收方无法导出矢量数据,这是默认设置。
    • ALLOW_EXPORT(允许导出):接收方可以导出矢量数据
  • 到期日期(可选设置):

    • 留空:表示许可文件永久有效。
    • 设置日期:许可将在指定日期的午夜到期,到期后无法再访问加密数据库中的内容。
  1. 确认设置无误后,点击"运行"或"确认"生成许可文件。

注意:设置完成后,需要将生成的许可文件(.sdlic)与加密的文件地理数据库一同分享给接收方。

第三步:添加许可------在另一台电脑上配置

接收方拿到加密后的数据库和许可文件后,需要在本地ArcGIS环境中添加许可,才能正常访问数据。

在ArcGIS Pro中,推荐通过"管理数据许可"对话框来添加和管理许可。具体路径为:点击"工程"选项卡,在"许可"部分打开"管理数据许可"对话框,然后点击"添加"按钮导入许可文件。

在ArcGIS Desktop(如ArcGIS 10.8)的ArcGIS Administrator中,可以通过以下路径导入许可:启动ArcGIS Administrator后,在内容列表中选择数据许可 ,然后点击添加许可 按钮,浏览并选择许可文件(.sdlic),最后确认安装即可。

第四步:正常打开数据------验证访问

添加许可成功后,用户就可以正常访问加密地理数据库中的内容了。

在ArcGIS Pro中,添加许可后可以在"管理数据许可"对话框中查看已注册的许可列表,包括许可名称、提供方以及到期日期等信息。

如果在添加许可前尝试直接打开加密数据库,系统会提示无法访问加密数据。

最后

通过这种方法,可以更好地保护地理数据的安全,同时灵活地控制他人对数据的使用权限。希望本文对您的工作有所帮助!

【提示】 本人亲测ArcGIS 10.8和ArcGIS Pro中有加密解密工具,ArcGIS 10.2中无加密解密工具,其他版本不太了解。

相关推荐
熊文豪9 小时前
【金仓数据库征文】不装中间件的 MySQL→金仓在线迁移,mysql_fdw 全流程,和一个差点漏掉的 emoji
数据库·mysql·中间件·电科金仓
一个儒雅随和的男子10 小时前
多租户方案的选型
数据库·oracle
listening77710 小时前
HarmonyOS 6.1 跨设备数据库实战:分布式账本的落地与一致性校验
数据库·harmonyos·分布式账本
147API10 小时前
Claude Tag 进入 Slack 后,团队智能体需要哪些任务与审计字段
java·开发语言·数据库
Database_Cool_10 小时前
AI Agent 应用数据库选型:阿里云 PolarDB-X 高并发分布式数据底座
数据库·人工智能·阿里云
黄焖鸡能干四碗11 小时前
IT数据架构规划设计方案(PPT文件)
大数据·网络·数据库·人工智能·架构·区块链
黑夜路人11 小时前
可靠 Agent 设计:从一句 Prompt 到稳定交付
数据库·人工智能·prompt
非科班Java出身GISer11 小时前
ArcGIS JS 基础教程(19):3D Tiles 图层
arcgis·arcgis js 倾斜·arcgis js倾斜摄影·arcgis 3dtiles·arcgis js 加载倾斜
IT瑞先生11 小时前
MariaDB与Mysql差异及版本对照
数据库·mysql·mariadb
草莓熊Lotso11 小时前
【Linux网络】深入理解Linux IO多路复用:从本质到select服务器实战
linux·运维·服务器·c语言·网络·数据库·c++