在Amazon Cognito中,aws.cognito.signin.user.admin范围是什么意思?

时间:2018-11-05 05:59:26

标签: amazon-web-services oauth-2.0 amazon-cognito

Amazon Cognito具有许多系统保留的作用域:

  • openid
  • 电子邮件
  • 电话
  • 个人资料
  • aws.cognito.signin.user.admin

但是没有记录他们可以访问的内容。

前三个是不言自明的。我希望个人资料是指用户个人资料。

通过反复试验,我发现我需要aws.cognito.signin.user.admin才能使用Amazon Cognito Get User API call。我本来希望是profile,但可以,很好。

我担心的是 else aws.cognito.signin.user.admin可能会做什么。如果我让第三方客户请求此范围,我可以给他们访问什么权限?

1 个答案:

答案 0 :(得分:9)

通过aws.cognito.signin.user.admin范围,您可以访问所有可以使用访问令牌单独访问的用户池API (full documentation here)

请注意,这并不意味着用户可以对所有AWS API进行任意访问(可能像IAM角色一样),但是,如果该API调用的请求语法包括"AccessToken": "string",则可以进行访问使用aws.cognito.signin.user.admin授予的令牌可以调用它。

通常,经过此类授权的Cognito UserPools API(并且仅 Cognito UserPool API)允许您修改自己的UserPools配置文件中的内容(即,请勿以{开头{1}}并影响单个配置文件):

通过API一目了然,这些操作是(https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_Operations.html):

  • AssociateSoftwareToken
  • ChangePassword
  • ConfirmDevice
  • DeleteUser
  • DeleteUserAttributes
  • ForgetDevice
  • GetDevice
  • GetUser
  • GetUserAttributeVerificationCode
  • GlobalSignOut
  • ListDevices
  • SetUserMFAPreference
  • SetUserSettings
  • UpdateDeviceStatus
  • UpdateUserAttributes
  • VerifySoftwareToken
  • VerifyUserAttribute