HDFS数据安全与隐私保护

本文涉及的产品
数据安全中心,免费版
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: HDFS数据安全与隐私保护

阅读目录

回到顶部

一、HDFS Trash垃圾桶

1.文件系统垃圾桶背景

HDFS本身也是一个文件系统,那么就会涉及到文件数据的删除操作。

默认情况下,HDFS中是没有回收站垃圾桶概念的,删除操作的数据将会被直接删除,没有后悔药。

2.功能概述

1.HDFS Trash机制,叫做回收站或者垃圾桶。Trash就像Windows操作系统中的回收站一样。它的目的是防止你无意中删除某些东西。默认情况下是不开启的。

2.启用Trash功能后,从HDFS中删除某些内容时,文件或目录不会立即被清除,它们将被移动到回收站Current目录中(/user/${username}/.Trash/current)。

3.Trash中的文件在用户可配置的时间延迟后被永久删除。

4.也可以简单地将回收站里的文件移动到.Trash目录之外的位置来恢复回收站中的文件和目录。

Trash Checkpoint

检查点仅仅是用户回收站下的一个目录,用于存储在创建检查点之前删除的所有文件或目录。

回收站目录在/user/${username}/.Trash/{timestamp_of_checkpoint_creation}

最近删除的文件被移动到回收站Current目录,并且在可配置的时间间隔内,HDFS会为在Current回收站目录下的文件创建检查点/user/${username}/.Trash/<日期>,并在过期时删除旧的检查点。

3.开启Trash功能

修改core-site.xml文件,添加下面两个属性

fs.trash.interval:回收站中的文件多少分钟后会被系统永久删除。如果为零,Trash功能将被禁用。

fs.trash.checkpoint.interval:前后两次检查点的创建时间间隔(单位也是分钟),新的检查点被创建后,随之旧的检查点就会被系统永久删除。如果为零,则将该值设置为fs.trash.interval的值。

同步集群配置文件,重启HDFS

stop-dfs.sh

start-dfs.sh

4.Trash功能使用

4.1 删除文件到Trash

开启Trash功能后,正常执行删除操作,文件实际并不会被直接删除,而是被移动到了垃圾回收站。

删除文件跳过Trash、直接删除

有的时候,我们希望直接把文件删除,不需要再经过Trash回收站了。

可以在执行删除操作的时候添加一个参数:-skipTrash.

4.2 从Trash中恢复文件

回收站里面的文件,在到期被自动删除之前,都可以通过命令恢复出来。

使用mv、cp命令把数据文件从Trash目录下复制移动出来就可以了。

4.3 清空Trash

1.除了fs.trash.interval参数控制到期自动删除之外,用户还可以通过命令手动清空回收站,释放HDFS磁盘存储空间。

2.删除整个回收站目录,将会清空回收站,这是一个选择。

3.此外。HDFS提供了一个命令行工具来完成这个工作:hadoop fs -expunge。该命令立即从文件系统中删除过期的检查点。

回到顶部

二、HDFS Snapshot快照

1.快照概述及作用

1.1 概述

可以将快照理解为拍照片时的那一瞬间的投影。

快照(Snapshot)是数据存储的某一时刻的状态记录;备份(Backup)则是数据存储的某一个时刻的副本。

HDFS Snapshot快照是整个文件系统或某个目录在某个时刻的镜像。该镜像并不会随着源目录的改变而进行动态的更新。

1.2 快照作用

数据恢复

 对重要目录进行创建snapshot的操作,当用户误操作时,可以通过snapshot来进行相关的恢复操作。

数据备份

 使用snapshot来进行整个集群,或者某些目录、文件的备份。管理员以某个时刻的snapshot作为备份的起始结点,然后通过比较不同备份之间差异性,来进行增量备份。

数据测试

 在某些重要数据上进行测试或者实验,可能会直接将原始的数据破坏掉。可以临时的为用户针对要操作的数据来创建一个snapshot,然后让用户在对应的snapshot上进行相关的实验和测试,从而避免对原始数据的破坏。

2.快照功能实现

1 HDFS快照不是数据的简单拷贝,只做差异的记录。

2 对于大多不变的数据,你所看到的数据其实是当前物理路径所指的内容,而发生变更的inode数据才会被快照额外拷贝,也就是所说的差异拷贝。

3 inode指索引节点,用来存放文件及目录的基本信息,包含时间、名称、拥有者、所在组等。

4 HDFS快照不会复制datanode中的块,只记录了块列表和文件大小。

5 HDFS快照不会对常规HDFS操作产生不利影响,修改记录按逆时针顺序进行,因此可以直接访问当前数据。通过从当前数据中减去修改来计算快照数据。

3.快照相关命令

3.1 启用快照功能

1 HDFS中可以针对整个文件系统或者某个目录创建快照,但是创建快照的前提是相应的目录开启快照的功能。

2 如果针对没有启动快照功能的目录创建快照则会报错

3.2 禁用快照功能

gHDFS中可以针对已经开启快照功能的目录进行禁用快照功能的设置

禁用的前提是该目录的所有快照已经被删除

3.3 快照操作相关命令

createSnapshot 创建快照

deleteSnapshot 删除快照

renameSnapshot 重命名快照

lsSnapshottableDir 列出可以快照目录列表

snapshotDiff 获取快照差异报告。

4.快照使用示例

4.1 开启指定目录快照功能

4.2 创建快照

4.3 HDFS Web UI查询集群快照信息

4.4 Web页面浏览快照

4.5 重命名快照

#重命名快照 hdfs dfs -renameSnapshot /allenwoon mysnap1 mysnap2

4.6 列出HDFS集群所有开启快照功能的目录

4.7 快照间差异比较

不同版本快照准备

[root@node1 ~]# echo 222 > 2.txt
[root@node1 ~]# hadoop fs -appendToFile 2.txt /allenwoon/1.txt
[root@node1 ~]# hadoop fs -cat /allenwoon/1.txt
1
222
[root@node1 ~]# hdfs dfs -createSnapshot /allenwoon mysnap3
Created snapshot /allenwoon/.snapshot/mysnap3
[root@node1 ~]# hadoop fs -put zookeeper.out /allenwoon
[root@node1 ~]# hdfs dfs -createSnapshot /allenwoon mysnap4
Created snapshot /allenwoon/.snapshot/mysnap4

快照间差异比较

#比较指定目录两个版本快照之间的差异
hdfs snapshotDiff /allenwoon mysnap2 mysnap3

结果

5.删除快照

#删除指定快照

hdfs dfs -deleteSnapshot /allenwoon mysnap4

6.删除开启快照功能的目录

hadoop fs -rm -r /allenwoon #拥有快照的目录不允许被删除,某种程度上也保护了文件安全

回到顶部

三、HDFS 权限管理

1.HDFS权限管理概述

1 作为分布式文件系统,HDFS也集成了一套权限管理系统。

2 客户端在进行每次文件操时,系统会从用户身份认证和数据访问授权两个环节进行验证。

3 客户端的操作请求会首先通过用户身份验证机制来获得“凭证”(类似于身份证书),HDFS根据此“凭证”分辨出合法的用户名;

4 然后HDFS再据此查看该用户所访问的数据是否已经授权,或者说该身份凭证是否具有权限做这件事。

5 一旦这个流程中的某个环节出现异常,客户端的操作请求便会失败。

2.HDFS UGO权限管理

2.1 拥有者、所在组、其他用户组

HDFS文件权限与Linux/Unix系统的UGO模型类似,简单描述为:每个文件和目录都与一个拥有者和一个组相关联。

USER(文件的所有者):一般是创建该文件的用户,对该文件具有完全的权限。

GROUP(拥有者所在的组):和文件所有者属于同一组的用户。

OTHER(其他用户组):其他用户组的用户。

2.2 读、写、执行权限

1 HDFS文件权限也细分为:读权限(r)、写权限(w)、执行权限(x)。

2 在HDFS中,对于文件,需要r权限才能读取文件,而w权限才能写入或追加到文件。没有x可执行文件的概念。

3 在HDFS中,对于目录,需要r权限才能列出目录的内容,需要w权限才能创建或删除文件或目录,并且需要x权限才能访问目录的子级。

2.3 UGO权限相关命令

#变更目录或文件的权限 可以使用数字 也可以使用字母 u g o a + - r w 
hadoop fs -chmod [-R] 777 /user/itcast/foo
hadoop fs -chmod [-R] u+x,o-x /user/itcast/foo
#变更目录或文件的属主或用户组
hadoop fs -chown [-R] itcast /user/itcast/foo
hadoop fs -chown [-R] itcast:ogroup /user/itcast/foo
#变更用户组hadoop fs -chgrp [-R] group1 /user/itcast/foo

Web页面修改UGO权限

3. HDFS用户身份认证

在HDFS中,用户身份认证独立于HDFS项目之外,也就说HDFS并不负责用户身份合法性检查。

但HDFS会通过相关接口来获取相关的用户身份,然后用于后续的权限管理。

用户是否合法,完全取决于集群使用认证体系。目前社区支持两种身份认证,即简单认证(Simple)和Kerberos。

由hadoop.security.authentication属性指定,默认simple。

3.1 Simple认证

基于HDFS客户端所在的Linux/Unix系统的登录用户名来进行认证。只要用户能正常登录就认证成功。

客户端与NN交互时,会将用户的登录账号(通过类似whoami的命令来获取)作为合法用户名传递至NN。

3.2 Kerberos

pass,自行百度

4.ACL权限管理

在实际工作中,使用UGO来控制权限可以满足大部分场景下的数据安全性要求,但是对于一些复杂的权限需求则无能为力。

4.1 ACL Shell 命令

hadoop fs -getfacl [-R] <path> #显示文件和目录的访问控制列表(ACL)。如果目录具有默认ACL,则getfacl还将显示默认ACL

hadoop fs [generic options] -setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]  #设置文件和目录的访问控制列表(ACL)

hadoop fs -ls <args>   #ls的输出将在带有ACL的任何文件或目录的权限字符串后附加一个'+'字符

4.2 示例

1.使用root超级用户在HDFS上创建一个文件夹

hadoop fs -mkdir /itheima


2.使用普通用户allenwoon去操作/itheima  发现没有权限

[allenwoon@node1 ~]$ echo 1 >> 1.txt

[allenwoon@node1 ~]$ hadoop fs -put 1.txt /itheima

put: Permission denied: user=allenwoon, access=WRITE, inode="/itheima":root:supergroup:drwxr-xr-x


3.接下来使用ACL给allenwoon用户单独添加权限  而/itheima文件夹本身权限不变


hadoop fs -setfacl -m user:allenwoon:rwx /itheima

setfacl: The ACL operation has been rejected.  Support for ACLs has been disabled by setting dfs.namenode.acls.enabled to false.


4.发现报错  原因是ACL功能默认是关闭的。在hdfs-site.xml中设置dfs.namenode.acls.enabled=true 开启ACL,重启HDFS集群


5.设置成功之后查看ACL权限

hadoop fs -getfacl /itheima

[root@node1 ~]# hadoop fs -getfacl /itheima

# file: /itheima

# owner: root

# group: supergroup

user::rwx

user:allenwoon:rwx    # 发现allenwoon权限配置成功

group::r-x

mask::rwx

other::r-x


6.再使用普通用户allenwoon去操作,发现可以成功了.如果切换其他普通用户比如itcast  发现还是无法操作

[itcast@node2 ~]$ echo 2 >> 2.txt

[itcast@node2 ~]$ hadoop fs -put 2.txt /itheima

put: Permission denied: user=itcast, access=WRITE, inode="/itheima":root:supergroup:drwxrwxr-x

4.3 ACL其他操作命令

1.带有ACL的任何文件或目录的权限字符串后附加一个'+'字符

[root@node1 ~]# hadoop fs -ls /

Found 5 items

drwxr-xr-x   - root supergroup          0 2021-01-06 20:59 /data

drwxr-xr-x   - root supergroup          0 2020-12-31 11:59 /itcast

drwxrwxr-x+  - root supergroup          0 2021-01-07 19:38 /itheima

drwx------   - root supergroup          0 2020-12-31 11:56 /tmp

drwxr-xr-x   - root supergroup          0 2020-12-31 11:56 /user


2.删除指定的ACL条目

hadoop fs -setfacl -x user:allenwoon /itheima


3.删除基本ACL条目以外的所有条目。保留用户,组和其他条目以与权限位兼容。

hadoop fs -setfacl -b /itheima


4.设置默认的ACl权限,以后在该目录中新建文件或者子目录时,新建的文件/目录的ACL权限都是之前设置的default ACLs

[root@node1 ~]# hadoop fs -setfacl -m default:user:allenwoon:rwx /itheima

[root@node1 ~]# hadoop fs -getfacl /itheima

# file: /itheima

# owner: root

#group:supergroup

user::rwx

group::r-x

other::r-x

default:user::rwx

default:user:allenwoon:rwx

default:group::r-x

default:mask::rwx

default:other::r-x


5.删除默认ACL权限

hadoop fs -setfacl -k /itheima


6.--set: 完全替换ACL,丢弃所有现有条目。acl_spec必须包含用户,组和其他条目,以便与权限位兼容。

hadoop fs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /file

回到顶部

四、HDFS Proxy user代理用户

1.背景介绍

Proxy中文称之为代理、委托。用来进行事物不想或不能进行的其他操作。

HDFS Proxy user(代理用户)描述的是一个用户(比如超级用户)如何代表另一个用户提交作业或访问HDFS。

比如:用户名为“Admin”的超级用户代表用户Allen提交作业并访问HDFS。

因为超级用户Admin具有kerberos凭证,但Allen用户没有任何凭证。这些任务需要以用户Allen的身份运行,而对namenode的任何文件访问都必须以用户Allen的身份进行。
要求用户Allen可以在通过Admin的kerberos凭据进行身份验证的连接上连接到namenode。换句话说, Admin正在冒充用户Allen 。

2.使用示例

Admin的身份凭据用于登录,并为Allen创建了代理用户ugi对象。

在代理用户ugi对象的doAs方法内执行操作。

3.配置参数

可以通过在core-site.xml中使用下面属性来配置代理用户:

hadoop.proxyuser.$superuser.hosts

hadoop.proxyuser.$superuser.groups

通过通配符*可用于允许来自任何主机或任何用户的模拟

配置示例

例如:名为super的超级用户只能从host1和host2连接来模拟属于group1和group2的用户。
<property>
    <name>hadoop.proxyuser.super.hosts</name>    
    <value>host1,host2</value>
</property>
<property>
    <name>hadoop.proxyuser.super.groups</name>           
    <value>group1,group2</value>
</property>
# 从任何主机访问的名为oozie的用户都可以假冒属于任何组的任何用户
<property>
    <name>hadoop.proxyuser.oozie.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.oozie.groups</name>
    <value>*</value>
</property>

回到顶部

五、HDFS 透明加密

1.HDFS明文存储弊端

HDFS中的数据会以block的形式保存在各台数据节点的本地磁盘中,但这些block都是明文的。

通过Web UI页面找到Block的ID和副本位于的机器信息

如果在操作系统下,直接访问block所在的目录,通过Linux的cat命令是可以直接查看里面的内容的,且是明文

2.HDFS透明加密介绍

HDFS透明加密(Transparent Encryption)支持端到端的透明加密,启用以后,对于一些需要加密的HDFS目录里的文件可以实现透明的加密和解密,
而不需要修改用户的业务代码。端到端是指加密和解密只能通过客户端。

对于加密区域里的文件,HDFS保存的即是加密后的文件,文件加密的秘钥也是加密的。让非法用户即使从操作系统层面拷走文件,也是密文,没法查看。


特点

 1.HDFS集群管理和密钥的管理是互相独立的职责,由不同的用户角色(HDFS管理员,密钥管理员)承担

 2.只有HDFS客户端可以加密或解密数据,密钥管理在HDFS外部,HDFS无法访问未加密的数据或加密密钥

 3.block在操作系统是以加密的形式存储的,从而减轻了操作系统和文件系统级别的安全威胁

 4.HDFS使用AES-CTR加密算法。AES-CTR支持128位加密密钥(默认)

3.HDFS透明加密关键概念和架构

3.1 加密区域

HDFS的透明加密有一个新的概念,加密区域(the encryption zone)。

加密区域就是HDFS上的一个目录,只不过该目录比其他目录特殊。

加密区域里写入文件的时候会被透明加密,读取文件的时候又会被透明解密。

3.2 秘钥

当加密区域被创建时,都会有一个加密区域秘钥(EZ密钥,encryption zone key)与之对应,EZ密钥存储在HDFS外部的密钥库中。

加密区域里的每个文件都有其自己加密密钥,叫做数据加密秘钥(DEK,data encryption key)。

DEK会使用其各自的加密区域的EZ密钥进行加密,以形成加密数据加密密钥(EDEK)。

3.3 密钥库(keystore)

存储密钥(key)的叫做密钥库(keystore),将HDFS与外部企业级密钥库(keystore)集成是部署透明加密的第一步。

这是因为密钥(key)管理员和HDFS管理员之间的职责分离是此功能的非常重要的方面。

但是,大多数密钥库都不是为Hadoop工作负载所见的加密/解密请求速率而设计的。

3.4 KMS(密钥管理服务)

Hadoop密钥管理服务(Key Management Server,简写KMS),用作HDFS客户端与密钥库之间的代理。

KMS主要有以下几个职责:

   1.访问加密区域秘钥(EZ key)

   2.生成EDEK,EDEK存储在NameNode上

   3.为HDFS客户端解密EDEK

4.加密及解密文件过程

4.1 加密文件过程

提前动作:创建加密区,设置加密区密钥

1、Client向NN请求在HDFS某个加密区新建文件;

2、NN从缓存中取出一个新的EDEK(后台不断从KMS拉取新的EDEK到缓存中)

3、获取到EDEK会被NN保存到文件的元数据中;

4、然后NN将EDEK发送给Client;

5、Client发送EDEK给KMS,KMS用对应的EZ key将EDEK解密出DEK发送给Client;

6、Client用DEK加密文件内容发送给datanode进行存储。



DEK是加解密一个文件的密匙,而KMS里存储的EZ key是用来加解密所有文件的密匙(DEK)的密匙。

所以,EZ Key是更为重要的数据,只在KMS内部使用(DEK的加解密只在KMS内存进行),不会被传递到外面使用;

而HDFS服务端只能接触到EDEK。

4.2 读取解密文件过程

读流程与写流程类型,区别就是NN直接读取加密文件元数据里的EDEK返回给客户端,客户端一样把EDEK发送给KMS获取DEK。再对加密内容解密读取。

EDEK的加密和解密完全在KMS上进行。更重要的是,请求创建或解密EDEK的客户端永远不会处理EZ密钥。仅KMS可以根据要求使用EZ密钥创建和解密EDEK。

5.KMS配置

5.1 keystore密钥库

存储密钥(key)的地方叫做密钥库(keystore)。

HDFS与keystore是互相独立的,两者之间通过KMS进行沟通。

KMS可以选择任何KeyProvider(密钥供应者)实现作为keystore 。

此处的示例使用JavaKeyStoreProvider来作为keystore。

https://hadoop.apache.org/docs/r3.1.4/hadoop-project-dist/hadoop-common/CredentialProviderAPI.html#Keystore_Passwords

5.2 创建keystore

#密钥库的名字叫做itcast,访问密钥库的密码是:123456

keytool -genkey  -alias 'itcast_keystore'

5.3 配置kms-site.xml

<configuration>
    <property>
        <name>hadoop.kms.key.provider.uri</name>    # 设置密钥库的提供者 这里设置jceks,表示就是java密钥库。
        <value>jceks://file@/${user.home}/kms.jks</value>
    </property>
    <property>
        <name>hadoop.security.keystore.java-keystore-provider.password-file</name>
        <value>kms.keystore.password</value>
    </property>
    <property>
        <name>dfs.encryption.key.provider.uri</name>
        <value>kms://http@node1:16000/kms</value>
    </property>
    <property>
        <name>hadoop.kms.authentication.type</name>
        <value>simple</value>
    </property>
</configuration>

5.4 配置kms密码文件(kms.keystore.password 上一步配置文件中定义)

KMS访问java密钥库的密码文件需配置在Hadoop的配置目录下,在该文件中填写keystore的密码,此处为123456

5.5 配置 kms-env.sh

export KMS_HOME=/export/server/hadoop-3.1.4 #hadoop 安装目录

export KMS_LOG=${KMS_HOME}/logs/kms

export KMS_HTTP_PORT=16000

export KMS_ADMIN_PORT=16001

5.6 修改core|hdfs-site.xml

core-site.xml
<property>
    <name>hadoop.security.key.provider.path</name>
    <value>kms://http@node1:16000/kms</value>
</property>
hdfs-site.xml
<property>
    <name>dfs.encryption.key.provider.uri</name>
    <value>kms://http@node1:16000/kms</value>
</property>

5.7 同步配置

5.8  启动kms服务(KMSWebServer)

6.HDFS透明加密使用

6.1 创建key

创建的key用于后面创建加密空间时,指定加密空间的EZ key。

hadoop key create ezk

hadoop key list -metadata

5.2 创建加密区

首先创建一个目录,然后把该目录设置为加密区

hadoop fs -mkdir /zone

hdfs crypto -createZone -keyName ezk -path /zone

5.3 测试加密效果

上传文件到加密区,然后读取文件内容
echo helloitcast >> helloWorld
hadoop fs -put helloWorld /zone 
hadoop fs -cat /zone/helloWorld 
获取文件加密信息
hdfs crypto -getFileEncryptionInfo -path /zone/helloWorld

切换不同用户进行文件读取操作只要具备read权限都可以读取文件的内容。也就是对客户端来说是透明的,感觉不到文件被加密。

如果直接从DataNode的机器的本地文件系统读取Block信息。发现是无法读取数据的。因为在存储数据的时候被加密了。

 

相关文章
|
4月前
|
安全 Java Apache
Java中的数据安全与隐私保护技术
Java中的数据安全与隐私保护技术
|
1月前
|
存储 人工智能 安全
数据治理:强化数据安全与隐私保护的基石
在当今这个数字化时代,数据已成为推动社会进步和企业发展的核心驱动力。从个人消费习惯到企业运营策略,从政府决策支持到科研创新突破,数据无处不在,其价值不言而喻。然而,随着数据量的爆炸性增长和流通范围的扩大,数据安全与隐私保护问题也日益凸显,成为制约数据价值最大化利用的重要瓶颈。因此,构建完善的数据治理体系,特别是强化数据安全与隐私保护,成为了时代发展的必然要求。
|
1月前
|
边缘计算 监控 安全
边缘计算的挑战和机遇——数据安全与隐私保护
边缘计算的挑战和机遇——数据安全与隐私保护
|
3月前
|
监控 安全 数据安全/隐私保护
确保数据安全与隐私保护的数据治理最佳实践
【8月更文第13天】随着数据成为企业最重要的资产之一,数据安全和隐私保护变得至关重要。本文将探讨数据治理中的一些最佳实践,并提供具体的代码示例来说明如何实施这些策略。
688 4
|
3月前
|
存储 安全 Java
隐私保护与数据安全:FunAudioLLM的安全性设计
【8月更文第28天】随着人工智能技术的普及,隐私保护和数据安全变得尤为重要。FunAudioLLM(虚构名称)是一款专注于语音合成的软件库,它不仅提供高质量的语音合成服务,还非常重视用户的隐私和数据安全。本文将详细介绍FunAudioLLM如何确保用户数据的安全性和隐私保护,并通过具体的代码示例展示如何使用该引擎时实施最佳实践。
82 0
|
3月前
|
存储 供应链 安全
智能时代的隐私保护:区块链技术在数据安全中的应用
【8月更文挑战第5天】 随着数字化浪潮的不断推进,个人隐私和数据安全问题愈发凸显。本文深入探讨了区块链技术如何为智能时代下的数据安全提供解决方案,通过具体案例分析了其在加强数据透明度、确保信息不可篡改性以及提升用户控制权方面的潜力与挑战。文章还讨论了区块链技术在实现隐私保护方面所面临的技术限制和法律问题,并展望了其在未来数据治理中的可能角色。
132 0
|
4月前
|
存储 监控 安全
数据安全与隐私保护在返利App中的实施策略
数据安全与隐私保护在返利App中的实施策略
|
6月前
|
存储 人工智能 算法
数据安全与隐私保护在人工智能时代的挑战与应对
随着人工智能技术的快速发展,数据安全和隐私保护问题日益凸显。本文将探讨在人工智能时代下,数据安全面临的挑战以及如何有效应对,为保护用户数据和维护信息安全提供新思路。
1101 13
|
6月前
|
存储 边缘计算 安全
边缘计算中的数据安全与隐私保护:挑战与应对策略
边缘计算中的数据安全与隐私保护:挑战与应对策略
|
6月前
|
存储 安全 数据安全/隐私保护
云计算中的数据安全与隐私保护:技术与挑战
云计算中的数据安全与隐私保护:技术与挑战
818 0