文档首页/ 应用管理与运维平台 ServiceStage/ 最佳实践/ 开启ServiceComb引擎专享版安全认证
更新时间:2024-09-26 GMT+08:00

开启ServiceComb引擎专享版安全认证

概述

ServiceComb引擎专享版支持基于RBAC(Role-Based Access Control,基于角色的访问控制)策略的安全认证,并支持开启/关闭安全认证。

引擎开启了安全认证之后,要求所有连接该引擎的微服务都要配置安全认证账号和密码。否则,微服务将注册失败,导致业务受损。

适用场景

本章节介绍未开启安全认证的ServiceComb引擎专享版,开启安全认证并确保已接入引擎的微服务组件业务不受影响,即如何平滑开启安全认证。

操作步骤

  1. 升级微服务组件使用的SDK版本。

    开启安全认证功能,需要使用的SDK支持安全认证功能。如果当前的微服务组件使用的SDK版本低于要求的版本(Spring Cloud Huawei需要1.6.1及以上版本、Java Chassis需要2.3.5及以上版本),需要对当前的微服务进行SDK版本升级。

  2. 配置微服务组件安全认证参数。

    ServiceComb引擎开启安全认证前,需要对已连接到该引擎的微服务组件配置安全认证参数。配置安全认证参数是通过配置安全认证账号和密码的方式触发,具体方法如下:

    • Spring Cloud微服务组件配置安全认证账号名和密码
    表1 Spring Cloud微服务组件配置安全认证账号名和密码

    配置文件配置方式

    环境变量注入方式

    为微服务的“bootstrap.yml”文件增加以下配置,若已配置请忽略。

    spring:
      cloud:
        servicecomb:
          credentials:
            account:
              name: test   #安全认证账号名,请结合用户实际值配置
              password: mima  #安全认证账号密码,请结合用户实际值配置
              cipher: default

    添加如下环境变量,请参考手动添加应用环境变量

    • spring_cloud_servicecomb_credentials_account_name,安全认证账号名,请结合用户实际值配置。
    • spring_cloud_servicecomb_credentials_account_password,安全认证账号密码,请结合用户实际值配置。
    • 用户密码password默认为明文存储,无法保证安全。建议您对密码进行加密存储,请参考自定义实现加密存储算法
    • ServiceComb引擎没有开启安全认证时,如果连接到当前ServiceComb引擎的微服务组件配置了安全认证参数,微服务组件的正常业务功能不受影响。
    • Java Chassis微服务组件配置安全认证账号名和密码
      表2 Java Chassis微服务组件配置安全认证账号名和密码

      配置文件配置方式

      环境变量注入方式

      为微服务的“microservice.yml”文件增加以下配置,若已配置请忽略。

      servicecomb:
        credentials:
          rbac.enabled: true  #是否开启安全认证,请结合用户实际值配置
          cipher: default
          account: 
            name: test #安全认证账号名,请结合用户实际配置
            password: mima #安全认证账号密码,请结合用户实际配置
            cipher: default

      添加如下环境变量,请参考手动添加应用环境变量

      • servicecomb_credentials_rbac_enabled,是否开启安全认证,请结合用户实际值配置:true,开启安全认证;false,不开启安全认证。
      • servicecomb_credentials_account_name,安全认证账号名,请结合用户实际值配置。
      • servicecomb_credentials_account_password,安全认证账号密码,请结合用户实际值配置。

  3. 开启ServiceComb引擎专享版安全认证,请参考开启安全认证

    开启安全认证后,接入该引擎的微服务组件如果没有配置安全认证参数,或者微服务组件配置的安全认证账号和密码不正确,会导致该微服务组件心跳失败,服务被迫下线。