我有一个第三方(Snowflake)担任我提供的 IAM 角色,他们正在通过会话策略。
根据文档,会话的权限是“......加上会话策略和基于身份的策略的交集”。
我对角色的身份政策有声明
{
"Effect": "Allow",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:<api-gateway-invocation-url>"
}
以及他们在假设角色时添加的会话策略具有语句
"Sid":"1",
"Effect":"Allow",
"Action":["execute-api:Invoke"],
"Resource":["arn:aws:execute-api:<api-gateway-invocation-url>"]
}
如果我在担任角色时将会话策略作为可选参数传递,然后调用 api 网关,我会得到与通过 Snowflake 看到的相同的错误,is not authorized to perform: execute-api:Invoke on resource
. 如果我在担任角色时没有通过策略,然后调用api网关,它就成功了。
这与身份策略是否具有通配符或会话策略中使用的确切 URL 无关。
如何使用角色的身份策略允许此访问?