web-dev-qa-db-ja.com

Amazon Cognitoでは、 `aws.cognito.signin.user.admin`スコープは何を意味しますか?

Amazon Cognitoには、システムで予約されたスコープがいくつかあります。

  • openid
  • eメール
  • 電話
  • プロフィール
  • aws.cognito.signin.user.admin

しかし、彼らが何にアクセスできるかを文書化していません。

最初の3つはかなり自明です。プロファイルとはユーザープロファイルを意味すると思います。

試行錯誤の結果、必要なことがわかったaws.cognito.signin.user.admin Amazon Cognitoを使用するには Get User API call を使用します。代わりにprofileになると思っていましたが、大丈夫です。

私が心配しているのは、elseaws.cognito.signin.user.admin 行う可能性があります。サードパーティのクライアントにこのスコープの要求を許可すると、何にアクセス権が与えられますか?

12
GlennS

aws.cognito.signin.user.adminスコープを使用すると、アクセストークンのみを使用してアクセスできるすべてのユーザープールAPIにアクセスできます (こちらの完全なドキュメント)

これは、ユーザーがすべてのAWS APIへの任意のアクセス権を持つことを意味するわけではないことに注意してください(IAMロールのように)、そのAPI呼び出しのリクエスト構文に"AccessToken": "string"が含まれている場合、 aws.cognito.signin.user.adminから呼び出すことができます。

原則として、このように認証するCognito UserPools API(およびonlyCognito UserPool API)は、独自のUserPoolで何かを変更できるものですプロファイル(つまり、Adminで始めず、単一のプロファイルに影響を与えます):

APIを一目で見ると、これらのアクションは( https://docs.aws.Amazon.com/cognito-user-identity-pools/latest/APIReference/API_Operations.html )です。

  • AssociateSoftwareToken
  • パスワードを変更する
  • ConfirmDevice
  • DeleteUser
  • DeleteUserAttributes
  • ForgetDevice
  • GetDevice
  • GetUser
  • GetUserAttributeVerificationCode
  • GlobalSignOut
  • ListDevices
  • SetUserMFAPreference
  • SetUserSettings
  • UpdateDeviceStatus
  • UpdateUserAttributes
  • VerifySoftwareToken
  • VerifyUserAttribute
17