You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将Google API密钥限制为仅单个服务使用?

嘿,这个问题我太熟了——确实,共用密钥会带来不小的安全风险,尤其是客户端暴露的密钥被拿去调用服务器端API的情况。我来一步步教你给每个API配置单独的、仅限单个服务使用的密钥:

给Google API密钥设置单服务限制的详细步骤

1. 进入API密钥管理页面

  • 打开Google API控制台,选中你已创建的目标项目
  • 在左侧导航栏找到「APIs & Services」>「Credentials」(凭据)页面
  • 这里你会看到已有的API密钥列表:如果你想给现有密钥改限制,直接点击对应密钥的名称;如果想新建独立密钥,点击「Create Credentials」>「API key」,建议给新密钥起个清晰的名字,比如“YouTube Data API 服务器专用密钥”、“Google Maps JS API 客户端专用密钥”

2. 配置核心的API限制(关键一步)

进入目标密钥的详情页面后,找到「API restrictions」(API限制)板块:

  • 选择「Restrict key」(限制密钥)选项
  • 在弹出的「Select APIs」下拉框里,只勾选你要绑定的单个API
    • 若为YouTube Data API的密钥,只勾选「YouTube Data API v3」
    • 若为Google Maps JavaScript API的密钥,只勾选「Maps JavaScript API」
  • 点击「Save」保存设置,这个密钥就只能访问你指定的那一个API了

3. 给客户端密钥再加一层防护(针对Google Maps JS API)

因为Maps JS是客户端调用,密钥会随HTML发送到浏览器,除了API限制,还可以添加应用来源限制进一步降低风险:

  • 在同一密钥详情页的「Application restrictions」(应用限制)板块
  • 选择「HTTP referrers (web sites)」(HTTP引用来源)
  • 添加你的网站域名规则,比如 https://yourdomain.com/* 或者更精准的路径,确保只有你的网站能使用这个密钥调用Maps API

这样设置完成后,每个密钥都被严格限制为仅能访问单个API,就算客户端的Maps密钥不慎泄露,别人也没法用它去调用你的YouTube Data API,彻底堵上安全漏洞。

内容的提问来源于stack exchange,提问作者Finesse

火山引擎 最新活动