使用IAM安全的AWS API网关在注销时使凭证无效

时间:2019-01-06 20:58:21

标签: amazon-web-services aws-api-gateway amazon-cognito aws-iam

我正在将AWS IAM安全的AWS API网关与AWS Cognito身份池结合使用,类似于Enhanced Simplified Flow described by AWS,带有外部(OpenId)登录提供程序。

通过以下方式获取凭据:

  1. 重定向到登录提供者,并在成功进行用户身份验证后获取ID令牌,
  2. AWS Cognito身份池授权并分配经过身份验证的IAM角色,
  3. 接收凭据(accessKeyId,secretKey,sessionToken)和
  4. 在aws签名的请求中使用这些凭证访问所有AWS IAM保护的api终端节点都可以正常工作。

问题出在注销过程中:

如何在注销用户后确保上述流程收到的凭证正确且迅速不再可用以访问AWS IAM安全的端点?

我在文档中没有看到与此相关的任何内容,仅等待凭证过期就不是一个选择,而且是一个非常严重的安全问题:

注销用户必须阻止用户立即访问API网关!

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我们遇到了与您同样的问题,AWS团队告诉我们,注销/ globalSignout之后不可能立即撤销令牌。简而言之,签出仅会使令牌无效,以防止仅在Cognito中使用,其他服务(如API GW或S3)会在令牌本身中检查令牌是否到期,而不是对Cognito进行ping操作以进行用户状态验证。让我知道您是否能够解决问题!