创建API网关的部署权限

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

我有一个关于API网关部署的自动化:

aws apigateway create-deployment ...

我试图将我的功能包装在持续部署中,我似乎无法理解IAM权限,它似乎偏离了其他服务的所有其他IAM权限:

  • apigateway:GET
  • apigateway:PUT
  • apigateway:POST
  • apigateway:DELETE
  • apigateway:PATCH
  • apigateway:OPTIONS

(Qazxswpoi; Cloudonaut Documentation

权限似乎只涵盖阶段:

  • "Control Access for Managing an API" 适用于区域AWS区域中的所有资源,方法,模型和阶段。
  • arn:aws:apigateway:region::/restapis/* 对于API中的所有资源,方法,模型和阶段,在区域的AWS区域中具有api-id标识符。
  • arn:aws:apigateway:region::/restapis/api-id/* 对于资源中具有标识符resource-id的所有资源和方法,该标识符位于具有区域的AWS区域中的api-id标识符的API中。
  • arn:aws:apigateway:region::/restapis/api-id/resources/resource-id/* 对于资源中具有标识符resource-id的所有方法,该标识符位于具有区域的AWS区域中的api-id标识符的API中。
  • arn:aws:apigateway:region::/restapis/api-id/resources/resource-id/methods/* 仅用于具有标识符resource-id的资源中的GET方法,该标识符位于具有区域的AWS区域中的api-id标识符的API中。
  • arn:aws:apigateway:region::/restapis/api-id/resources/resource-id/methods/GET 对于API中的所有模型,在区域的AWS区域中具有api-id标识符。
  • arn:aws:apigateway:region::/restapis/api-id/models/* 对于名称为model-name的模型,该模型位于API中,区域的AWS区域中具有api-id标识符。
  • arn:aws:apigateway:region::/restapis/api-id/models/model-name 对于API中的所有阶段,在区域的AWS区域中具有api-id的标识符。
  • arn:aws:apigateway:region::/restapis/api-id/stages/* 仅适用于API中具有stage-name名称的阶段,其区域的AWS区域中具有api-id的标识符。

如何授予为给定阶段创建部署的能力? arn:aws:apigateway:region::/restapis/api-id/stages/stage-nameapigateway:PUT

amazon-web-services aws-api-gateway
2个回答
0
投票

通过测试,我已经阐明了所需的政策:

apigateway:POST

可能无法将部署限制到给定阶段,但我不知道,因为我没有对此进行测试。


0
投票

试试这个:

{ "Action": "apigateway:POST", "Resource": "arn:aws:apigateway:us-east-1::/restapis/${rest_api_id}/deployments", "Effect": "Allow", "Sid": "AllowApiGatewayDeployments" }

© www.soinside.com 2019 - 2024. All rights reserved.