You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过AWS CLI查找Amazon API Gateway中API密钥的所属用户

解决API Gateway API密钥与用户关联的CLI操作方案

一、提前配置:给API密钥添加用户关联标识

如果还未给目标API Key配置用户关联信息,优先通过标签或描述字段添加,方便后续查询:

添加标签

先通过get-api-key获取API Key的ARN(或直接构造ARN:arn:aws:apigateway:<你的区域>::/apikeys/<API_KEY_ID>),然后执行标签命令:

aws apigateway tag-resource --resource-arn arn:aws:apigateway:us-east-1::/apikeys/keyabc123_ --tags UserId=user_001,Username=john_smith --profile myProfileabc

或更新描述字段

如果更倾向用描述字段记录用户信息:

aws apigateway update-api-key --api-key keyabc123_ --patch-operations op=replace,path=/description,value="关联用户:john_smith(ID:user_001)" --profile myProfileabc

二、查询指定API密钥的关联用户信息

方法1:直接提取API Key的用户关联数据

执行get-api-key时通过--query参数过滤出标签、描述等关键信息:

aws apigateway get-api-key --api-key keyabc123_ --include-value --query '[tags, description]' --profile myProfileabc

返回结果会直接展示你提前配置的用户关联内容。

方法2:通过标签反向查询(已知用户找API Key)

如果需要根据用户ID/用户名查找对应的API Key,用标签过滤:

aws apigateway get-api-keys --query "items[?tags.UserId=='user_001']" --profile myProfileabc

三、结合使用计划的关联查询(如果API Key绑定了使用计划)

如果你的API Key绑定了使用计划,可通过以下步骤拓展查询:

  1. 先获取API Key关联的使用计划ID:
aws apigateway get-api-key --api-key keyabc123_ --query 'usagePlanIds' --profile myProfileabc
  1. 根据使用计划ID查询其关联信息(如果使用计划备注了用户组/用户信息):
aws apigateway get-usage-plan --usage-plan-id <获取到的使用计划ID> --query '[name, description, apiKeys]' --profile myProfileabc

关键说明

API Gateway的API Key本身没有内置的用户关联字段,必须通过自定义标签、描述字段、使用计划备注等方式提前关联用户信息,这是最直接可行的方案。如果你的API采用IAM认证+API Key的组合,可直接从CloudWatch日志的userIdentity字段获取IAM用户信息,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:52:52