DENY策略不适用于具有特定角色的认知用户



为了在我的AWS API网关中添加安全检查,我做了以下操作:

  1. 我在Amazon Cognito用户池中创建了两个组:
  • 经理
  • 基本用户
  1. 我并行创建了两个角色(manager和basic_user(。经理组映射到经理角色,基本用户组映射到基本用户角色。

  2. 我创建了一个IAM策略来拒绝特定端点GET工作组管理器对basic_user用户的访问,并将此策略附加到basic_user角色:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"execute-api:Invoke"
],
"Resource": [
"arn:aws:execute-api:us-east-2:<my_account_id>:<API_ID>/*/GET/crew-manager"
]
}
]
}
  1. 从Postman,我用basic_user的授权承载令牌向GET/crew经理提出了一个请求。当我解码令牌时,我确认该令牌中唯一的角色是basic_user。然而,响应仍然是200,而不是未经授权的类似响应

我做错了什么吗?

角色映射仅适用于API网关上的AWS IAM授权人。如果使用cognito authorizer,则必须在处理程序中进行授权检查,或者实现自己的自定义authorizer以返回适当的策略。

相关内容

  • 没有找到相关文章

最新更新