在 PureData System for Hadoop 内实现安全性(3)
 
- UID
- 1066743
|

在 PureData System for Hadoop 内实现安全性(3)
配置 Big SQL 安全性Big SQL 是连接基于 Hadoop 的平台 InfoSphere BigInsights 的 IBM SQL 接口,旨在为 SQL 开发人员提供查询 Hadoop 所管理的数据的能力。您可以为 Big SQL 启用其自己的身份验证、授权和加密。这些安全特性是 Big SQL 独有的,已直接构建到 Big SQL 中。
以下各节将介绍如何通过更新 $BIGSQL_HOME/conf/ 目录中的 Big SQL 配置文件 bigsql-conf.xml,配置身份验证、授权和加密。要让更改生效,必须重新启动 Big SQL 服务器。
启用身份验证更新 $BIGSQL_HOME/conf/ 目录中的 bigsql-conf.xml 配置文件。要使用 InfoSphere BigInsights 控制台作为 Big SQL 的身份验证器,需要将 bigsql.security.authenticator 值设置为 WebConsole,这也是默认值,如下面这条命令所示:
1
| <bigsql.security.authenticator value="WebConsole">
|
备注:正确配置身份验证后,Big SQL 将用户凭据发送给 InfoSphere BigInsights 控制台来执行身份验证。基于用户的有效性,InfoSphere BigInsights 向 Big SQL 提供用户角色。
启用授权与 biadmin 用户一样,在 HDFS 中为所有用户创建个人目录。在这些目录中,它们可创建私有、共享或公共的模式和表。要启用授权,可从 Hadoop Distributed File System 内的命令行发出以下命令。
1
2
3
| $HADOOP_HOME/bin/hadoop fs -mkdir /user/user_id<br>
$HADOOP_HOME/bin/hadoop fs -chown user_id:group_id /user/user_id
$HADOOP_HOME/bin/hadoop fs -chmod 755 /user/user_id
|
更新 $BIGSQL_HOME/conf/ 目录中的 bigsql-conf.xml 配置文件。使用下面这条命令,将 authorizer 设置为授权模式:
1
| <bigsql.security.authorizer value="authorization_mode">
|
授权模式使用 HDFS 权限来控制数据访问。为 authorization_mode 选择以下值之一:
- none— 在安全无关紧要时使用此模式。Big SQL 服务器内的所有操作都使用超级用户或管理用户授权来完成,无论是谁连接到服务器。
- dataSource:如果当前连接的用户是管理用户,那么服务器将会使用与 Big SQL 服务器进程所有者(通常是 biadmin)相同的用户 ID 来执行任务,比如读取 HDFS 文件,写入到 HDFS 文件,以及生成 MapReduce 作业。如果当前用户不是管理用户,那么这些任务将使用当前连接的用户的用户 ID 来执行。
启用 SSL 加密要启用 SSL 加密,必须配置服务器和客户端。
要配置 Big SQL 服务器:
- 使用以下值更新 $BIGSQL_HOME/conf/ 目录中的 bigsql-conf.xml 配置文件:
1
2
3
4
5
6
7
8
| <bigsql.security.ssl value="true"/>
<!-- location of keystore file. keystore file contains private key.
keystore file can be created using $JAVA_HOME/bin/keytool -->
<bigsql.security.ssl.keyStore value="/path/to/keystore_file">
<!-- Keystore file password --><br>
<bigsql.security.ssl.keyStore.passWord value="password_for_keystore_file"/>
<!-- Key Manager -->
<bigsql.security.ssl.keyStore.keyManager value="keymanager_value"/>
|
- 重新启动 Big SQL 服务器。
要为 Big SQL (JDBC) 客户端配置 SSL:
- 确保已使用下面这条命令导入 Big SQL 服务器在信任库文件中提供的证书:
- 在 JDBC 应用程序中,使用以下连接 URL 和命令:
1
2
| jdbc:bigsql://<host>:<port>/<database>:<parameter>=<value>;
<parameter2>=<value2>...
|
- 设置这些参数和值对:
1
2
3
4
5
6
| user=<username>
password=<password>
SSL=true
truststore=/path/to/truststore_file
truststore.password=truststore_password
keymanager=IbmX509
|
|
|
|
|
|
|