我想授予某些AWS账户ID访问我账户中的api网关的权限。最好的方法是什么?
我认为,有一种添加资源策略的方法可以赋予该AWS账户访问权限。这是个好方法吗?我说的是生产服务?
还,AWS账户的所有资源都可以访问API网关吗?
答案 0 :(得分:1)
对于每个API网关端点,我们可以将“授权”选项从None
更改为AWS_IAM
:
然后,我们可以从API网关的“资源策略”部分配置对API的访问。在“资源策略”页面上,单击“ AWS帐户白名单”按钮以获取策略模板,摘录如下:
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::{{otherAWSAccountID}}:root",
"arn:aws:iam::{{otherAWSAccountID}}:user/{{otherAWSUserName}}",
"arn:aws:iam::{{otherAWSAccountID}}:role/{{otherAWSRoleName}}"
]
},
"Action": "execute-api:Invoke",
"Resource": [
"execute-api:/{{stageNameOrWildcard*}}/{{httpVerbOrWildcard*}}/{{resourcePathOrWildcard*}}"
]
}
作为对IAM授权的替代(或补充),我们可以使用API密钥控制使用情况,从而可以对API调用进行限制(限制)并设置配额。
更多信息: