やっほー
Cognitoのアカウントロック!ロックアウトされない?!

Cognitoのアカウントロック!ロックアウトされない?!

  • 2019年3月11日
  • 2021年4月7日
  • AWS
  • 548view
AWS Cognitoのアカウントロック!ロックアウトされない?!

とあるログイン画面でCognitoを使用しているのですが、Cognitoにはアカウントロック機能があるのでしょうか?

システムによっては、セキュリティ診断をクリアしないとリリースできないなんてこともあるので気になったのです。

ということで今回は、Cognitoのアカウントロック機能について解説します!

Cognitoのアカウントロック機能

結論からになりますが、Cognitoにアカウントロック機能があるのかというと、「分からない」が回答になります。

その理由はこの後お話しします。

アカウントロック機能があるかどうかは分からない

Cognitoにアカウントロック機能があるかどうかは分かりません。

その理由は、「AWSが公式に明言していないから」です。

AWSが公式に明言していない理由

AWSが公式に明言していない理由は、「明言してしまうと悪い人たちが良からぬことをしでかす可能性があるから」です。

セキュリティ的観点から、敢えて明言していないということですね。

分からないなら実際に試すしかない

ということで、実際にアカウントロック機能があるかどうかを試してみましたが、正直良く分かりませんでした。

以下のエラーが返ってくることだけは分かったのですが、このエラーが返ってきた後、普通にログインできる時もあればログインできない時もあります。

code NotAuthorizedException
name NotAuthorizedException
message Password attempts exceeded
アカウントロック機能は「〇回アクセスしたらロックがかかる」などの条件がありますが、「〇秒間に〇回」といった具合に秒数も考慮しなくてはならないため、結構考えることが多めです。

Password attempts exceededとは

Password attempts exceededは、直訳すると「パスワード試行回数を超えました。」になります。

このメッセージが出るということは、アカウントロックがかかってもよさそうですが、よう分からんです。

Cognito×ブルートフォース攻撃

そもそも、アカウントロック機能が必要な理由として、「ブルートフォース攻撃や辞書型攻撃を防ぐため」という理由があります。

Cognito×ブルートフォース攻撃」については以下を参照してください。

まとめ

結果的に、「よく分からない」というのを再認識するだけの、大して意味のない記事になりました。

ではさいなら。

 

2020/02/06 追記

AWSサポートによると、アカウントロック機能はあるらしいです。
が、ログイン試行可能回数やロック解除までの時間などは教えてくれないそうです。
また、ロック期間はサインインに失敗した回数に応じて指数関数的に増加するような仕組みになっているとのこと。
エラー内容は上記に書いてある通りで、アカウントロックを解除する仕組みもないそうです。
もちろん、AWSコンソールからアカウントロックに関して設定することもできません。
Cognitoのアカウントロック!ロックアウトされない?!
フォローしてもらえると泣いて喜びます