スタック全体の認証をこれ1つで解決! (Authentik導入ガイド)
BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology
Transcript
00:00:00ログインページに辿り着くまでは、スタックは綺麗に見えるかもしれません。
00:00:03ローカル認証用のサービスが1つ、多要素認証がないサービスがもう1つ、そして全く異なる
00:00:08ユーザーシステム。こうなるとDockerやKubernetes間で別々のログイン情報を管理することになります。うまく動作している
00:00:14うちはいいですが、限界が来ます。そこで登場するのがAuthentikです。SSO、MFA、
00:00:20パスキー、そしてすべてを一元管理できるセルフホスト型のツールです。立ち上げ方
00:00:25と設定方法を数分で説明します。
00:00:30[音楽]
00:00:32Authentikはオープンソースのセルフホスト型IDプロバイダーです。要するに、すべてのアプリの
00:00:39ログインシステムになります。個々のサービスで認証を個別にいい加減に扱ったり、無理やり
00:00:44つぎはぎしたりするのではなく、Authentikが一元管理します。SSO、多要素認証、
00:00:50ユーザー管理、アクセス制御が手に入ります。Oktaのようなものですが、オープンソースなので自分で所有できます。
00:00:56期待される機能はすべて揃っていますが、ここからが大きな違いです。XML設定と格闘したり
00:01:01SaaSのルールに縛られるのではなく、Authentikはフロー、ステージ、Pythonポリシーを使用します。
00:01:08つまり、開発者のように認証ロジックを構築できるのです。ここが利点です。断片化が減り、
00:01:14セキュリティが向上し、ログインの手間もありません。ワークフローを加速させるツールが好きなら、
00:01:18ぜひチャンネル登録をお願いします。動画は定期的に公開しています。
00:01:21より多くの開発者が、扱いにくい設定やクラウド型IDPから離れつつあります。Authentikの方が小さいからではなく、
00:01:28使いやすいからです。実際にどのようなものかお見せしましょう。
00:01:32新しいサーバーを用意して、"docker compose up"というコマンドを1つ実行するだけで、Authentikが起動します。
00:01:39本当にこれだけでいいのです。管理画面を開いてアプリを作成し、
00:01:44OAuthをプロバイダーとして追加するか、何でも好きなものを選べます。30秒もかかりません。
00:01:50次に、ダミーアプリを立ち上げます。これといった機能はありません。リダイレクトURLを
00:01:54localhostに設定し、Authentikから取得したクライアントIDとシークレットを入力して、ログインするだけです。
00:02:01本当にこれだけです。ここで新しいユーザーを追加してログインに使用すれば、
00:02:07管理者ではなくユーザーとしてアクセスできます。カスタムログインページを作る必要も、
00:02:13パスワードシステムを維持管理する必要も、サービスごとにちぐはぐな認証をする必要もありません。
00:02:19所要時間は約90秒。これでアプリの認証が本番環境レベルになりました。
00:02:24ここで納得できるはずです。複雑そうに見えて、
00:02:27実際にはかなりシンプルです。この認証システム全体をこちらで連結でき、
00:02:32Authentikでどう処理するかを選択できます。では、他との比較はどうでしょうか?
00:02:38Keycloakがあります。素晴らしいですが、レガシーな部分が多く、エンタープライズ寄りです。
00:02:45Autheliaは軽量ですが、すぐに機能不足を感じるかもしれません。先ほど挙げたOkta、
00:02:50あるいはAuth0。これらは洗練されていますが、特にユーザー数が増えると料金がかかります。
00:02:56Authentikはその中間のような存在です。完全なID管理機能があり、
00:03:01ビジュアルフロービルダーで非常に柔軟でありながら、高額なSaaSの
00:03:05コストを払う必要もありません。これには有料版もあるので、そこは少し嫌なのですが、オープンソース版で
00:03:12多くのことができます。かなり規模が大きくなると、その分は支払うことになります。
00:03:16繰り返しになりますが、オープンソースのツールが好きです。これは本当にオープンソースですが、大規模にスケールさせる場合は支払う必要があります。
00:03:22UIはモダンで直感的です。フロー機能でログインロジックを視覚的に
00:03:27構築できます。素晴らしいですね。さらにPythonポリシーを使えば、設定だけでは足りない
00:03:33詳細なカスタマイズも可能です。Kubernetesとも連携でき、API
00:03:40駆動型です。すべてが非常に優秀です。さらに、一元化されたMFA、ユーザー管理、サービス
00:03:47ポータルがすべて1箇所に集約されています。ただし、欠点もあります。まず、確かにオープンソースです。
00:03:52多くの方にとっては素晴らしいことです。ですが先ほど触れた通り、成長すれば支払いが必要になります。どのサービスも
00:03:58同じかもしれませんが、制限を超えたら支払わなければならないのは嫌ですよね。私は好きじゃ
00:04:04ありません。学習曲線もあります。正直なところ、インストールは少し混乱しました。
00:04:09ですが、一度動いてしまえば非常に優秀です。超軽量ツールと比べると
00:04:13メモリ消費は約2GBと重めです。高可用性構成をとらなければ、
00:04:19単一障害点になってしまいます。完璧ではありませんが、ほとんどの開発者は同じ結論に達します。
00:04:26最初は学習が大変ですが、一度使いこなせれば非常に便利です。
00:04:30本当に良いものです。様々なものを統合してくれます。では、価値はあるのでしょうか?まあ、
00:04:35皆さんが判断してください。セルフホスト環境(ホームラボ、
00:04:40内部ツール、SaaS、オンプレミスアプリなど)を運用しているなら、素晴らしい選択肢になるはずです。
00:04:45あらゆる場所に本物のSSOとMFAを導入したいなら、これは既存の問題を解決します。価格より
00:04:50制御を重視するなら、なおさら理にかなっています。カスタム認証ロジックが必要なら、まさに
00:04:56真価を発揮します。ただ、設定不要で超軽量なツールを求めているなら、
00:05:00向いていません。これには設定が必要です。また、非常に
00:05:06大規模なスケールを目指すなら、他の有料プロバイダーの方が優れているでしょう。しかしほとんどの
00:05:11人にとって、一度設定してしまえば、アプリごとに散らばっていた認証が
00:05:16自分が管理できる一つのシステムに統合されます。慣れてしまうと、元には戻れません。
00:05:22とにかく、これは検討に値します。ワークフローに取り入れるにはクールなツールです。もしオープンソースの
00:05:27ツールやワークフローを加速させるコーディングのヒントが好きなら、ぜひBetter Stackチャンネルを登録してください。
00:05:32また別の動画でお会いしましょう。