Amazon web services 为API网关创建部署权限

Amazon web services 为API网关创建部署权限,amazon-web-services,aws-api-gateway,Amazon Web Services,Aws Api Gateway,我在API网关部署方面实现了自动化: aws apigateway create-deployment ... 我试图将我的功能包装在连续部署中,但我似乎无法理解IAM权限,这似乎与其他服务中的所有其他IAM权限不同: apigateway:GET apigateway:PUT apigateway:POST apigateway:删除 apigateway:PATCH apigateway:OPTIONS (;) 权限似乎只涵盖以下阶段: arn:aws:apigateway:regi

我在API网关部署方面实现了自动化:

aws apigateway create-deployment ...
我试图将我的功能包装在连续部署中,但我似乎无法理解IAM权限,这似乎与其他服务中的所有其他IAM权限不同:

  • apigateway:GET
  • apigateway:PUT
  • apigateway:POST
  • apigateway:删除
  • apigateway:PATCH
  • apigateway:OPTIONS
(;)

权限似乎只涵盖以下阶段:

  • arn:aws:apigateway:region::/restapis/*

    适用于AWS地区的所有资源、方法、模型和阶段

  • arn:aws:apigateway:region::/restapis/api id/*

    对于API中的所有资源、方法、模型和阶段,在AWS region of region中使用API id标识符

  • arn:aws:apigateway:region::/restapis/api id/resources/resources id/*

    对于标识符为resource id的资源中的所有资源和方法,该资源位于API中,标识符为API id的API位于区域的AWS区域中

  • arn:aws:apigateway:region::/restapis/api id/resources/resources id/methods/*

    对于标识符为resource id的资源中的所有方法,该资源位于API中,标识符为API id的API位于区域的AWS区域中

  • arn:aws:apigateway:region::/restapis/api id/resources/resources id/methods/GET

    仅针对标识符为resource id的资源中的GET方法,该方法位于API中,标识符为API id的API位于区域的AWS区域中

  • arn:aws:apigateway:region::/restapis/api id/models/*

    对于API中的所有模型,API id的标识符位于区域的AWS区域

  • arn:aws:apigateway:region::/restapis/api id/models/model name

    对于名称为model name的模型,该模型位于API中,API id标识符位于区域的AWS区域中

  • arn:aws:apigateway:region::/restapis/api id/stages/*

    对于API中的所有阶段,区域的AWS区域中的API id标识符为

  • arn:aws:apigateway:region::/restapis/api id/stages/stage name

    仅适用于API中名称为stage name的阶段,标识符为API id,位于区域的AWS区域


如何授予为给定阶段创建部署的能力<代码>apigateway:PUT<代码>apigateway:POST?

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

{
    "Action": "apigateway:POST",
    "Resource": "arn:aws:apigateway:us-east-1::/restapis/${rest_api_id}/deployments",
    "Effect": "Allow",
    "Sid": "AllowApiGatewayDeployments"
}
可能无法将部署限制在给定阶段,但我不知道,因为我还没有测试过这一点。

尝试以下方法:

{
“操作”:“apigateway:POST”,
“资源”:“arn:aws:apigateway:::/restapis/*/stages/${stage_name}”,
“效果”:“允许”,
“Sid”:“可视化编辑器”
}