qwen3 中文文档 下载 App

API Key 安全管理与用量计费 — 防止泄露、控制成本、监控用量

API Key 安全的重要性

一个百炼 API Key 的价值取决于你的余额。如果 Key 泄露:

必须认真对待 API Key 安全。

环境变量管理(推荐做法)

Linux / macOS

# 临时(当前终端有效)
export DASHSCOPE_API_KEY="sk-xxxxxxxxxxxxx"

# 永久(写入 ~/.bashrc 或 ~/.zshrc)
echo 'export DASHSCOPE_API_KEY="sk-xxxxxxxxxxxxx"' >> ~/.zshrc
source ~/.zshrc

Windows PowerShell

# 临时(当前会话有效)
$env:DASHSCOPE_API_KEY = "sk-xxxxxxxxxxxxx"

# 永久(写入用户环境变量)
[System.Environment]::SetEnvironmentVariable("DASHSCOPE_API_KEY", "sk-xxxxxxxxxxxxx", "User")

Python 中读取

import os
api_key = os.getenv("DASHSCOPE_API_KEY")
if not api_key:
    raise ValueError("DASHSCOPE_API_KEY 环境变量未设置")

.env 文件(本地开发)

用 python-dotenv 管理:

pip install python-dotenv

创建 .env 文件:

DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxx

在 .gitignore 中添加 .env,防止提交到仓库。

from dotenv import load_dotenv
load_dotenv()  # 自动加载 .env 文件

import os
api_key = os.getenv("DASHSCOPE_API_KEY")

不要做的事

用量监控

百炼控制台

百炼控制台提供实时用量统计:

  1. 百炼控制台 → 用量统计
  2. 可以按天/周/月查看 token 消耗
  3. 可以按模型维度拆分

阿里云费用中心

更详细的账单在阿里云费用中心:

  1. 阿里云控制台 → 费用中心 → 消费记录
  2. 可以查看详细的计费项
  3. 可以按时间、产品、实例筛选

设置费用告警(重要)

强烈建议设置费用阈值告警:

  1. 阿里云费用中心 → 预算管理 → 创建预算
  2. 设置月度预算金额(如 100 元)
  3. 设置告警阈值(如达到 80% 时告警)
  4. 选择告警通知方式(短信、邮件)

这样即使 Key 泄露,你也能在达到一定费用后及时收到通知。

API 限流

百炼的默认限流

百炼对每个账号有默认的限流策略:

查询当前限流

在百炼控制台可以看到你的账号级限流配置。如果限流不够用,可以申请提升配额。

客户端限流(防止意外爆量)

用 Python 的 limits 库做客户端限流:

pip install limits
from limits import RateLimiter, storage, strategies
from limits.storage import MemoryStorage
from limits.strategies import FixedWindowRateLimiter

# 每分钟 60 次请求
storage = MemoryStorage()
limiter = FixedWindowRateLimiter(storage)
rate_limit = RateLimiter("60/minute", limiter)

def call_qwen3():
    if not rate_limit.hit("qwen3-call"):
        raise Exception("超过限流")
    # 实际调用

Key 轮换

如果怀疑 Key 泄露,立即轮换:

  1. 百炼控制台 → API-KEY 管理
  2. 找到旧 Key,点击「停用」
  3. 创建新 Key
  4. 更新你的环境变量/配置
  5. 部署新 Key(如果有服务在运行)

建议定期(如 1-3 个月)轮换 Key,作为安全最佳实践。

生产环境建议

后端代理

不要让前端直接调百炼 API,而是通过你的后端代理:

用户 → 你的后端 → 百炼 API

好处:

VPC 私有网络

企业用户可以把百炼接入到阿里云 VPC 私有网络:

最小权限原则

日志审计

记录每次 API 调用的关键信息:

import time
import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("qwen3-api")

def call_with_logging(prompt, model="qwen3-flash"):
    start = time.time()
    response = Generation.call(model=model, messages=messages)
    elapsed = time.time() - start
    
    logger.info(f"model={model}, prompt_len={len(prompt)}, "
                f"elapsed={elapsed:.2f}s, status={response.status_code}")
    
    return response

免费额度与优惠

新注册的阿里云用户通常有一定额度的免费百炼调用:

多 Key 管理

如果有多个应用/服务需要独立的 API Key:

这样如果某个 Key 泄露,可以只停用那一个,不影响其他服务。

常见问题

Key 忘了复制

百炼的 API Key 只显示一次。忘了就只能新建一个。

Key 被滥用发现了

  1. 立即在控制台停用泄露的 Key
  2. 检查费用账单确认损失
  3. 轮换 Key
  4. 设置费用告警防止下次

费用突然暴涨

  1. 检查百炼用量统计,确认是哪个模型
  2. 检查是否有 Key 泄露(看调用来源 IP)
  3. 暂时停用 API Key 止损
  4. 排查代码是否有死循环/批量请求失控

相关阅读