API Gateway 并不需要 AWS IAM 策略“互相”。AWS IAM 策略只需要包含所需的权限即可。以下是一个示例,我们可以创建一个策略,允许访问 API Gateway,并针对一个特定的 Lambda 函数进行授权:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:Invoke"
],
"Resource": [
"arn:aws:execute-api:us-west-2:123456789012:abcdefg/test/GET/",
]
},
{
"Effect": "Allow",
"Action": [
"lambda:InvokeFunction"
],
"Resource": [
"arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function"
]
}
]
}
这个策略允许访问名为“test”的 API 端点,使用 HTTP GET 方法,并允许使用特定的 Lambda 函数。注意,这两个条件是针对同一 AWS 账户的资源定义的。