Db2 Trusted Context(信頼済みコンテキスト)の徹底解説【2026年最新版】
Db2 11.5および最新のDb2 12.1において、セキュリティ設計の要となるのが「Trusted Context(信頼済みコンテキスト)」です。
昨今のゼロトラスト・アーキテクチャの普及に伴い、データベース層での正確なユーザー識別がこれまで以上に重要視されています。
1. Trusted Context とは?
アプリケーションサーバー等のミドルウェアが、共通の「システムID」でDBに接続したまま、実行権限のみを「個別のエンドユーザーID」にパスワードなしで切り替える機能です。
最新の運用メリット:
- 精緻な監査(Audit): Db2 12.1では、信頼済み接続からの特定の操作を監査対象から除外するなどの柔軟な設定が可能になり、ログ肥大化を防ぎつつセキュリティを担保できます。
- 特権の最小化: ミドルウェアID自体に強い権限を持たせる必要がなくなり、なりすましリスクを低減できます。
- クラウドネイティブ対応: IBM Cloud Pak for Data等のコンテナ環境においても、ポッド間の信頼関係構築に標準的に利用されています。
2. Trusted Context の定義と設定方法
セキュリティ管理者(SECADM権限)にて実行します。
Step 1: コンテキストの作成
接続元(IP/ドメイン)と接続IDを紐づけます。最新仕様では、暗号化レベルの指定も属性に含めることが推奨されます。
-- 特定のセグメントからの接続を信頼し、低レベル暗号化を必須とする例
CREATE TRUSTED CONTEXT APP_SERVER_CTX
BASED UPON CONNECTION BY USER MYSYSID
ATTRIBUTES (
ADDRESS '192.168.10.0/24',
ENCRYPTION 'LOW' -- 2026年の推奨設定
)
ENABLE;
Step 2: ユーザー切り替えの許可(パスワードレス)
特定のユーザーに対し、パスワードなしでのコンテキスト利用を許可します。
ALTER TRUSTED CONTEXT APP_SERVER_CTX
ADD ALLOW USE BY USER END_USER_A WITHOUT PASSWORD;
3. 2026年のセキュリティ・ベストプラクティス
最新の脅威動向を踏まえ、以下の点に留意して設計してください。
| 対策項目 | 詳細・推奨アクション |
|---|---|
| DoS脆弱性対策 | 2026年報告の脆弱性(CVE-2025-1493等)を考慮し、同時接続数(MAX_CONNECTIONS)の制限を併用すること。 |
| 役割(Role)の活用 | ユーザー単位ではなく DEFAULT ROLE を指定し、コンテキスト内でのみ有効な権限セットを運用すること。 |
| 接続属性の厳格化 | 可能な限りホスト名ではなく固定IPまたはサブネットで範囲を限定すること。 |
4. 状態の確認コマンド
現在適用されているコンテキストをリアルタイムで確認するSQLです。
SELECT
SYSTEM_USER AS CONNECT_ID,
SESSION_USER AS EXEC_ID,
TRUSTED_CONTEXT_NAME
FROM TABLE(MON_GET_CONNECTION(NULL, -1));
管理者の方へ:Db2 12.1ではセキュリティのデフォルト挙動が強化されています。
GRANT DBADM 時に DATAACCESS や ACCESSCTRL が自動付与されなくなったため、Trusted Contextに関連するRoleの権限付与時には明示的な指定が必要な場合があります。
最新のDb2環境では、Trusted Contextは単なる利便性向上ツールではなく、内部不正対策としての「アイデンティティ管理」の基盤です。正しく設定して安全なDB環境を構築しましょう。
