OSS-HDFS服务(JindoFS服务)的目录保护功能用于增强数据安全性,防止您在操作过程中意外或错误地删除目录。设置目录保护后,只要该目录下包含任何子目录或文件,将严格限制对目录进行删除或重命名操作。只有当被保护目录内部彻底清空,即不再包含任何子目录和文件时,才允许对目录进行删除或重命名等操作。
前提条件
已开通并授权访问OSS-HDFS服务。具体操作,请参见开通OSS-HDFS服务。
使用限制
支持通过OSS控制台或JindoFS命令行工具设置目录保护,两种方式合计最多可配置3000个受保护的目录路径。
通过OSS控制台设置目录保护
要通过OSS控制台设置目录保护,需要先提交工单申请。
设置目录保护。
登录OSS管理控制台。
单击左侧导航栏的Bucket列表,然后单击目标Bucket。
在左侧导航栏,选择
。在HDFS服务页签,开启目录保护,然后设置需要保护的一个或者多个目录。
指定的目录路径必须是以正斜线(/)开头的绝对路径。多个目录路径之间换行分隔。
单击保存。
设置完成后,目录保护功能将在30秒内正式生效。
(可选)如果因业务场景需要重命名或删除目录,可以选择关闭目录保护。
关闭目录保护。
说明您可以选择一键关闭保护所有目录,也可以按需移除不再需要保护的单个或多个目录。
单击保存。
通过JindoFS命令行工具设置目录保护
连接ECS实例。具体操作,请参见连接ECS实例。
下载JindoFS命令行工具。
配置访问密钥和环境变量。
进入已安装的Jindofs JAR包下的bin目录。
以下以
jindofs-sdk-x.x.x-linux
为例,如使用其他版本的JindoSDK,请替换为对应的JAR包名称。cd jindofs-sdk-x.x.x-linux/bin/
在bin目录下新建配置文件jindofs.cfg,并配置阿里云账号的访问密钥(包括Accesskey ID和Accesskey Secret),或者满足权限要求的RAM用户的访问密钥。
[client] fs.oss.accessKeyId = <key> fs.oss.accessKeySecret = <secret>
设置环境变量。
说明<JINDOSDK_CONF_DIR>填写
jindofs.cfg
配置文件所在的绝对路径。export JINDOSDK_CONF_DIR=<JINDOSDK_CONF_DIR>
设置目录保护。
为华东1(杭州)地域的examplebucket下的
/path/to/dir1
和/path/to/dir2
设置目录保护示例如下。./jindofs admin -putConfig -dlsUri oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/ -conf fs.protected.directories=/path/to/dir1,/path/to/dir2
说明指定的目录路径必须是以正斜线(/)开头的绝对路径。多个目录路径之间以英文逗号分隔。
执行以上命令后,无任何返回信息说明已成功设置目录保护。设置完成后,目录保护功能将在30秒内正式生效。
(可选)查看被保护的目录。
./jindofs admin -getConfig -dlsUri oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/ -name fs.protected.directories
返回值示例如下:
fs.protected.directories: /path/to/dir1,/path/to/dir2
(可选)设置目录保护后,如果因业务场景需要重命名或删除目录,可以选择解除目录保护。
重要执行以下命令将一键解除保护当前Bucket下的所有目录,不支持解除保护指定目录。
./jindofs admin -putConfig -dlsUri oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/ -conf fs.protected.directories=