运行MRS作业时如何读取OBS加密数据
MRS 1.9.x支持使用OBS文件系统中加密后的数据来运行作业,同时支持将加密后的作业运行结果存储在OBS文件系统中。目前仅支持通过OBS协议访问数据。
OBS支持使用KMS密钥的加解密方式对数据进行加解密,所有的加解密操作都在OBS完成,同时密钥管理在DEW服务。
如需在MRS中使用OBS加密功能,用户需要有“KMS Administrator”权限,且需要在相应组件进行如下配置。
如果集群同时开启“OBS权限控制”功能,此时会使用ECS配置的默认委托“MRS_ECS_DEFAULT_AGENCY”或者用户设置的自定义委托的AK/SK访问OBS服务,同时OBS服务会使用接收到的AK/SK访问数据加密服务获取KMS密钥状态,因此需要在使用的委托上绑定“KMS Administrator”策略,否则在处理加密数据时OBS会返回“403 Forbidden”的错误信息。目前MRS服务会在默认委托“MRS_ECS_DEFAULT_AGENCY”绑定“KMS Administrator”策略,用户使用的自定义委托则需要用户自己绑定。
前提条件
如需使用OBS加密功能,请先配置MRS访问OBS功能,具体请参考配置MRS集群通过IAM委托对接OBS。
Hive配置
- 登录MRS控制台,在左侧导航栏选择 ,单击集群名称。
- 选择“组件管理 > Hive > 服务配置”。
- 将“基础配置”切换为“全部配置”,搜索并配置如下参数:
表1 数据加密参数 参数
取值
说明
fs.obs.server-side-encryption-type
SSE-KMS
- SSE-KMS:表示使用KMS密钥的加解密方式。
- NONE:表示关闭加密功能。
fs.obs.server-side-encryption-key
-
表示用来加密的KMS密钥ID。该参数可不配置。
当参数“fs.obs.server-side-encryption-type”配置为“SSE-KMS”且该参数未配置时,OBS会使用OBS服务的默认KMS密钥完成加密。
fs.obs.connection.ssl.enabled
true
标识是否与OBS建立安全连接。
- true:开启安全连接,当需要使用OBS加解密功能时该参数必须配置为“true”。
- false:关闭安全连接。
- 单击“保存配置”,根据界面提示保存修改的参数。
Hadoop配置
方式一:通过界面配置。
- 登录MRS控制台,在左侧导航栏选择 ,单击集群名称。
- 选择“组件管理 > HDFS > 服务配置”
- 将“基础配置”切换为“全部配置”,搜索并配置如下参数:
表2 数据加密参数 参数
取值
说明
fs.obs.server-side-encryption-type
SSE-KMS
- SSE-KMS:表示使用KMS密钥的加解密方式。
- NONE:表示关闭加密功能。
fs.obs.server-side-encryption-key
-
表示用来加密的KMS密钥ID。该参数可不配置。
当参数“fs.obs.server-side-encryption-type”配置为“SSE-KMS”且该参数未配置时,OBS会使用OBS服务的默认KMS密钥完成加密。
fs.obs.connection.ssl.enabled
true
标识是否与OBS建立安全连接。
- true:开启安全连接,当需要使用OBS加解密功能时该参数必须配置为“true”。
- false:关闭安全连接。
- 单击“保存配置”,根据界面提示保存修改的参数。
- 以root用户登录Master节点,密码为用户创建集群时设置的root密码(若集群存在多个Master节点,请分别登录每个Master节点进行5~7的操作)。
- 执行以下命令,切换到客户端目录,例如“/opt/Bigdata/client”。
cd /opt/Bigdata/client
- 执行以下命令更新客户端配置,并输入用户名和密码,用户名为admin,密码为用户创建集群时设置的admin密码。
./ autoRefreshConfig.sh
方式二:通过客户端配置文件配置。
在Master节点上的客户端配置文件(例如“/opt/Bigdata/client/HDFS/hadoop/etc/hadoop/core-site.xml”)中的增加如下参数配置(若集群存在多个Master节点,请分别登录每个Master节点进行该操作)。
参数 |
取值 |
说明 |
---|---|---|
fs.obs.server-side-encryption-type |
SSE-KMS |
|
fs.obs.server-side-encryption-key |
- |
表示用来加密的KMS密钥ID。该参数可不配置。 当参数“fs.obs.server-side-encryption-type”配置为“SSE-KMS”且该参数未配置时,OBS会使用OBS服务的默认KMS密钥完成加密。 |
fs.obs.connection.ssl.enabled |
true |
标识是否与OBS建立安全连接。
|
HBase配置
方式一:通过界面配置。
- 登录MRS控制台,在左侧导航栏选择 ,单击集群名称。
- 选择“组件管理 > HBase > 服务配置”
- 将“基础配置”切换为“全部配置”,搜索并配置如下参数:
表4 数据加密参数 参数
取值
说明
fs.obs.server-side-encryption-type
SSE-KMS
- SSE-KMS:表示使用KMS密钥的加解密方式。
- NONE:表示关闭加密功能。
fs.obs.server-side-encryption-key
-
表示用来加密的KMS密钥ID。该参数可不配置。
当参数“fs.obs.server-side-encryption-type”配置为“SSE-KMS”且该参数未配置时,OBS会使用OBS服务的默认KMS密钥完成加密。
fs.obs.connection.ssl.enabled
true
标识是否与OBS建立安全连接。
- true:开启安全连接,当需要使用OBS加解密功能时该参数必须配置为“true”。
- false:关闭安全连接。
- 单击“保存配置”,根据界面提示保存修改的参数。
- 以root用户登录Master节点,密码为用户创建集群时设置的root密码(若集群存在多个Master节点,请分别登录每个Master节点进行5~7的操作)。
- 执行以下命令,切换到客户端目录,例如“/opt/Bigdata/client”。
cd /opt/Bigdata/client
- 执行以下命令更新客户端配置,并输入用户名和密码,用户名为admin,密码为用户创建集群时设置的admin密码。
./ autoRefreshConfig.sh
方式二:通过客户端配置文件配置。
在Master节点上的客户端配置文件(例如“/opt/Bigdata/client/HBase/hbase/conf/core-site.xml”)中的增加如下参数配置(若集群存在多个Master节点,请分别登录每个Master节点进行该操作)。
参数 |
取值 |
说明 |
---|---|---|
fs.obs.server-side-encryption-type |
SSE-KMS |
|
fs.obs.server-side-encryption-key |
- |
表示用来加密的KMS密钥ID。该参数可不配置。 当参数“fs.obs.server-side-encryption-type”配置为“SSE-KMS”且该参数未配置时,OBS会使用OBS服务的默认KMS密钥完成加密。 |
fs.obs.connection.ssl.enabled |
true |
标识是否与OBS建立安全连接。
|
Spark配置
方式一:通过界面配置。
- 登录MRS控制台,在左侧导航栏选择 ,单击集群名称。
- 选择“组件管理 > Spark > 服务配置”
- 将“基础配置”切换为“全部配置”,搜索并配置如下参数:
表6 数据加密参数 参数
取值
说明
fs.obs.server-side-encryption-type
SSE-KMS
- SSE-KMS:表示使用KMS密钥的加解密方式。
- NONE:表示关闭加密功能。
fs.obs.server-side-encryption-key
-
表示用来加密的KMS密钥ID。该参数可不配置。
当参数“fs.obs.server-side-encryption-type”配置为“SSE-KMS”且该参数未配置时,OBS会使用OBS服务的默认KMS密钥完成加密。
fs.obs.connection.ssl.enabled
true
标识是否与OBS建立安全连接。
- true:开启安全连接,当需要使用OBS加解密功能时该参数必须配置为“true”。
- false:关闭安全连接。
- 单击“保存配置”,根据界面提示保存修改的参数。
- 以root用户登录Master节点,密码为用户创建集群时设置的root密码(若集群存在多个Master节点,请分别登录每个Master节点进行5~7的操作)。
- 执行以下命令,切换到客户端目录,例如“/opt/Bigdata/client”。
cd /opt/Bigdata/client
- 执行以下命令更新客户端配置,并输入用户名和密码,用户名为admin,密码为用户创建集群时设置的admin密码。
./autoRefreshConfig.sh
方式二:通过客户端配置文件配置。
在Master节点上的客户端配置文件(例如“/opt/Bigdata/client/Spark/spark/conf/core-site.xml”)中的增加如下参数配置(若集群存在多个Master节点,请分别登录每个Master节点进行该操作)。
参数 |
取值 |
说明 |
---|---|---|
fs.obs.server-side-encryption-type |
SSE-KMS |
|
fs.obs.server-side-encryption-key |
- |
表示用来加密的KMS密钥ID。该参数可不配置。 当参数“fs.obs.server-side-encryption-type”配置为“SSE-KMS”且该参数未配置时,OBS会使用OBS服务的默认KMS密钥完成加密。 |
fs.obs.connection.ssl.enabled |
true |
标识是否与OBS建立安全连接。
|
Presto配置
- 登录MRS控制台,在左侧导航栏选择 ,单击集群名称。
- 选择“组件管理 > Presto > 服务配置”
- 将“基础配置”切换为“全部配置”,搜索并配置如下参数:
表8 数据加密参数 参数
取值
说明
fs.obs.server-side-encryption-type
SSE-KMS
- SSE-KMS:表示使用KMS密钥的加解密方式。
- NONE:表示关闭加密功能。
fs.obs.server-side-encryption-key
-
表示用来加密的KMS密钥ID。该参数可不配置。
当参数“fs.obs.server-side-encryption-type”配置为“SSE-KMS”且该参数未配置时,OBS会使用OBS服务的默认KMS密钥完成加密。
fs.obs.connection.ssl.enabled
true
标识是否与OBS建立安全连接。
- true:开启安全连接,当需要使用OBS加解密功能时该参数必须配置为“true”。
- false:关闭安全连接。
- 单击“保存配置”,根据界面提示保存修改的参数。