首页 文章

使用STS和API网关进行身份验证的用户

提问于
浏览
0

如果我的用户向STS发送请求凭据的请求:

AWS.config.credentials = new AWS.WebIdentityCredentials({
  RoleArn: 'arn:aws:iam::{id}:role/{role}',
  WebIdentityToken: idToken,
  RoleSessionName: VALUE
});

稍后,当用户向私有API网关 endpoints 发送请求时,通过使用RoleSessionName,我可以知道谁是发出请求的人 . 但是,我们如何通过使用相同的RoleSessionName来避免其他用户采用他的身份?

使用STS和IAM角色对用户进行身份验证的最佳方法是什么?

2 回答

  • 0

    RoleSessionName 是告诉每个用户分开的方法 . 无法为每个用户创建单独的角色,因为每个帐户最多只能有1000个角色 . 我认为此API调用不应在客户端用于身份验证 . 它只是为服务器端已经过身份验证的用户提供一个角色 .

  • 0

    RoleSessionName只是假定会话的标识符 . 它不应该用作区分呼叫者的机制 .

    在这种情况下,假定的角色是“有效”的主体 . 如果您希望API根据用户的不同行为,请为每个用户使用唯一角色 .

相关问题