运行时服务安全地配置访问密钥

举报
码乐 发表于 2025/07/17 07:34:17 2025/07/17
【摘要】 1 简介安全地配置和存储云服务的 AK/SK(Access Key / Secret Key) 是非常重要的。不直接将它们硬编码进代码更能提高安全性。以下是几种推荐方式(以 Python 和 Go 为例): ✅ 通用安全策略 方法 优点 场景 环境变量 简单、支持多平台 本地开发、部署在云主机 配置文件 + 加密 灵活、适合版本管...

1 简介

安全地配置和存储云服务的 AK/SK(Access Key / Secret Key) 是非常重要的。

不直接将它们硬编码进代码更能提高安全性。以下是几种推荐方式(以 Python 和 Go 为例):

  ✅ 通用安全策略
  方法  					优点  					场景
  环境变量   			 简单、支持多平台    	本地开发、部署在云主机
  配置文件 + 加密  		 灵活、适合版本管理   	生产环境
  密钥管理服务(如 KMS)   高安全性    			企业级应用
  云函数/容器服务绑定 		IAM 委托   		无需明文密钥  推荐在云 ECS、CCE 等云服务中使用

2 Python 示例:使用环境变量

    1. 设置环境变量(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

    1. 在代码中加载

      import os
      from dotenv import load_dotenv

      load_dotenv() # 读取 .env 文件

      ak = os.getenv(“CLOUD_AK”)
      sk = os.getenv(“CLOUD_SK”)

3 Go 示例:使用配置文件或环境变量

    1. 使用环境变量

    export HUAWEI_CLOUD_AK=“你的AK”
    export HUAWEI_CLOUD_SK=“你的SK”

import (
“os”
)

ak := os.Getenv(“HUAWEI_CLOUD_AK”)
sk := os.Getenv(“HUAWEI_CLOUD_SK”)

    1. 使用加密的配置文件(建议配合密钥管理或加解密库)

// 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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。