我有一个具有不同阶段的API网关( prod 和 dev ),一个用于生产,后一个用于开发。
为了限制对 prod 阶段的访问和部署,我为开发用户设置了以下IAM策略,
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"execute-api:*",
"apigateway:*"
],
"Resource": [
"arn:aws:apigateway:eu-central-1::/restapis/6mvx7om366/stages/dev",
"arn:aws:apigateway:eu-central-1::/restapis/6mvx7om366/stages",
"arn:aws:apigateway:eu-central-1::/restapis",
"arn:aws:apigateway:eu-central-1::/restapis/6mvx7om366",
"arn:aws:apigateway:eu-central-1::/restapis/6mvx7om366/deployments",
.....
....
]
}
其中6mvx7om366
是API ID。
这显示了控制台中用户的 prod 阶段,但限制编辑它的任何配置。(对此感到满意)
但是开发用户可以部署到 prod 阶段。我确实希望有一个类似的,
"arn:aws:apigateway:eu-central-1::/restapis/6mvx7om366/deployments/stages/dev"
但看起来没有。有没有解决办法?