- A+
目标
1.认识 Fabric CA 服务器端主目录路径
2.启动 Fabric CA 的方式
任务实现
6.3.1 初始化
Fabric CA 服务器的主目录确定如下:
如果设置了-home 命令行选项,则使用其值
否则,如果FABRIC_CA_SERVER_HOME设置了环境变量,则使用其值
否则,如果FABRIC_CA_HOME设置了环境变量,则使用其值
否则,如果CA_CFG_PATH 设置了环境变量,则使用其值
否则,使用当前工作目录作为服务器端的主目录.
现在我们使用一个当前所在的目录作为服务器端的主目录。返回至用户的HOME目录下,创建一个 fabric-ca 目录并进入该目录
快速启动并初始化一个 fabric-ca-server 服务
6.3.3 配置数据库
Fabric CA 默认数据库为SQLite,默认数据库文件fabric-ca-server.db位于 Fabric CA 服务器的主目录中。SQLite 是一个嵌入式的小型的数据系统,但在一些特定的情况下,我们需要集群来支持,所以Fabric CA 也设计了支持其它的数据库系统(目前只支持 MySQL、PostgreSQL 两种)。Fabric CA 在集群设置中支持以下数据库版本:
PostgreSQL:9.5.5 或更高版本
MySQL:5.7 或更高版本
下面我们来看如何配置来实现对不同数据库的支持。
6.3.3.1 配置 PostgreSQL
如果使用 PostgreSQL 数据库,则需要在 Fabric CA 服务器端的配置文件进行如下设置:
certfiles:PEM 编码的受信任根证书文件列表。
certfile和keyfile:Fabric CA 服务器用于与 PostgreSQL 服务器安全通信的 PEM 编码证书和密钥文件。用于服务器与数据库之间的 TLS 连接。
关于生成自签名证书可参考官方说明:https://www.postgresql.org/docs/9.5/static/ssl-tcp.html,需要注意的是,自签名证书仅用于测试目的,不应在生产环境中使用。
有关在PostgreSQL服务器上配置SSL的更多详细信息,请参阅以下PostgreSQL文档:https://www.postgresql.org/docs/9.4/static/libpq-ssl.html
6.3.3.2 配置 MySQL
如果使用 MySQL 数据库,则需要在 Fabric CA 服务器端的配置文件进行如下设置:
如果通过 TLS 连接到 MySQL 服务器,则还需要配置 db.tls.client 部分。如 PostgreSQL 的部分所述。
mySQL 数据库名称中允许使用字符限制。请参考:
https://dev.mysql.com/doc/refman/5.7/en/identifiers.html
关于 MySQL 可用的不同模式,请参阅:https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html,为正在使用的特定MySQL版本选择适当的设置。
6.3.4 配置LDAP
LDAP(Lightweight Directory Access Protocol):轻量目录访问协议。
Fabric CA服务器可以通过服务器端的配置连接到指定LDAP服务器。之后可以执行以下操作:
在注册之前读取信息进行验证
对用于授权的标识属性值进行验证
修改 Fabric CA 服务器的配置文件中的LDAP部分:
配置信息中各部分解释如下:
scheme:为 ldap 或 ldaps;
adminDN:是admin用户的唯一名称;
adminPassword:是admin用户的密码;
host:是LDAP服务器的主机名或IP地址;
port:是可选的端口号,默认 LDAP 为 389 ; LDAPS 为 636 ;
base:用于搜索的LDAP树的可选根路径;
filter:将登录用户名转换为可分辨名称时使用的过滤器;
LDAPAttrs:是一个LDAP属性名称数组,代表用户从LDAP服务器请求;
attribute.converters:部分用于将LDAP属性转换为结构CA属性,其中fcaAttrName是结构CA属性的名称; fcaExpr 是一个表达式。例如,假设是[“uid”],是'hf.Revoker',而是'attr(“uid”)=〜“revoker *”'。这意味着代表用户从LDAP服务器请求名为“uid”的属性。如果用户的'uid'LDAP属性的值以 revoker 开头,则为 hf.Revoker 属性赋予用户 true 的值;否则,为 hf.Revoker 属性赋予用户 false 的值。
attribute.maps:部分用于映射LDAP响应值。典型的用例是将与LDAP组关联的可分辨名称映射到标识类型。
配置好 LDAP 后,用户注册的过程如下:
Fabric CA 客户端或客户端 SDK 使用基本授权标头发送注册请求。
2.Fabric CA 服务器接收注册请求,解码授权头中的身份名称和密码,使用配置文件中的 “userfilter” 查找与身份名称关联的 DN(专有名称),然后尝试 LDAP 绑定用户身份的密码。如果 LDAP 绑定成功,则注册被通过。
FAQ
1.在实际中 Fabric CA 的身份信息保存在什么地方?
可根据具体需求选择 Fabric CA 支持的数据库,一般应用选择 SQLite 即可。中、大型应用选择 MySQL 或 PostgreSQL 或 LDAP
未经授权禁止转载、改编,转载请注明出处!
- 我的微信
- 这是我的微信扫一扫
- 我的电报
- 这是我的电报扫一扫