导入TLS证书
- 通过接口tft_start_controller、tft_init_processor配置TLS密钥证书等,进行TLS安全连接,安全选项默认开启,建议用户开启TLS加密配置,以保证通信安全,如需关闭加密功能,可以使用下面示例,调用接口进行关闭。
- 系统启动后,建议删除本地密钥证书等信息敏感文件。
- 调用该接口时,传入的文件路径应避免包含英文分号、逗号、冒号。
- 支持通过环境变量TTP_ACCLINK_CHECK_PERIOD_HOURS和TTP_ACCLINK_CERT_CHECK_AHEAD_DAYS配置证书检查周期与证书过期预警时间。
配置TLS接口调用示例
- TLS关闭(“enable_tls”=False)时,tls_info无效,无需配置。此开关不影响MindIO TFT特性功能。
from mindio_ttp.framework_ttp import tft_start_controller, tft_init_processor tft_start_controller(bind_ip: str, port: int, enable_tls=False, tls_info='') tft_init_processor(rank: int, world_size: int, enable_local_copy: bool, enable_tls=False, tls_info='', enable_uce=True, enable_arf=False)
- 如果关闭TLS(即“enable_tls”=False时),会存在较高的网络安全风险。
- tft_start_controller和tft_init_processor的enable_tls开关状态需要保持一致。若两个接口enable_tls开关不同,会造成以下问题:
- 模块间TLS建链失败。
- MindIO TFT无法正常运行,训练任务启动失败。
- TLS开启(“enable_tls”=True)时,证书相关信息,作为必选参数tls_info用于如下接口:
from mindio_ttp.framework_ttp import tft_start_controller, tft_init_processor, tft_register_decrypt_handler # 在tls_info中 ,以“;”分隔不同字段,以“,”分隔各个文件 tls_info = r"( tlsCert: /etc/ssl/certs/cert.pem; tlsCrlPath: /etc/ssl/crl/; tlsCaPath: /etc/ssl/ca/; tlsCaFile: ca_cert_1.pem, ca_cert_2.pem; tlsCrlFile: crl_1.pem, crl_2.pem; tlsPk: private key; tlsPkPwd: private key pwd; packagePath: /etc/ssl/ )" # 若tlsPkPwd口令为密文,则需注册口令解密函数 tft_register_decrypt_handler(user_decrypt_callback) tft_start_controller(bind_ip: str, port: int, enable_tls=True, tls_info=tls_info) tft_init_processor(rank: int, world_size: int, enable_local_copy: bool, enable_tls=True, tls_info=tls_info, enable_uce=True, enable_arf=False)
tls_info中各字段含义
字段 |
含义 |
Required |
|---|---|---|
tlsCert |
Server证书。 |
是 |
tlsCaPath |
CA证书存储路径。 |
是 |
tlsCaFile |
CA证书列表。 |
是 |
tlsCrlPath |
证书吊销列表存储路径。 |
否 |
tlsCrlFile |
证书吊销列表。 |
否 |
tlsPk |
私钥。 |
是 |
tlsPkPwd |
私钥口令。 |
是 |
packagePath |
OpenSSL库路径 |
是 |
证书安全要求:
- 需使用业界公认安全可信的非对称加密算法、密钥交换算法、密钥长度、Hash算法、证书格式等。
- 应处于有效期内。
父主题: 开启TLS认证