Skip to content
On this page

边缘服务认证

在管理边缘服务之前,如果边缘服务开启了认证,首先需要进行认证配置。ECP 支持在 NeuronEX 侧的认证,本篇将以 NeuronEX 为例演示如何进行认证配置,关于 NanoMQ 侧的配置,见纳管 Neuron 的认证授权部分。

ECP 支持托管和纳管的 NeuronEX 上的认证授权。对于由 ECP 批量安装的 NeuronEX 实例,可在安装时选择是否开启认证;对于由 ECP 纳管的 NeuronEX,要在 NeuronEX 配置文件中开启认证。

托管部署的 NeuronEX 的认证授权

当用户通过 ECP 批量安装 NeuronEX 时,可在安装时指定是否开启认证服务,开启认证后,ECP 会把 RSA 公钥文件安装到 NeuornEX 指定的文件夹下。

关于 NeuronEX 的批量安装请参考批量安装边缘服务功能。

纳管 Neuron 侧的认证授权

如果 ECP 需要纳管已经开启认证的 NeuronEX 服务,需要进行如下操作:

  1. 以系统/项目/组织管理员的身份登录 ECP。
  2. 下载公钥文件:在系统管理页面,点击系统设置 -> 资源配置,在资源配置页面,点击展开纳管边缘服务认证配置部分,点击公钥导出。关于公钥文件的说明请参考纳管边缘服务认证配置
  3. 登录到 NeuronEX 所在的容器或虚机,把 ECP 中下载的公钥文件上传到 NeuronEX 安装目录下的 etc 目录中。

认证配置验证

完成认证授权配置后,您可通过添加一个已开启认证的 Neuron 服务来验证配置是否成功。具体操作步骤,见添加一个现有服务

如认证配置被正确添加,该实例将能被正常添加,您也可点击该实例进入详情页。

RSA 签名认证简介

RSA 使用“密钥对”对数据进行加密解密,在加密解密前需要先生成公钥(Public Key)和私钥(Private Key)。

  • 公钥:用于加密数据,可公开分享,一般存放在数据提供方,例如 Neuron 服务器。
  • 私钥:用于解密数据,私钥泄露会造成安全问题,应保密存储,一般存放在 ECP 服务器。

认证过程如下:

authentication-flow

ECP 侧的 RSA 密钥对管理

ECP 在安装部署时会自动生成并管理密钥对,如果安装时未能成功生成密钥对,系统会提示您重新安装。

如您希望自行管理秘钥对,可按以下方式获取密钥对信息。

  • K8S 环境,假设命名空间为 emqx-ci-dev,可通过如下命令查看 RSA 密钥对。

    bash
    $ kubectl get ns # 获取命名空间 emqx-ci-dev
    
    $ kubectl get pod -n emqx-ci-dev # 获取命名空间 emqx-ci-dev 中的 POD 信息,找到 ECP 容器名称
    
    $ kubectl -n emqx-ci-dev exec -it emqx-bc-main-658b5f5fd6-74vnd -c emqx-bc-main -- sh # 进入容器
    
    $ ls # 查看密钥对

    RSA

  • Docker 环境,假设容器 ID 为 717aee745efb,可通过如下命令查看 RSA 密钥对。

    bash
    $ docker ps # 获取 POD 信息,找到 ECP 容器ID为 '717aee745efb'
    
    $ docker exec -it 717aee745efb -- sh # 进入容器
    
    $ ls # 查看密钥对