运行时服务安全地配置访问密钥
【摘要】 1 简介安全地配置和存储云服务的 AK/SK(Access Key / Secret Key) 是非常重要的。不直接将它们硬编码进代码更能提高安全性。以下是几种推荐方式(以 Python 和 Go 为例): ✅ 通用安全策略 方法 优点 场景 环境变量 简单、支持多平台 本地开发、部署在云主机 配置文件 + 加密 灵活、适合版本管...
1 简介
安全地配置和存储云服务的 AK/SK(Access Key / Secret Key) 是非常重要的。
不直接将它们硬编码进代码更能提高安全性。以下是几种推荐方式(以 Python 和 Go 为例):
✅ 通用安全策略
方法 优点 场景
环境变量 简单、支持多平台 本地开发、部署在云主机
配置文件 + 加密 灵活、适合版本管理 生产环境
密钥管理服务(如 KMS) 高安全性 企业级应用
云函数/容器服务绑定 IAM 委托 无需明文密钥 推荐在云 ECS、CCE 等云服务中使用
2 Python 示例:使用环境变量
-
- 设置环境变量(Linux/macOS)
export HUAWEI_CLOUD_AK=“你的AK”
export HUAWEI_CLOUD_SK=“你的SK”
或者 .env 文件 + python-dotenv:
# .env
CLOUD_AK=你的AK
CLOUD_SK=你的SK
pip install python-dotenv
-
-
在代码中加载
import os
from dotenv import load_dotenvload_dotenv() # 读取 .env 文件
ak = os.getenv(“CLOUD_AK”)
sk = os.getenv(“CLOUD_SK”)
-
3 Go 示例:使用配置文件或环境变量
-
- 使用环境变量
export HUAWEI_CLOUD_AK=“你的AK”
export HUAWEI_CLOUD_SK=“你的SK”
import (
“os”
)
ak := os.Getenv(“HUAWEI_CLOUD_AK”)
sk := os.Getenv(“HUAWEI_CLOUD_SK”)
-
- 使用加密的配置文件(建议配合密钥管理或加解密库)
// config.json (内容可加密)
{
“ak”: “你的AK”,
“sk”: “你的SK”
}
加载:
import (
"encoding/json"
"io/ioutil"
)
type Config struct {
AK string `json:"ak"`
SK string `json:"sk"`
}
data, _ := ioutil.ReadFile("config.json")
var config Config
json.Unmarshal(data, &config)
4 高级安全建议
避免将 AK/SK 上传到 Git、SVN、Gitee、GitHub 等平台。
使用加密工具(如 AES)对配置文件加密。
如果部署在云服务 ECS/CCE 中,优先使用 IAM 委托,无需暴露 AK/SK。
【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,
举报邮箱:cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)