
# FunctionGraph安全最佳实践
安全性是华为云与您的共同责任。华为云负责云服务自身的安全，提供安全的云环境。您需要合理利用云服务提供的安全功能保护数据，确保安全地使用云服务。
本文提供了FunctionGraph使用过程中的安全最佳实践，旨在提供可操作的规范性指导以提升整体安全能力。依据该指导文档，能够持续评估函数的安全状态，有效结合FunctionGraph提供的多种安全功能，增强FunctionGraph的整体安全防御能力，确保存储于FunctionGraph的数据不被泄露或篡改，同时保障数据传输过程中的安全。
本文从以下维度提供建议，您可以据此评估FunctionGraph的使用情况，并根据业务需求在此基础上进行安全配置。
#### 使用可信的代码和依赖，避免代码漏洞
- 在部署函数代码前，建议使用华为云[CodeArts Check](https://support.huaweicloud.com/bestpractice-codecheck/codeartscheck_14_1002.html)的代码检测功能，对代码进行静态扫描和漏洞分析，确保代码安全。
- 使用可靠来源的依赖库并定期更新，避免使用存在已知漏洞的第三方库。
 
#### 保护敏感信息，防止敏感信息泄露
- 如果用户代码或配置中包含敏感信息，如AK/SK，token，密码等，强烈建议采用[加密环境变量](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0154.html)，否则这些信息可能在用户界面或API返回结果中以明文形式显示，从而导致敏感信息泄露。
- 对于涉及用户隐私数据（日志、个人信息等），建议在函数处理过程中进行脱敏处理，不可通过日志明文打印，以防敏感信息泄露。
- FunctionGraph可向用户提供临时代码与下载地址，并设定有效期。用户应防止临时下载地址泄露，以降低代码或库泄露的风险。
 
#### 精细化权限控制和开启身份认证
- 通过华为云统一身份认证服务（IAM），为FunctionGraph函数[配置委托](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0920.html#section5)和AK/SK等时，应遵循最小权限使用原则，确保函数仅能访问指定的资源。例如，限制函数对特定OBS桶的读写权限，防止越权访问。
- 配置APIG触发器时，建议启用IAM认证或自定义认证，确保仅授权请求能触发函数执行。此外，可通过APIG实施流量控制，防止恶意请求导致资源耗尽。
 
#### 为函数配置VPC，防止外部攻击
当用户函数需要访问华为云虚拟私有云（VPC）内的资源，如RDS时，建议为函数[配置VPC](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0222.html)，以确保函数与其他云服务之间的通信在隔离的网络环境中进行。
#### 使用函数版本控制，迅速更新与回退
FunctionGraph支持对函数进行[版本管理](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0180.html)，建议为每个函数创建若干版本，并在生产环境中使用稳定版本。同时，通过[别名](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_1829.html)功能，关联指定版本的函数实现版本切换，以确保在出现安全问题时能够迅速回滚。
