【連載 第1回】知識ゼロからのSSO構築。AlmaLinux 9とKeycloakでActive Directory連携を目指す

毎朝の「パスワード入力地獄」から、社員を解放しよう。

こんにちは!「LINUX工房」管理人の「リナックス先生」です。
今回から全8回にわたり、インフラエンジニアにとって避けては通れない重要課題、「SSO(シングルサインオン)環境の構築」について連載形式で解説していきます。

「SSOなんて難しそう…」「高価な製品を買わないとできないんでしょ?」
そんなことはありません。
本連載では、無償で使える堅牢なOS「AlmaLinux 9」と、世界標準のOSS認証ソフトウェア「Keycloak」を使い、企業の要である「Active Directory (AD)」と連携した本格的なSSO環境を、知識ゼロから手作りしていきます。

コウ君

先生、よろしくお願いします!
実は上司から「社内システムが増えすぎてパスワード管理が限界だ。ADのアカウント1つで全部ログインできるようにしろ」って言われたんです。
でも、SSOって言葉しか知らなくて、何から手をつければいいのか…。

リナックス先生

コウ君、それは素晴らしい挑戦ね!
ADのアカウント情報をそのまま使って、WebアプリもWindowsアプリも「一度のログイン」で使えるようにする。
これこそが、情シスが目指すべき「快適な業務環境」のゴールよ。
第1回は、まず敵(SSOの仕組み)を知るところから始めましょう!

本連載を完走すれば、あなたは「認証基盤を構築できるエンジニア」として、市場価値を一気に高めることができるはずです。

🚀 本連載のカリキュラム(全8回)

  • 【第1回】SSOの基礎知識と設計(今回):AD連携を含めた全体像
  • 【第2回】サーバー構築の準備:AlmaLinux 9とDocker、SSL証明書
  • 【第3回】認証基盤 Keycloakの導入:コンテナ起動と日本語化
  • 【第4回】ユーザー情報の統合:Active Directory (AD) とのFederation設定
  • 【第5回】WebアプリのSSO化:OIDCによる認証連携
  • 【第6回】Windows統合認証 (IWA):ADドメイン参加とKerberos設定
  • 【第7回】セキュリティと冗長化:本番運用に向けた堅牢化
  • 【第8回】運用とトラブルシューティング:ログ解析と緊急対応

1. SSO(シングルサインオン)とは? 遊園地のフリーパスで理解する

SSOとは、「1つのIDとパスワードで一度だけ認証を行えば、許可された複数のシステムやアプリケーションを、追加のログインなしで利用できる仕組み」のことです。

イメージとしては、「遊園地のフリーパス」が最も近いです。

  • 従来の仕組み(都度認証): アトラクション(アプリ)ごとにチケット売り場があり、毎回財布を出してチケットを買う必要がある。
  • SSOの仕組み: 入園ゲートで一度だけパス(認証)を見せれば、あとはどのアトラクションもパスを見せる(裏側で連携する)だけで乗れる。

導入のメリット

  1. ユーザーの利便性向上: 何個もパスワードを覚えなくて済みます。
  2. セキュリティ強化: 「パスワードの使い回し」や「付箋に書いて貼る」といった危険な行為がなくなります。
  3. 管理コスト削減: 退職者のアカウントを1箇所(AD)で停止すれば、全システムに入めなくなります。

2. なぜ「AD連携」が必要なのか? ウィンドウズ先生の解説

ここで、企業の認証情報の親玉であるActive Directoryについて、専門家に解説してもらいましょう。

ウィンドウズ先生

おや、Linuxの世界でSSOの構築ですか。ウィンドウズ先生です。
自己紹介しますと、私は世界中の企業の90%以上で「社員の名簿」を管理しているActive Directory(AD)の守護者です。
なぜSSO構築において「AD連携」が必須なのか?
それは、「社員情報はすでにADにあるから」です。
SSOのために新しいIDをわざわざ作るのは無駄ですよね?
皆さんが普段Windowsにログインする時のID/PASS、それをそのままWebアプリでも使えるようにするのが、今回のプロジェクトの真髄ですよ。

つまり、今回の構築の肝は、「Linux上のSSOシステムが、Windowsサーバー(AD)にある名簿を覗きに行って認証する」という点にあります。


3. 登場人物と3つのプロトコル(SAML / OIDC / Kerberos)

SSOを構築するには、専門用語(プロトコル)の理解が不可欠です。
「IdP」と「SP」という言葉だけは、今日ここで覚えて帰ってください。

3-1. 登場人物(役割)

  • IdP (Identity Provider):
    「身分証明書の発行所」。今回の主役 Keycloak がこれを担当します。
    ユーザーの認証を行い、「この人は本人ですよ」という証明書を発行します。
  • User Federation (User Storage):
    「名簿」。Active Directory がこれを担当します。
    実際にIDやパスワードが保存されている場所です。Keycloakはここへ照会に行きます。
  • SP (Service Provider) / RP (Relying Party):
    「サービス提供者」。皆さんが使いたいWebアプリ業務システムのことです。
    IdPを信頼して、ログイン処理を任せます。

3-2. 3つの主要プロトコル(共通言語)

システム同士が会話するための言葉です。アプリによって対応している言葉が違うため、Keycloakのような「マルチプロトコル対応」のソフトが必要になります。

プロトコル 特徴 主な用途
SAML 2.0 歴史あるXMLベースの規格。 Salesforce, Google Workspace, 企業の業務パッケージソフト。
OIDC (OpenID Connect) モダンなJSONベースの規格。 自社開発のWebアプリ, スマホアプリ, モダンなSaaS。
Kerberos Windowsネットワークの標準。 Windows統合認証。PCにログインしていれば、パスワード入力なしでWebアプリに入れる魔法の技術。

4. 2026年の標準構成。AlmaLinux 9 × Keycloak × Docker

本連載では、以下の構成で環境を構築します。
なぜこの選定なのか、プロの視点で解説します。

OS: AlmaLinux 9

CentOS 7のサポート終了後、企業のオンプレミスサーバーの標準となったOSです。
RHEL (Red Hat Enterprise Linux) と100%互換であり、2032年までの長期サポートが約束されています。
認証基盤のような「一度作ったら長く使うシステム」には最適です。

ソフトウェア: Keycloak (キークローク)

Red Hat社が支援するOSSで、商用製品「Red Hat Single Sign-On」のベースにもなっている、現在最強のSSOソフトウェアです。
AD連携、SAML、OIDC、Kerberosすべてに対応しており、管理画面がWebブラウザで完結するため、初心者でも扱いやすいのが特徴です。

実行環境: Docker (コンテナ)

2026年の現在、ミドルウェアをOSに直接インストールすることは少なくなりました。
KeycloakはJava製であり、依存ライブラリの管理が大変ですが、Dockerを使えば「動くことが保証されたパッケージ」をポンと置くだけで起動できます。
本連載でも、現場のスタンダードに合わせてDocker (Docker Compose) を利用します。


5. 今回構築する「完成予想図」と設計

最終回までに作り上げるシステムの全体像です。

システム構成図

  • 認証サーバー (IdP): AlmaLinux 9 + Docker + Keycloak
    • 役割:認証のハブ空港。すべてのログインリクエストを受け付ける。
  • ユーザー情報 (AD): Windows Server (Active Directory)
    • 役割:既存の社員情報マスタ。Keycloakはここを参照(Read Only)する。
  • Webアプリ (SP): テスト用Webサーバー
    • 役割:SSOでログインさせたい対象。
  • クライアント: Windows 10/11 PC
    • 役割:ドメインに参加している社用PC。

💡 プロの設計ノウハウ:名前解決とSSL
SSO環境構築で最もハマるのが「名前解決(DNS)」と「SSL証明書」です。
Keycloakは、URL(例: https://sso.company.local)が変わると動作しません。
IPアドレスでの運用はトラブルの元なので、本連載ではhostsファイル等を使い、きちんとドメイン名でアクセスする環境を作ります。
また、AD連携にはセキュリティ上SSL化が必須となるため、自己署名証明書(オレオレ証明書)の作成も行います。


まとめ:認証のハブ空港を作ろう

第1回は、SSOの概念と、Active Directory連携を含めた設計について解説しました。

今回の重要ポイント:

  • SSOは「遊園地のフリーパス」。一度の認証で全部使える。
  • Active Directoryの既存ユーザー情報を活用するのが鉄則。
  • Keycloakを使えば、異なるアプリ(SAML/OIDC)を束ねることができる。
コウ君

なんとなく全体像が見えてきました!
次回はいよいよサーバーを作るんですね。
AlmaLinux 9のインストール、準備しておきます!

次回、【第2回】サーバー構築の準備では、実際にAlmaLinux 9をセットアップし、Keycloakを動かすための土台となるDocker環境と、SSL証明書の準備を行います。
ここからがエンジニアとしての腕の見せ所です。ターミナル(黒い画面)を開く準備はいいですか?

それでは、次回の記事でお会いしましょう!

▼ 検証環境を作るなら ▼

AlmaLinux 9がすぐに使える
「おすすめVPS」

VPSランキングを見る

インフラエンジニアを目指す
「ITエンジニア転職」

転職エージェントを見る

コメント