ユーザーアクセス制御 (RBAC)
Cockpit は、クラスターリソースを保護し、ユーザー認証を管理するために、ロールベースのアクセス制御 (RBAC) を実装しています。RBAC により、管理権限が最小権限の原則 (principle of least privilege) に準拠することが保証されます。
コアセキュリティ概念
Cockpit のアクセス制御モデルは、次の 5 つの主要なエンティティを中心に構成されています。
| エンティティ | 説明 | 技術的機能 |
|---|---|---|
| テナント / 組織 | プライマリの論理パーティション。 | 複数の顧客またはビジネスユニット間でユーザーとリソースを分離します。 |
| グループ | ユーザーの論理的なコレクション。 | 複数のアカウントに対して同時に権限を割り当てることができます。 |
| ロール (Role) | 事前に定義された権限のコレクション。 | 管理機能のプロファイルを定義します (例: 管理者、オペレーター)。 |
| 権限 (Privilege) | 詳細なセキュリティ権限。 | 特定のアクションを実行する権限を表します (例: vm.create, host.reboot)。 |
| スコープ (Scope) | インベントリツリーにおける制限境界のマッピング。 | ロール権限を特定のエンティティ (データセンター、クラスター、またはホスト) に制限します。 |
ユーザーアイデンティティ管理
管理者は、以下の機能を通じてユーザー構成と認証ドメインを管理します。
- ローカルユーザーアカウント: Cockpit データベース内に直接作成されます。各アカウントには、一意のユーザー名、プライマリメールアドレス、およびハッシュ化されたパスワード表現が含まれます。
- 外部認証ドメイン: 外部アイデンティティプロバイダー (LDAP、Active Directory、SAML) を登録して認証を委託できます。
- パスワードセキュリティポリシー: パスワードの強度要件、最大パスワード有効期間、および自動アカウントロック (例: 5 回連続で認証に失敗した場合に 30 分間アカウントをロックする) により、企業のセキュリティコンプライアンスを強制します。
スコープ付きアクセスマッピングの構成
特定のインベントリノード (単一の物理ホストや仮想マシンフォルダなど) に対して、ユーザーまたはグループに詳細な権限を割り当てるには:
- 管理資格情報を使用して Cockpit コンソールにログインします。
- サイドバーナビゲーションで Administration > Access Control に移動します。
- 変更するターゲットの User または Group を選択します。
- Create Permission Mapping を選択し、以下のフィールドを構成します。
- Subject: ターゲットユーザーまたはグループを指定します (例:
devops-team)。 - Role: 必要な権限セットを含むロールを選択します (例:
VM-Operator)。 - Scope (Target): 権限を適用するインベントリツリーのノード (特定のフォルダ、クラスター、または Vapor ホスト) を選択します。
- Subject: ターゲットユーザーまたはグループを指定します (例:
- 構成を保存します。Cockpit は即座に認可マトリックスを更新し、ユーザーの次のセッションは指定されたインベントリスコープに制限されます。