Home
Blog
Products
Profile
Study
Collatz
© 2024 Oizumi Yuta

AWS Cognito アカウントロックアウト

2024-09-14

Cognito アカウントロックについて

少々長いが全文を引用する.

サインインの試行の失敗に対する、Amazon Cognito ロックアウト動作

認証されていないサインインまたは IAM 認証されたサインイン試行が 5 回失敗すると、Amazon Cognito は 1 秒間ユーザーをロックアウトします。ロックアウトの期間は、試行が 1 回失敗するたびに 2 倍になり、最大で約 15 分になります。ロックアウト期間中に試行すると Password attempts exceeded 例外が生成され、その後のロックアウト期間の長さには影響しません。サインイン試行の累積失敗回数 n (Password attempts exceeded 例外を含まない) に対して、Amazon Cognito はユーザーを 2^(n-5) 秒間ロックアウトします。ロックアウトを n=0 初期状態にリセットするには、ユーザーは、ロックアウト期間後にサインインに成功するか、連続 15 分間、サインイン試行を開始してはなりません。この動作は変更される可能性があります。この動作は、パスワードベースの認証も実行しない限り、カスタムチャレンジに適用されません。

これを表で整理する.

パスワード誤入力回数ロックアウト期間 (秒)備考
1 ~ 4なしロックアウトはまだ開始されない
51 秒ロックアウト開始
62 秒
74 秒
88 秒
916 秒
1032 秒
1164 秒
12128 秒約 2 分
13256 秒約 4 分
14512 秒約 8 分
15900 秒約 15 分(最大ロックアウト期間)

まとめると以下の通りである.

  • 累積のサインイン失敗回数を n とし、最初の n= 5 回の失敗後にロックアウトが始まる
  • ロックアウト期間は、2^(n-5) 秒間で計算され、失敗ごとに 2 倍になる
    • ただし Password attempts exceeded 例外は失敗にカウントしない
  • ロックアウト期間は最大約 15 分(900 秒)である

参考

ユーザープール認証フロー