by MintJams

ゼロからわかるMintJams CMS #2|起動はコマンド1つ、サインインは顔か指で

社内ツールの導入で「設定が大変」「またパスワードが増える」とお悩みではありませんか?MintJams CMSなら、コマンド1つで起動し、初期状態で安全なサインイン環境が整います。パスキー認証にも対応した、安心&スマートなサインインの仕組みをご紹介します。

この記事をお読みいただくと、「安全なサインインの仕組みは、起動した瞬間にもう整っている」という大きな安心感を持っていただけるはずです。

前回は、MintJams CMSがブラウザの中に「もう一つの仕事机」を作ってくれるというお話をしました。ですが、「そんな便利な環境を用意するのは、きっと大変なんじゃない?」と感じた方もいらっしゃるかもしれません。

今回は、まさにその疑問にお答えします!

基本的にはお読みいただくだけで雰囲気を掴んでいただける内容ですが、「実際に手元で試してみたい」という方向けに、記事の末尾に簡単な手順もご用意しました。ぜひ気軽にお付き合いください。

※この記事は MintJams CMS 0.1.33-beta の情報をもとに作成しています。プレビュー版のため、実際の画面デザインなどは今後変更される可能性がございます。


困りごと:導入の設定が大変で、覚えるパスワードがまた増える…

社内で新しいツールを導入しようとするとき、私たちはいつも二つの大きな壁にぶつかります。

一つ目は 「設定の手間」 です。 サーバーを用意し、設定ファイルを書き、認証の仕組みを連携させて……と、専門の担当者が何日もかけて準備を進める。その間、使いたい現場のメンバーはただ待つことしかできません。

二つ目は 「パスワード管理」 です。 便利なツールが増えるたびに、覚えるべきパスワードも一つ増えていきます。「使い回しは危険」と言われ、複雑なパスワードに設定したものの、うっかり忘れてしまったり。「もっと安全にしたい」と思っても、2段階認証の導入はまた別の大仕事になりがちです。

ですがご安心ください。MintJams CMSは、この二つの壁を最初からきれいに取り除いた状態でお手元に届きます。


こうなる:決めるのは「どこから開くか」だけ

MintJams CMSは、アプリもサーバーも認証の仕組みも、すべて丸ごと一つの「箱」に詰め込んでお届けしています。この箱は「Docker(ドッカー)」という技術で動いており、起動自体はコマンドを1つ打つだけで完了します。

その際、みなさんに決めていただくことはたった一つだけです。 それは 「このCMSを、みんながどのURL(アドレス)で開くか」 ということです。

ご自身のパソコンで試すなら http://localhost:8080、社内で公開するなら https://cms.example.co.jp のようなアドレスを指定します。このURLだけ指定していただければ、他に必須となる面倒な初期設定はありません。

初回起動で、安全なサインインの部品が自動で揃います

初めて起動した瞬間、箱の中では次のような準備が自動的に進められています。

  • 管理者の初期アカウントを安全に作成
    管理者(admin)アカウントが作られ、ランダムな初期パスワードがファイルに書き出されます。誰もが推測できてしまう「admin / admin」のような危険な初期値は存在しません。
  • 安心の標準規格(SAML 2.0)に沿った連携が完了
    サインインを受け付ける窓口(社員証を確認する場所)と、サインインを求める場所(建物の入口)の両方が自動で準備され、お互いを信頼する設定まで完了します。通常は専門家が時間をかけて行う設定ですが、最初からセットされています。
  • 暗号化の鍵や証明書も自動生成
    データの保護に必要な鍵・証明書が生成され、設定ファイルにもしっかり暗号化された状態で保存されます。

つまり、「安全なサインイン環境」は起動した瞬間にすでに完成しているのです。 後から社内公開用のURLに変更したくなった場合も、最初に決めたURLを書き換えて起動し直すだけで大丈夫です。


サインインは、顔認証や指紋でスマートに

サインイン画面を開くと、まず「サインイン方法を選択してください」と案内されます。初回はパスワードでのサインインとなりますが、事前に環境設定を済ませておくことで、次回からはパスキーでのサインインもお選びいただけるようになります。

サインイン画面

1. パスキーでサインイン(おすすめ)

スマートフォンの画面ロックを顔認証や指紋で解除する、あのサクサクとした感覚です。ユーザー名もパスワードも入力する必要はありません。

ボタンを押すと、パソコンやスマートフォンが「本人ですか?」と確認してきますので、顔認証・指紋・PIN・セキュリティキーなどで応じるだけでサインインが完了します。

パスキーは「手元にある端末(デバイス)」と「ご本人であること(顔や指)」の2つを同時に確認するため、これだけで非常に強固な2段階認証として機能します。パスワードを覚えるストレスから解放されるだけでなく、パスワード盗難のリスクもなくなります。

2. パスワードでサインイン

こちらは馴染みのある「ユーザー名とパスワード」によるサインインです。

「2段階認証」を有効にしている場合は、パスワード入力後にスマートフォンの認証アプリ(Google Authenticator や Microsoft Authenticator、1Password など)に表示される6桁の「確認コード」を入力します。ネットバンキングなどで見かける仕組みと同じです。

万が一スマートフォンを忘れてしまった日に備えて、1回限り使える「バックアップコード」が10個発行されます。印刷してデスクの引き出しなどに保管しておくのがおすすめです。

設定もとっても簡単です

設定は、デスクトップ画面の「Preferences(環境設定)」›「セキュリティ」からいつでも行えます。「2段階認証」をオンにして表示されたQRコードをアプリで読み取ったり、「パスキーを追加」を押して「仕事用ノートPC」といった名前を付けたりするだけですので、どちらも1分ほどで完了します。

セキュリティ設定

なお、こうしたセキュリティ設定を変更する際は、第三者による勝手な変更を防ぐため、必ず現在のパスワードの再確認を求められます。もしスマートフォンとバックアップコードの両方を紛失してしまった場合でも、管理者の操作で解除できますのでご安心ください(第13話で解説します)。


やってみる:ご自身のパソコンで起動してみましょう

「読むだけでなく実際に触ってみたい!」という方向けの手順です。 Docker Desktopがセットアップされているパソコンで、コマンド入力画面(WindowsならPowerShell、Macならターミナル)を開いてお試しください。

  1. 以下のコマンドをコピー&ペーストして実行します。 ※初回のみ、箱のダウンロードに数分かかります。
docker run --rm --name cms -p 8080:8080 -e CMS_PUBLIC_BASE_URL=http://localhost:8080 -v cms-repository:/data/repository -v cms-secrets:/data/secrets -v cms-index:/data/index --tmpfs /opt/felix/tmp:size=512m,mode=0700 mintjams/cms:0.1.33-beta
  1. 別のコマンド画面を開き、自動生成された管理者の初期パスワードを確認します。
docker exec cms cat /data/repository/INITIAL_PASSWORD.txt
  1. ブラウザで http://localhost:8080 にアクセスします。 「パスワードでサインイン」を選び、ユーザー名 admin と先ほど確認したパスワードを入力してください。前回ご紹介したデスクトップ画面が開けば成功です!

無事にサインインできたら、「Preferences(環境設定)」›「セキュリティ」からパスワードをご自身のものに変更してみましょう。よろしければそのままパスキーも登録してみてください。次回からは顔認証や指紋でスッと入れるようになります。

なお、確認した初期パスワードのファイルはもう不要ですので、最後に以下のコマンドで削除しておきましょう。

docker exec cms rm /data/repository/INITIAL_PASSWORD.txt

終了したい時は、最初のコマンド画面で Ctrl + C を押します。データは保持されますので、次回同じコマンドを実行すれば前回の続きからご利用いただけます。


ひとこと用語解説

  • Docker(ドッカー)
    アプリやシステムを、動かすのに必要なものを丸ごと「箱」に詰めて配る仕組みです。受け取った側は箱を開けるだけで使え、面倒な組み立てが必要ありません。この連載では親しみを込めて「箱」と呼んでいます。
  • パスキー
    スマホのロック解除と同じ仕組みをWebサイトのサインインに使う技術です。鍵の情報が端末の外に出ないため、偽サイトに入力してしまうようなフィッシング詐欺などの事故を防げます。
  • SAML(サムル)
    「この人は確実に本人です」という証明を、システム間でやり取りするための標準規格です。「社員証1枚で社内のどの部屋にも入れる仕組み」をイメージしてください。MintJams CMSはこの確認窓口を自前で持っているため、外部に特別な仕組みを用意しなくてもスムーズに動きます。

次回予告

快適な仕事机が整い、セキュリティの安心も確保できました。 次回は、この仕事机に心強い「AIの同僚」を招き入れてみましょう!

第3話のテーマは 「AIを『同僚』として招く」 です。 「このページ、なぜか表示されないんだけど……」といった困りごとを、Claudeに気軽に相談できるようになるステップをご紹介します。どうぞお楽しみに!