銀行とフィンテックのアプリ
セキュリティチームは、侵害されたアカウントのすべてのセッションや、古いアプリバージョンのすべてのデバイスのセッションを、1回の操作で終了させます。
自動で期限切れになるセッションを保存し、インデックスを作らずにユーザー、ロール、デバイスごとに検索や失効ができます。
各デバイスに、有効期限30分の独自のセッションが発行されます。
実際のHotKVコマンドと応答例を使ったアニメーションのウォークスルーです。任意のステップをクリックすると、そこに移動します。 コマンドと応答は、HotKVで実際に入力し表示されるとおり英語のままです。
セッションは小さく、頻繁にアクセスされ、短命なので、インメモリストアに適しています。難しいのはその後です。サポートがユーザーをすべての場所からサインアウトさせる必要があるときや、セキュリティ担当がロールやデバイスのすべてのセッションを終了させる必要があるときです。単純なキーバリューストアでは、セッションをIDでしか検索できません。
HotKVは各セッションを有効期限付きのキーとして保存し、所属するユーザー、ロール、デバイスでタグを付けられます。タグはエンジンの一部でキーとともに消えるため、別のキーのセットを維持しなくても、1回のルックアップで一致するすべてのセッションを一覧にしたり失効させたりできます。
各デバイスに、有効期限30分の独自のセッションが発行されます。
SET session:9f2c "{\"user\":42}" EX 1800セッションの作成直後に、ユーザー、ロール、デバイスが付与されます。
TAG.SET session:9f2c user:42 role:admin device:iosリクエストのたびに有効期限が更新されるため、スライディングタイムアウトになります。
EXPIRE session:9f2c 1800ノートPCの盗難が報告されます。1回のルックアップで、そのユーザーのすべてのセッションが返ります。
TAG.MEMBERS user:42返ってきたキーを削除します。タグも一緒に消え、すべてのデバイスがサインアウトされます。
DEL session:9f2c session:71aa session:0c8eセキュリティチームは、侵害されたアカウントのすべてのセッションや、古いアプリバージョンのすべてのデバイスのセッションを、1回の操作で終了させます。
管理者のロールが外されると、そのロールのタグが付いたすべてのセッションが一斉に失効します。
ユーザータグに対するTAG.MEMBERSの応答から、アカウントごとの同時セッションを数えて制限します。
TTLが切れるとセッションは自動で消え、タグも一緒に消えます。
EXEXPIRE任意のタグ、または複数のタグの組み合わせでセッションを見つけます。
TAG.MEMBERSTAG.INTERTAG.COUNTとTAG.EXISTSで、キーに付いているタグがわかります。
TAG.COUNTTAG.EXISTSセッションの読み取りと書き込みは並列のスレッドで実行されます。
ユーザータグとデバイスタグでTAG.INTERを使い、返ってきたキーを削除します。
キーのタグは、期限切れを含め、キーが消えるときに一緒に消えます。タグはスナップショットに含まれないため、サーバーがスナップショットから再起動した場合は付け直してください。
はい。ユーザータグに対するTAG.MEMBERSでセッションを一覧にできるため、サインイン時にそれを数えて、拒否するか最も古いセッションを終了させられます。
HotKVはRedisプロトコルに対応しているため、既存のクライアントを向けるだけで、これらと同じコマンドを実行できます。