配置证书

AI-VAULT证书导入前,无法访问其它接口,需要在部署AI-VAULT前导入证书。

AI-VAULT组件提供证书申请请求和导入证书请求命令行接口。

用户按照如下操作完成证书配置。

  • 对于容器场景中首次生成证书的配置,可以先使用普通用户(执行步骤以账号名AiVault为例)在宿主机上运行AI-VAULT生成证书签发请求和导入证书命令,然后将生成的配置目录(~/.ai-vault/)作为卷挂载到容器中使用,请注意安全加固,该卷应当仅被AI-VAULT使用。基于安全考虑,用户在完成证书导入或者升级替换后,应将AiVault账号设置为不可登陆(nologin)。
  • 导入证书接口支持客户端和服务端分别使用不同的CA来进行签发,因此在导入时,并不会校验对端CA和服务证书的签发关系。
  • 如果误导入错误的CA文件(格式正确),客户端可能会由于CA签发证书校验失败而导致服务端无法访问。此时可以重新执行生成证书请求(csr),导入证书的操作解决问题。
  1. 使用密码登录AiVault用户,进入AiVault所在目录,创建“aivault”目录,修改目录权限。将AI-VAULT安装包放到“aivault”目录下并解压。解压后,用户需要确认“lib”目录下所有so动态库文件均为当前用户或者root所有, 且权限符合用户所在组织的安全要求。

    cd /home/AiVault
    mkdir aivault
    chmod 700 /home/AiVault/aivault
    cd /home/AiVault/aivault
    unzip Ascend-mindxdl-aivault_{version}_linux-{arch}.zip
    tar --no-same-owner --no-same-permission -zxf Ascend-mindxdl-aivault_{version}_linux-{arch}.tar.gz

  2. 导出csr证书。

    export LD_LIBRARY_PATH=/home/AiVault/aivault/lib
    /home/AiVault/aivault/ai-vault req -type MGMT -subject "CN|SiChuan|ChengDu|Huawei|Ascend"
    /home/AiVault/aivault/ai-vault req -type SVC -subject "CN|SiChuan|ChengDu|Huawei|Ascend"
    图1所示,输出中红框部分为具体生成的csr证书内容,也可以查看具体csr文件的内容。

    csr文件路径说明:

    • MGMT csr文件路径为“~/.ai-vault/cert/mgmt/mgmt.csr”
    • SVC csr文件路径为“~/.ai-vault/cert/svc/svc.csr”
    图1 csr证书内容

  3. 用户通过符合所在组织安全要求的PKI系统签发相关证书文件。
  4. 获取签发完成的TLS证书(本次步骤以TLS证书“rsa.MGMT.pem”“rsa.SVC.pem”,根证书链“rsa.trust.pem”为例),将下载的证书放入私有目录,以下以/home/AiVault/cert_tmp 为例,并修改其权限。

    chmod 400 rsa.trust.pem
    chmod 400 rsa.SVC.pem
    chmod 400 rsa.MGMT.pem

  5. 导入证书。

    cd /home/AiVault/cert_tmp
    /home/AiVault/aivault/ai-vault x509 -type MGMT -caFile rsa.trust.pem -certFile rsa.MGMT.pem
    /home/AiVault/aivault/ai-vault x509 -type SVC -caFile rsa.trust.pem -certFile rsa.SVC.pem

    如需添加证书吊销列表, 可在导入命令中使用参数“-crlFile”补充吊销列表路径如:-crlFile cert.crl。

    导入证书执行完后 请及时删除“cert_tmp”目录。

    rm -rf /home/AiVault/cert_tmp

  6. AiVault用户登出,通知root用户确保AiVault用户登出,清理AiVault用户密码并重置AiVault用户为不可登录(nologin)。