为了确保敏感配置(数据源、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系统,安全性更高。
创建加密配置
登录SAE控制台。
在左侧导航栏,选择 ,在顶部菜单栏选择地域。
- 在配置列表页面,选择命名空间,并单击创建配置。
- 在创建配置面板,设置配置项的基础信息,然后打开数据加密开关,选择加密方式,单击创建。
- 关于配置项的基础信息,请参见管理配置。
- 数据加密说明如下。
配置项 说明 KMS加密 直接调用KMS服务对配置进行加解密,加解密数据的大小不超过4 KB,最大不超过6 KB,对特殊符号如and(&)会解密错误,不推荐使用。 KMS AES-128加密 使用KMS的信封加解密方法,配置内容可以超过6 KB,最大不超过100 KB。配置内容的明文数据不会传输到KMS系统,安全性更高,推荐使用。 重要- 首次使用此功能时,需开通密钥管理服务,并授权ACM使用您的密钥管理服务进行加解密,因为ACM数据加密功能依赖密钥管理服务,并为配置加密。
- 为方便您管理配置,控制台上均显示明文,实际均为加密存储。
使用加密配置
按照以下步骤在控制台获取加密所需的AccessKey ID和AccessKey Secret等初始化参数。
登录SAE控制台。
在左侧导航栏,选择 ,在顶部菜单栏选择地域。
- 在配置列表页面,选择命名空间并按需查看相关参数。
- 获取AccessKey ID和AccessKey Secret
单击查看获取方法,获取AccessKey ID和AccessKey Secret等初始化参数。
说明 使用阿里云账号的AccessKey ID和AccessKey Secret可直接获取配置数据,建议您填写RAM用户的AccessKey ID和AccessKey Secret。如果使用RAM用户的AccessKey ID和AccessKey Secret,必须提前为其授予AliyunACMFullAccess和AliyunKMSCryptoAccess权限。更多信息,请参见为RAM用户授权。 - 查看示例代码
- 选择目标配置,单击配置的Data ID。
- 在配置详情页面,单击示例代码页签,选择目标语言,获取示例代码。
说明 Java和Python的SDK已经整合KMS-SDK,您可以添加解密过滤器来自动解密。其他语言解密,请参见Decrypt。
- 获取AccessKey ID和AccessKey Secret