我希望允许Cognito经过身份验证的用户调用API网关端点,但将其限制为自己的资源,例如
'/users/<IdentityID>/*
'。
我准备了像这样的IAM角色。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"execute-api:Invoke"
],
"Resource": [
"arn:aws:execute-api:ap-northeast-1:*:MyAPIID/*/*/users/${cognito-identity.amazonaws.com:sub}*"
]
}
}
但是在这个设置上,当我尝试调用时出现403错误。
如果我将${cognito-identity.amazonaws.com:sub}
替换为实际身份ID(例如ap-northeast-1%3Ad8515ae9-62b5-4cba-af5c-195f5d7e1d07
),则可以。
我们无法在API网关资源上使用${cognito-identity.amazonaws.com:sub}
,我们可以吗?
答案 0 :(得分:1)
这是正确的。目前,它只是S3和DynamoDB的快捷方式。