はじめに
認証、それは人類が相互活動するのに不可欠である、古来より受け継がれし信頼関係の礎。
時は21世紀、人類のアカウント情報管理エントロピーは無限大に膨張し、安全を期して設定した複雑なパスワードは至る所に散らばり、そのアカウント情報を忘れてしまう始末。
そんな憂いの世に一筋の光明が差したーーOAuthである。
これからはそれぞれのアプリケーションのアカウントを逐一覚えておく必要はなく、GoogleやFacebook, Twitterといったビッグ・ネームのアカウントのみ記憶しておけば良い。この程度であればよく躾けられたラブラドール・レトリバーでも覚えていられることだろう。
しかし、この規格をアプリケーションに自前で実装するのは、なかなか骨が折れる。経費が足りない。迫る納期に血眼で立ち向かうも、終わりが見えない。あゝ、愛しきBasic認証。桃源郷はかくも遠きものか。
そう、理想は理想であるから美しいのであり、現実はありとあらゆる制約が我々の行手を阻む。
誰もが憂慮する、組織のネーム・バリューを担う、認証。
そこに一つのSaaSが立ち向かった。名を、Auth0、という。
この記事は
私はAuth0が好きだ。この世の何よりもたまらなく好きだ。私にもし娘がいたのならば、「あそこのお兄さん気立てがいいようだよ。一度お会いしてみてはどうだい?」と下手に出つつ結婚への一押しをしたいくらいには好きだ。
認証。わたしはかくかくしかじかの者である、とただ証明して、それを認めるだけのこと。
認可。君が行おうとしている行為に首を縦に振るか横に振るか、ただそれだけのこと。
それなのに、ことデジタルの世界においてそれを実践するのは非常に難しい。割り符を用意しようが、セキュアなネットワークを通過しようが、鍵をパケットに持たせようが、この世界ではその間隙をぬって攻め立てんと舌なめずりする悪しき攻撃者が跳梁跋扈している。上役からはセキュリティという見えざるものに対して大枚を叩くことへの理解は得られず、理想とするセキュアなシステムは遠のくばかり。イデア・セキュリティ。不毛なパワーポイントに残業時間を注いで、上役に再帰的説明を繰り返す、変化に数多きプロセスを要するこの構造こそ、セキュリティなのだと誤解している企業。それは私の企業だけの話だろうか?
見よ、Auth0の眩い星を。認証・認可という誰もが嫌悪感を示すそれから生まれしSaaSとは思えぬその凛とした美しさを。彼らこそが、認証・認可という不毛な八百長試合に喝を入れる、正義の星なのである。
愛しい星に焦がれる私の想い、ほんの少し耳を傾ける時間をくれないだろうか?
ユーザを管理したい
Auth0はユーザ情報をストアするデータベースとしても使える。ブラウザは何か。メールアドレスは何か。彼らにお好きなメタデータを保持させることも可能だ。Roleを与えて、彼らの動きに制約を設けることもできる。中世のパノプティコンを彷彿とさせるこの徹底的な監視。それなのに、こんなにエレガントに見えるのは一体どういったカラクリなのだろう?
ユーザのログを管理したい
それぞれのユーザがいつログインしたか、ログアウトしたか。トークンを交換したか。それに成功したか、失敗したか。全ての情報はデフォルトでロギングされる。
それらのデータを解析したい?お望みのままに。プラグインを用いて、そのログをお好みのプラットフォームにexportもできる。CloudWatch、Azure Blob Storage、Sumo Logic。我らが正義の星はビッグネームとの人付き合いも怯むことなく、華麗にこなす。
ログイン画面や確認メールをカスタマイズしたい
ログイン画面もお好みのスタイルに修正可能だ。パスワードポリシーが欲しい?何文字?何世代までの使い回しを禁止する?何の文字を必須にする?全ての望みを叶えよう。たかが割り符の規則にあれこれ思いを巡らす不毛な時間など潰えてしまえ。この正義の星に抱かれるだけで良いのだ。ユーザ作成のメールの文言。カスタムドメインの適用。メールプロバイダの選定。全ては正義の星の手中にある。FIDOやSMSなどによる多要素認証なんてことも可能だ。
あゝ、この圧倒的ブランディングコンシェルジュ。そつがなく、紳士的で、猛々しい。
認証認可をトリガにジョブを走らせたい
誰かがログインした、ログアウトした、トークンを交換した、それをトリガーに何か一仕事したい時もあるだろう。馴染みの客がログインしたら、すかさずオン・ザ・ロックを作り始める、なんてことも可能だ。
涙に暮れる貴婦人がログアウトする際は、すかさずハンケチを差し伸べよう。すべては、javascriptで書けるこのRulesで実装できる。そうだろう?ーおっと、一見さんはお断りだ。君はまだ確認メールを踏んでいない。Rulesの張り紙、ヘロインで汚れたその節穴に詰めておくんだな。
シークレットをセキュアに管理したい
ok、そうはいってもお上は許さないだろう。彼らがあくせく物理サーバをこねくり回して作り上げたひと財産を、ユニコーンの青二歳に委ねたくないと喚くのもごもっともだ。ましてや、クレデンシャル情報をそこにストアするなど尚更。大丈夫、Auth0にはシークレットを保管する機能もある。ガチガチに窮屈なオンプレミスで苦しげに息をするあなたのシークレットを、暗号化の海に横たえ、愛の羽衣で休息する暇を与えようではないか。
何、まだセキュアが足りないって?オーケイ、ボット検知、IP blacklist、ブルートフォース遮断、多要素認証。気は済んだかい?
星
IDaaSなんてしょうもない名前をつけるのはやめよう。Auth0は星だ。性悪説で澱んだ認証認可の世界にまたたく、正義の星だ。