Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 058

API 密钥(API Key)

审核人Cybersecurity entrepreneur & security researcher

API 密钥(API Key) 是什么?

API 密钥(API Key)服务签发的静态密文字符串,用于识别和认证调用方,通常通过请求头或查询参数随每次 API 调用发送。


API 密钥是用于在后端 API 上标识项目、服务账号或开发者的长随机字符串。它易于签发与使用,但提供的安全保证较弱:它识别的是调用方而非用户,默认不会过期,并授予与之绑定的全部权限。由于它属于静态的持有者(bearer)密钥,任何获得该字符串的人都能冒充合法调用方,直到该密钥被吊销为止。

最主要的失效方式是通过源代码管理系统泄露。GitHub 报告称,2024 年其平台上有超过 3900 万 条密文被暴露;GitGuardian 的《State of Secrets Sprawl》研究发现,约 8% 的被扫描私有仓库中含有 AWS IAM 密钥。2025 年的一个典型案例是公开的 "Private-CISA" 仓库,GitGuardian 研究员 Guillaume Valadon 在其中发现了暴露的 AWS GovCloud 凭据、明文口令以及与美国政府系统相关的 SAML 证书。密钥还会通过移动应用(反编译的 APK)、前端 JavaScript 打包文件、CI 日志和截图等途径泄露。

防御措施:将密钥存放在密钥管理服务中而非代码里,启用服务方的密文扫描与推送保护,为每个密钥限定最小的端点范围,按 IP 或 HTTP Referer 加以限制,设置有效期并定期轮换,一旦暴露立即吊销。涉及最终用户授权或高价值操作时,优先选择 OAuth 2.0、mTLS 或 HMAC 签名请求,这些方式可将凭据绑定到具体用户、受众与较短的有效期。

flowchart LR
  A[开发者签发 API 密钥] --> B[密钥嵌入应用或配置]
  B --> C{是否安全存储}
  C -->|密钥管理服务加扫描| D[调用方发起 API 请求<br/>Authorization 请求头]
  C -->|提交到仓库 APK 或日志| E[密文扫描器与攻击者<br/>收割密钥]
  E --> F[冒充与滥用<br/>直至被吊销]
  D --> G[作用域加 IP 白名单加轮换<br/>限制影响范围]

示例

  1. 01

    Authorization: ApiKey sk_live_abc123...

  2. 02

    通过按项目分发的 API 密钥访问 Stripe、Google Maps 和 Twilio 等 API。

常见问题

API 密钥(API Key) 是什么?

服务签发的静态密文字符串,用于识别和认证调用方,通常通过请求头或查询参数随每次 API 调用发送。 它属于网络安全的 身份与访问 分类。

API 密钥(API Key) 是什么意思?

服务签发的静态密文字符串,用于识别和认证调用方,通常通过请求头或查询参数随每次 API 调用发送。

如何防御 API 密钥(API Key)?

针对 API 密钥(API Key) 的防御通常结合技术控制与运营实践,详见上方完整定义。

相关术语