シングルサインオン (SSO) & Windows 認証
Cockpit は、企業のアイデンティティプロバイダー (IdP) およびドメイン環境と統合するためのシングルサインオン (SSO) およびパスワードレス認証をサポートしています。
認証プロトコル
Cockpit は、標準的な SSO フレームワークと統合してユーザーセッションを検証します。
- SAML 2.0: Okta、Keycloak、Ping Identity、Microsoft Entra ID などのエンタープライズアイデンティティプロバイダーと統合します。
- OpenID Connect (OIDC): クラウドディレクトリ統合のための、OAuth 2.0 の上に構築された軽量な認証レイヤー。
- 統合 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 サービスの構成
- 生成された
cockpit.keytabファイルを Cockpit サーバーの/etc/cockpit/cockpit.keytabに安全にコピーします。 /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 などの外部アイデンティティプロバイダーに接続するには:
- 管理資格情報を使用して Cockpit にログインします。
- Settings > Identity Management > SAML に移動します。
- Metadata Import を選択し、アイデンティティプロバイダーのメタデータ XML ファイルをアップロードします。
- アイデンティティプロバイダーにアプリケーションを登録するために、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
- Entity ID:
- アイデンティティプロバイダーで属性マッピングを構成します。
- ユーザー名属性: ユーザーのプライマリメールアドレスまたは一意の ID (
NameIDまたはuid) にマッピングします。 - グループ属性: 属性ステートメントのグループフィールド (
memberOfまたはgroups) にマッピングし、自動的な権限マッピングを有効にします。
- ユーザー名属性: ユーザーのプライマリメールアドレスまたは一意の ID (