개요
Active Directory 環境では、統合 Windows 認証(Kerberos) を利用することで、ユーザーが Windows にログインしている認証情報をそのまま利用し、C&M に追加ログインすることなく CAMServer へ自動ログイン(SSO) できます。
従来、この仕組みは IIS / ASP.NET を利用して構築する必要がありましたが、本機能では CAMServer が直接 Kerberos 認証を処理します。これにより、IIS などの追加サーバを用意することなく、よりシンプルな構成で統合 Windows 認証による SSO を実現できます。

SSOフロー

SSO処理の流れ
- CAMServerへアクセス
ユーザーがブラウザでCAMServerへアクセス。ユアクセス時に、アプリケーションの一時トークンをPOSTで送信 - 認証要求
CAMServerは一時トークン検証後、ブラウザに対してWindows認証(Negotiate)を要求 - Kerberosチケット取得
ブラウザはWindowsログオン情報を利用して、
Active DirectoryのKDCからKerberosサービスチケットを取得 - Kerberosチケット送信
ブラウザは取得したKerberosチケットを
HTTPヘッダーに付与してCAMServerへ再送 - チケット検証
CAMServerはkeytabを利用してKerberosチケットを検証。検証が成功すると、チケットに含まれるKerberos principal を取得 - LDAP検索とCAMユーザー照合
取得した Kerberos principal からLADP検索を行いADのユーザ情報を取得し、CAMServerに登録されているユーザーと照合。一致した場合ログインを許可する - ログイン完了
CAMServerはログインセッションを発行し、
ユーザーはログイン画面を表示せずにCAMServerを利用できます。
Windows認証を行うFQDN以外でアクセスした場合や、ドメインに参加していないPCからのアクセスの場合は、C&M上のログイン認証が行われます。
動作要件
本機能を利用するためには、以下の環境が必要です。
Active Directory 環境
- Active Directory ドメインが構築されていること
CAMServer サーバ
- Ultimate プランを利用していること
- CAMServer に FQDN でアクセスできること
- CAMServer を動作させる Windows Server が、Active Directory ドメインに参加していること
既存のWindows Server が参加しているドメインを確認するには、「サーバーマネージャー」→ 左メニュー「ローカルサーバー」クリック→「コンピューター名」をクリックしドメイン欄を参照
利用ユーザー
- 利用者PCがドメイン参加し、Windowsへドメインログオンしていること
- SSO対象ユーザーは、ユーザーIDが UserPrincipalName (UPN 形式)で CAMServer に事前登録されていること (例 user@camtest.com)
対応ブラウザ
以下のブラウザでWindows認証SSOが利用可能です。
- Microsoft Edge
- Google Chrome
- camapp
ロードバランサー構成について
Windows認証(Kerberos)は、HTTP認証ヘッダによるネゴシエーションを行う認証方式のため、CAMServer を443ポートで起動したまま、ロードバランサーはL4(TLSパススルー)が必要です。
推奨構成
ユーザ ──HTTPS──▶ L4ロードバランサー(TLSパススルー) ──HTTPS──▶ CAMServer(443)
NG構成
ユーザ──HTTPS──▶ L7ロードバランサー(SSL終端) ──HTTP──▶ CAMServer(8080)
構築手順
以下構築手順では、「構成例」を元に説明いたします。
構成例
- Windows認証を行うFQDN:
https://test.chat-messenger.com - Active Directory ドメイン名:
camtest.com - サービスアカウント:
cam-svc@camtest.com(CAMTEST\cam-svc)
SPN登録概要
SPN (Service Principal Name)은 Kerberos 인증에서 특정 서비스를 Active Directory에서 고유하게 식별하는 이름입니다. FQDN으로 액세스하는 경우 SPN을 등록하면 클라이언트가 액세스할 서비스에 대해 Kerberos 티켓을 올바르게 요청할 수 있습니다.
예를 들면 https://test.chat-messenger.com にアクセスする際、クライアント(ブラウザ)は Active Directory に「HTTP/test.chat-messenger.com というサービスに接続したい」とチケットを要求します。Active Directory は、その SPN がどのアカウントに紐付いているかを確認し、該当するサービスチケットを発行します。SPN が正しく登録されていないと、Kerberos 認証に失敗します。
서비스 계정
Kerberos認証用のサービスアカウントを作成します。ドメインユーザーであれば可能ですが、通常ユーザーとサービスアカウントを分離し、誤操作やパスワードポリシーの適用範囲を明確にするため、OU=ServiceAccounts 처럼 OU 사용자 구별 Active Directory 도메인 컨트롤러에서,cam-svc 을 만듭니다.
アカウントオプションで以下をチェックしてください。
- パスワードを無期限にする
- このアカウントで Kerberos AES 256 ビット暗号化をサポートする


서비스 계정으로 SPN 등록
setspn -S HTTP/test.chat-messenger.com CAMTEST\cam-svc위에서 만든 서비스 계정으로 SPN 등록을 수행합니다.
・도메인에 참가하고 있는 임의의 단말에서 OK.단, 도메인 관리자 권한이 필요합니다.
· HTTPS 통신에서도 SPN은HTTP/호스트 이름형식으로 등록해야합니다.
以下のコマンドでSPNが登録されていることを確認します。
setspn -L CAMTEST\cam-svckeytab作成
CAMServerがKerberosチケットを検証できるように、サービスアカウントのkeytabファイルを作成します。Active Directory管理サーバで以下のコマンドを実行します。
ktpass /out CAMServer\config\windowsAuth\cam.keytab /princ HTTP/test.chat-messenger.com@CAMTEST.COM /mapuser CAMTEST\cam-svc /ptype KRB5_NT_PRINCIPAL /crypto AES256-SHA1 /pass "*******"CAMServer 設定
Windows認証を利用するために、CAMServerの設定ファイル(boot.ini)へ以下を追加します。各値は環境毎に置き換えてください。
# Kerberos レルム(通常は Active Directory ドメイン名を大文字で指定)
# 例: camtest.com ドメイン → CAMTEST.COM
cam.windowsAuth.realm=CAMTEST.COM
# Windows認証を行うFQDN
cam.windowsAuth.FQDN=test.chat-messenger.com
# Kerberos KDC
# 通常は Active Directory のドメインコントローラのFQDN。ポートTCP/UDP 88 は Kerberos 標準ポートでリッスンされている
cam.windowsAuth.kdc=ad.camtest.com:88
인터넷 옵션 설정
CAMServer のFQDNをイントラネットゾーンに追加
インターネット オプションを選択し、「セキュリティ」タブをクリックし、「ローカル イントラネット」を選択 「サイト」ボタンをクリックし、「詳細設定」を選択しサイトのURL(https://test.chat-messenger.com)を追加
자동 로그온 확인
레벨 사용자 정의를 클릭하고 사용자 인증 → 로그온에서 인트라넷 영역에서 자동으로 로그온을 선택했는지 확인하십시오.


