Skip to content

シングルサインオン (SSO) & Windows 認証

Cockpit は、企業のアイデンティティプロバイダー (IdP) およびドメイン環境と統合するためのシングルサインオン (SSO) およびパスワードレス認証をサポートしています。


認証プロトコル

Cockpit は、標準的な SSO フレームワークと統合してユーザーセッションを検証します。

  1. SAML 2.0: Okta、Keycloak、Ping Identity、Microsoft Entra ID などのエンタープライズアイデンティティプロバイダーと統合します。
  2. OpenID Connect (OIDC): クラウドディレクトリ統合のための、OAuth 2.0 の上に構築された軽量な認証レイヤー。
  3. 統合 Windows 認証 (Kerberos / GSSAPI): ドメインに参加しているクライアントが、アクティブな Windows セキュリティチケットを使用して自動的に認証できるようにし、資格情報を手動で入力する手間を省きます。

1. Windows セッション認証 (Kerberos) の構成

Kerberos 認証をデプロイするには、Active Directory ドメインコントローラーで keytab ファイルを生成し、Cockpit で GSSAPI モジュールを登録する必要があります。

ステップ A: Active Directory サーバーの準備

ドメインコントローラーで次の管理コマンドを実行して、サービスプリンシパル名 (SPN) を登録し、keytab を生成します。

cmd
# 1. サービスアカウントの下に Cockpit のサービスプリンシパル名を登録します
setspn -a HTTP/cockpit.corp.awan.io svc-cockpit

# 2. 暗号化された keytab ファイルを "cockpit.keytab" にエクスポートします
ktpass /out cockpit.keytab /princ HTTP/cockpit.corp.awan.io@CORP.AWAN.IO /mapuser svc-cockpit /pass Password123 /crypto AES256-SHA1 /ptype KRB5_NT_PRINCIPAL

ステップ B: Cockpit サービスの構成

  1. 生成された cockpit.keytab ファイルを Cockpit サーバーの /etc/cockpit/cockpit.keytab に安全にコピーします。
  2. /etc/cockpit/cockpit.conf[auth] セクションに次のパラメータを追加します。
ini
[auth]
sso_enabled = true
sso_method = "kerberos"
sso_keytab_path = "/etc/cockpit/cockpit.keytab"
sso_realm = "CORP.AWAN.IO"
sso_service_principal = "HTTP/cockpit.corp.awan.io@CORP.AWAN.IO"

2. SAML 2.0 統合の構成

Cockpit を Okta や Azure AD などの外部アイデンティティプロバイダーに接続するには:

  1. 管理資格情報を使用して Cockpit にログインします。
  2. Settings > Identity Management > SAML に移動します。
  3. Metadata Import を選択し、アイデンティティプロバイダーのメタデータ XML ファイルをアップロードします。
  4. アイデンティティプロバイダーにアプリケーションを登録するために、Cockpit の構成を抽出します。
    • Entity ID: https://cockpit.corp.awan.io/api/v1/auth/saml/metadata
    • Assertion Consumer Service (ACS) URL: https://cockpit.corp.awan.io/api/v1/auth/saml/acs
  5. アイデンティティプロバイダーで属性マッピングを構成します。
    • ユーザー名属性: ユーザーのプライマリメールアドレスまたは一意の ID (NameID または uid) にマッピングします。
    • グループ属性: 属性ステートメントのグループフィールド (memberOf または groups) にマッピングし、自動的な権限マッピングを有効にします。