Amazon Cognitoには、システムで予約されたスコープがいくつかあります。
しかし、彼らが何にアクセスできるかを文書化していません。
最初の3つはかなり自明です。プロファイルとはユーザープロファイルを意味すると思います。
試行錯誤の結果、必要なことがわかったaws.cognito.signin.user.admin
Amazon Cognitoを使用するには Get User API call を使用します。代わりにprofile
になると思っていましたが、大丈夫です。
私が心配しているのは、elseaws.cognito.signin.user.admin
行う可能性があります。サードパーティのクライアントにこのスコープの要求を許可すると、何にアクセス権が与えられますか?
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 )です。