为了确保敏感配置(数据源、Token、用户名和密码等)的安全性,降低用户配置的泄露风险,Serverless应用引擎SAE(Serverless App Engine)提供了创建加密配置的功能。本文介绍如何在SAE控制台创建并使用加密配置。

前提条件

说明 SAE默认支持的ACM进入下线状态,但不影响您现有的使用。建议您直接使用MSE提供的Nacos 2.0配置服务。更多信息,请参见Nacos版本特性

背景信息

使用加解密服务必须使用阿里云账号或RAM用户的AccessKey,不支持使用ACM专用AccessKey。SAE提供的配置加密方法如下:
  • KMS加密:配置内容禁止超过6 KB。
  • KMS AES-128加密:配置内容允许超过6 KB,建议不超过10 KB,最大不超过100 KB。配置内容的明文数据不会传输到KMS系统,安全性更高。

创建加密配置

  1. 登录SAE控制台
  2. 在左侧导航栏,选择应用管理 > 分布式配置管理,在顶部菜单栏选择地域。
  3. 配置列表页面,选择命名空间,并单击创建配置
  4. 创建配置面板,设置配置项的基础信息,然后打开数据加密开关,选择加密方式,单击创建
    • 关于配置项的基础信息,请参见管理配置
    • 数据加密说明如下。
      配置项说明
      KMS加密直接调用KMS服务对配置进行加解密,加解密数据的大小不超过4 KB,最大不超过6 KB,对特殊符号如and(&)会解密错误,不推荐使用。
      KMS AES-128加密使用KMS的信封加解密方法,配置内容可以超过6 KB,最大不超过100 KB。配置内容的明文数据不会传输到KMS系统,安全性更高,推荐使用。
      重要
      • 首次使用此功能时,需开通密钥管理服务,并授权ACM使用您的密钥管理服务进行加解密,因为ACM数据加密功能依赖密钥管理服务,并为配置加密。
      • 为方便您管理配置,控制台上均显示明文,实际均为加密存储。

使用加密配置

按照以下步骤在控制台获取加密所需的AccessKey ID和AccessKey Secret等初始化参数。

  1. 登录SAE控制台
  2. 在左侧导航栏,选择应用管理 > 分布式配置管理,在顶部菜单栏选择地域。
  3. 配置列表页面,选择命名空间并按需查看相关参数。
    • 获取AccessKey ID和AccessKey Secretsc_namespace_information

      单击查看获取方法,获取AccessKey ID和AccessKey Secret等初始化参数。

      说明 使用阿里云账号的AccessKey ID和AccessKey Secret可直接获取配置数据,建议您填写RAM用户的AccessKey ID和AccessKey Secret。如果使用RAM用户的AccessKey ID和AccessKey Secret,必须提前为其授予AliyunACMFullAccess和AliyunKMSCryptoAccess权限。更多信息,请参见为RAM用户授权
    • 查看示例代码
      1. 选择目标配置,单击配置的Data ID。
      2. 配置详情页面,单击示例代码页签,选择目标语言,获取示例代码。
      说明 Java和Python的SDK已经整合KMS-SDK,您可以添加解密过滤器来自动解密。其他语言解密,请参见Decrypt