从 Lambda 函数调用 CreateAPIKeyRequest 所需的权限

问题描述 投票:0回答:0

我从 Lambda 函数调用 CreateAPIKeyRequest POST 调用,目的是使用每次调用生成的 API 密钥 ID 进行响应。收到错误消息,指出 Lambda 函数没有调用 createAPI POST 调用的权限。

相同的代码如下:

 AmazonApiGateway client = AmazonApiGatewayClientBuilder.standard().withRegion("us-east-1").build();
 CreateApiKeyRequest keyReq = new CreateApiKeyRequest();
 keyReq.setName("KEY_NAME");
 keyReq.setDescription("KEY_DESC");
 keyReq.setEnabled(true);
  
 CreateApiKeyResult keyRes = client.createApiKey(keyReq);

阅读文档后发现我需要提供权限,因此使用 ARN 为 Lambda 函数分配基于资源的权限:arn:aws:apigateway:us-east-1::/apikeys。

获取错误消息为“User: arn:aws:sts::XXXXXXXXXX:assumed-role/createAPIKey-role-s4puynzg/createAPIKey 无权在资源上执行: apigateway:POST: arn:aws:apigateway:us- east-1::/apikeys 因为没有基于身份的策略允许 apigateway:POST 操作(服务:AmazonApiGateway;

有任何输入吗?

java aws-lambda aws-api-gateway
© www.soinside.com 2019 - 2024. All rights reserved.