为了确保敏感配置(数据源、Token、用户名和密码等)的安全性,降低用户配置的泄露风险,Serverless 应用引擎 SAE(Serverless App Engine)提供了创建加密配置的功能。本文介绍如何在SAE控制台创建并使用加密配置。
前提条件
SAE默认支持的ACM进入下线状态,但不影响您现有的使用。建议您直接使用MSE提供的Nacos 2.0配置服务。更多信息,请参见Nacos版本特性。
使用限制
使用加解密服务必须使用阿里云账号或RAM用户的AccessKey,不支持使用ACM专用AccessKey。SAE提供的配置加密方法如下:
KMS加密:配置内容禁止超过6KB。
KMS AES-128加密:配置内容允许超过6KB,建议不超过10KB,最大不超过100KB。配置内容的明文数据不会传输到KMS系统,安全性更高。
创建加密配置
登录SAE控制台。
在左侧导航栏,单击命名空间,在顶部菜单栏选择地域,然后在命名空间页面,单击目标命名空间名称。
在目标命名空间页面,单击左侧导航的分布式配置管理,然后单击配置列表。
在配置列表页面,单击创建配置。
在弹出的创建配置面板,设置配置项的基本信息。具体操作,请参见管理配置。
单击
图标打开数据加密开关,进行以下设置,然后单击创建。
说明首次使用此功能时,需单击前往授权前往云资源访问授权页面,并授权ACM使用您的密钥管理服务的权限,以便进行配置数据的加解密。这是因为ACM的数据加密功能依赖于密钥管理服务。
为方便您管理配置,控制台上均显示明文,实际均为加密存储。
配置项
说明
KMS加密
直接调用KMS服务对配置进行加解密,加解密数据的大小建议不超过4 KB,最大不超过6 KB,对特殊符号如and(&)会解密错误,不推荐使用。
KMS AES-128加密
使用KMS的信封加解密方法,配置内容可以超过6 KB,最大不超过100 KB。配置内容的明文数据不会传输到KMS系统,安全性更高,推荐使用。
使用加密配置
按照以下步骤在控制台获取加密所需的AccessKey ID等初始化参数。
登录SAE控制台。
在左侧导航栏,单击命名空间,在顶部菜单栏选择地域,然后在命名空间页面,单击目标命名空间名称。
在目标命名空间页面,单击左侧导航的分布式配置管理,然后单击配置列表。
在配置列表页面,单击AccessKey/SecretKey对应的查看获取方法,获取AccessKey信息。
说明在RAM控制台上只能查看
AccessKey ID
,不支持查看AccessKey Secret
,您创建AccessKey成功后请务必保存AccessKey Secret
。创建的具体步骤,请参见创建AccessKey。使用阿里云账号的AccessKey ID和AccessKey Secret可直接获取配置数据,建议您填写RAM用户的AccessKey ID和AccessKey Secret。如果使用RAM用户的AccessKey ID和AccessKey Secret,必须提前为其授予
AliyunACMFullAccess
和AliyunKMSCryptoAdminAccess
权限。更多信息,请参见为RAM用户授权。
查看示例代码。
在配置列表页面,单击目标Data ID。
在配置详情页面,单击示例代码页签,然后单击目标语言,获取示例代码。
说明Java和Python的SDK已经整合KMS-SDK,您可以添加解密过滤器来自动解密。其他语言解密,请参见Decrypt。