ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティ・プロバイダの開発
11
g
リリース1 (10.3.6)
B61623-05
ライブラリ
製品
次
目次
タイトルおよび著作権情報
はじめに
ドキュメントのアクセシビリティについて
表記規則
1
概要とロードマップ
ドキュメントのスコープ
対象読者
このドキュメントの手引き
関連ドキュメント
このリリースでの新機能と変更された機能
2
WebLogic Serverで使用するセキュリティ・プロバイダの開発について
前提条件
開発プロセスの概要
カスタム・セキュリティ・プロバイダの設計
SSPIの実装によるカスタム・セキュリティ・プロバイダ用のランタイム・クラスの作成
カスタム・セキュリティ・プロバイダを構成および管理するMBeanタイプの生成
コンソール拡張機能の記述
カスタム・セキュリティ・プロバイダの構成
セキュリティ・ポリシー、セキュリティ・ロール、および資格証明マップを管理するメカニズムの提供
3
設計上の考慮事項
セキュリティ・プロバイダの一般的なアーキテクチャ
セキュリティ・サービス・プロバイダ・インタフェース(SSPI)
2つの重要な制限について
「Provider」SSPIの目的について
バルク・アクセス・プロバイダの目的について
実装する「Provider」インタフェースの決定
DeployableAuthorizationProviderV2 SSPI
DeployableRoleProviderV2 SSPI
DeployableCredentialProvider SSPI
SSPI階層を理解し、ランタイム・クラスを1つ作成するか2つ作成するかを決定する
SSPIクイック・リファレンス
セキュリティ・サービス・プロバイダ・インタフェース(SSPI) MBean
MBeanタイプが必要な理由について
拡張および実装するSSPI MBeanの決定
MBean定義ファイル(MDF)の基本的な要素について
カスタム・プロバイダとクラスパス
MBean操作から例外のスロー
MBean属性に対して非クリア・テキスト値の指定
SSPI MBeanの階層と管理コンソールに対する影響について
WebLogic MBeanMakerによって提供されるものについて
MBean情報ファイルについて
SSPI MBeanクイック・リファレンス
セキュリティ・データの移行
移行の概念
フォーマット
制約
移行ファイル
カスタム・セキュリティ・プロバイダへの移行サポートの追加
セキュリティ・データの移行に関する管理コンソールのサポート
セキュリティ・プロバイダの開発者向け管理ユーティリティ
セキュリティ・プロバイダとWebLogicリソース
WebLogicリソースのアーキテクチャ
WebLogicリソースのタイプ
WebLogicリソース識別子
toString()メソッド
リソースIDとgetID()メソッド
WebLogicリソースのデフォルト・グループの作成
WebLogicリソースのデフォルト・セキュリティ・ロールの作成
WebLogicリソースのデフォルト・セキュリティ・ポリシーの作成
セキュリティ・プロバイダのランタイム・クラスでのWebLogicリソースのルックアップ
単一親リソース階層
URLリソースのパターン・マッチング
ContextHandlerとWebLogicリソース
コンテキスト・ハンドラをサポートするプロバイダとインタフェース
セキュリティ・プロバイダ・データベースの初期化
ベスト・プラクティス:データベースがない場合のシンプルなデータベースの作成
ベスト・プラクティス:既存のデータベースの構成
ベスト・プラクティス:データベース初期化の委託
ベスト・プラクティス: JDBC接続セキュリティ・サービスAPIを使用したデータベース接続の取得
JDBC接続セキュリティ・サービスの実装: 主な手順
属性バリデータの相違点
カスタム・バリデータの場合の属性バリデータの相違点
4
認証プロバイダ
認証の概念
ユーザー/グループ、プリンシパル、サブジェクト
初期ユーザーおよびグループの指定
LoginModules
LoginModuleインタフェース
LoginModuleとマルチパート認証
Java Authentication and Authorization Service (JAAS)
JAASがWebLogicセキュリティ・フレームワークとどう連携するか
例:スタンドアロンのT3アプリケーション
認証プロセス
カスタム認証プロバイダを開発する必要があるか
カスタム認証プロバイダの開発方法
適切なSSPIによるランタイム・クラスの作成
AuthenticationProviderV2 SSPIの実装
JAAS LoginModuleインタフェースの実装
LoginModuleからカスタム例外のスロー
例:サンプル認証プロバイダのランタイム・クラスの作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
MBean定義ファイル(MDF)の作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
WebLogic Server環境にMBeanタイプをインストールする
管理コンソールによるカスタム認証プロバイダの構成
ユーザー・ロックアウトの管理
認証プロバイダの順序の指定
5
IDアサーション・プロバイダ
IDアサーションの概念
IDアサーション・プロバイダとLoginModule
IDアサーションとトークン
新しいトークン・タイプの作成方法
新しいトークン・タイプをIDアサーション・プロバイダの構成で利用可能にする方法
境界認証用のトークンの渡し
Common Secure Interoperability Version 2 (CSIv2)
IDアサーション・プロセス
カスタムIDアサーション・プロバイダを開発する必要があるか
カスタムIDアサーション・プロバイダの開発方法
適切なSSPIによるランタイム・クラスの作成
AuthenticationProviderV2 SSPIの実装
IdentityAsserterV2 SSPIの実装
例:サンプルIDアサーション・プロバイダのランタイム・クラスの作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
MBean定義ファイル(MDF)の作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
WebLogic Server環境にMBeanタイプをインストールする
管理コンソールによるカスタムIDアサーション・プロバイダの構成
チャレンジIDアサーション
JavaサーブレットAPI 2.3環境におけるチャレンジ/レスポンスの制限
weblogic.security.services.Authenticationクラスのフィルタと役割
チャレンジIDアサーション・プロバイダの開発方法
ChallengeIdentityAsserterV2インタフェースの実装
ProviderChallengeContextインタフェースの実装
weblogic.security.servicesのチャレンジIDメソッドの呼出し
weblogic.security.servicesのAppChallengeContextメソッドの呼出し
フィルタからチャレンジIDアサーションを実装する
6
プリンシパル検証プロバイダ
プリンシパル検証の概念
プリンシパル検証とプリンシパル・タイプ
プリンシパル検証プロバイダと他のタイプのセキュリティ・プロバイダの違い
無効なプリンシパルが原因のセキュリティ例外
プリンシパル検証プロセス
カスタム・プリンシパル検証プロバイダを開発する必要があるか
WebLogicプリンシパル検証プロバイダの使い方
カスタム・プリンシパル検証プロバイダの開発方法
PrincipalValidator SSPIの実装
7
認可プロバイダ
認可の概念
アクセス決定
Java Authorization Contract for Containersの使用
認可プロセス
カスタム認可プロバイダを開発する必要があるか
カスタム認可プロバイダでアプリケーションのバージョン管理をサポートする必要があるか
カスタム認可プロバイダはスレッド・セーフか
カスタム認可プロバイダの開発方法
適切なSSPIによるランタイム・クラスの作成
AuthorizationProvider SSPIの実装
DeployableAuthorizationProviderV2 SSPIの実装
AccessDecision SSPIの実装
例:サンプル認可プロバイダのランタイム・クラスの作成
ポリシー・コンシューマSSPI
必要なSSPIインタフェース
PolicyConsumerFactory SSPIインタフェースの実装
PolicyConsumer SSPIインタフェースの実装
PolicyCollectionHandler SSPIインタフェースの実装
更新後のポリシー・コレクションのサポート
PolicyConsumerMBean
PolicyStoreMBean
XACML Policyファイルの形式の調べ
WLSTを使用してPolicyStoreMBeanにポリシーの追加
WLSTを使用してPolicySetをStringとして読み込む
バルク認可プロバイダ
WebLogic MBeanMakerを使用してMBeanタイプを生成する
MBean定義ファイル(MDF)の作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
WebLogic Server環境にMBeanタイプをインストールする
管理コンソールによるカスタム認可プロバイダの構成
認可プロバイダとデプロイメント記述子の管理
セキュリティ・ポリシー・デプロイメントの有効化
セキュリティ・ポリシーを管理するためのメカニズムの提供
オプション1: セキュリティ・ポリシー管理用のスタンドアロン・ツールの開発
オプション2 :既存のセキュリティ・ポリシー管理ツールを管理コンソールに統合する
8
裁決プロバイダ
裁決プロセス
カスタム裁決プロバイダを開発する必要があるか
カスタム裁決プロバイダの開発方法
適切なSSPIによるランタイム・クラスの作成
AdjudicationProviderV2 SSPIの実装
AdjudicatorV2 SSPIの実装
バルク認可プロバイダ
WebLogic MBeanMakerを使用してMBeanタイプを生成する
MBean定義ファイル(MDF)の作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
WebLogic Server環境にMBeanタイプをインストールする
管理コンソールによるカスタム裁決プロバイダの構成
9
ロール・マッピング・プロバイダ
ロール・マッピングの概念
セキュリティ・ロール
動的セキュリティ・ロール計算
ロール・マッピング・プロセス
カスタム・ロール・マッピング・プロバイダはスレッド・セーフか
カスタム・ロール・マッピング・プロバイダを開発する必要があるか
カスタム・ロール・マッピング・プロバイダでアプリケーションのバージョン管理をサポートする必要があるか
カスタム・ロール・マッピング・プロバイダの開発方法
適切なSSPIによるランタイム・クラスの作成
RoleProvider SSPIの実装
DeployableRoleProviderV2 SSPIの実装
RoleMapper SSPIの実装
SecurityRoleインタフェースの実装
例:サンプル・ロール・マッピング・プロバイダのランタイム・クラスの作成
ロール・コンシューマSSPI
必要なSSPIインタフェース
RoleConsumerFactory SSPIインタフェースの実装
RoleConsumer SSPIインタフェースの実装
RoleCollectionHandler SSPIインタフェースの実装
更新後のロール・コレクションのサポート
RoleConsumerMBean
PolicyStoreMBean
XACML Policyファイルの形式の調べ
WLSTを使用してPolicyStoreMBeanにポリシーの追加
WLSTを使用してPolicySetをStringとして読み込む
バルク・ロール・マッピング・プロバイダ
WebLogic MBeanMakerを使用してMBeanタイプを生成する
MBean定義ファイル(MDF)の作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
WebLogic Server環境にMBeanタイプをインストールする
管理コンソールによるカスタム・ロール・マッピング・プロバイダの構成
ロール・マッピング・プロバイダとデプロイメント記述子の管理
セキュリティ・ロール・デプロイメントの有効化
セキュリティ・ロールを管理するためのメカニズムの提供
オプション1: セキュリティ・ロール管理用のスタンドアロン・ツールの開発
オプション2 : 既存のセキュリティ・ロール管理ツールを管理コンソールに統合する
10
監査プロバイダ
監査の概念
監査チャネル
カスタム・セキュリティ・プロバイダからのイベントの監査
監査プロセス
ContextHandler MBeanの実装
ContextHandlerMBeanのメソッド
例: ContextHandlerMBeanの実装
weblogic.management.security.audit.ContextHandlerImplの拡張
カスタム監査プロバイダを開発する必要があるか
カスタム監査プロバイダの開発方法
適切なSSPIによるランタイム・クラスの作成
AuditProvider SSPIの実装
AuditChannel SSPIの実装
例:サンプル監査プロバイダのランタイム・クラスの作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
MBean定義ファイル(MDF)の作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
WebLogic Server環境にMBeanタイプをインストールする
管理コンソールによるカスタム監査プロバイダの構成
監査重大度の構成
セキュリティ・フレームワークの監査イベント
付加的な監査情報の渡し
監査イベント・インタフェースと監査イベント
AuditApplicationVersionEvent
AuditAtnEventV2
AuditAtzEvent
AuditCerPathBuilderEvent、AuditCertPathValidatorEvent
AuditConfigurationEvent
AuditCredentialMappingEvent
AuditLifecycleEvent
AuditMgmtEvent
AuditPolicyEvent
AuditRoleDeploymentEvent
AuditRoleEvent
11
資格証明マッピング・プロバイダ
資格証明マッピングの概念
資格証明マッピング・プロセス
カスタム資格証明マッピング・プロバイダを開発する必要があるか
カスタム資格証明マッピング・プロバイダでアプリケーションのバージョン管理をサポートする必要があるか
カスタム資格証明マッピング・プロバイダの開発方法
適切なSSPIによるランタイム・クラスの作成
CredentialProviderV2 SSPIの実装
DeployableCredentialProvider SSPIの実装
CredentialMapperV2 SSPIの実装
WebLogic MBeanMakerを使用してMBeanタイプを生成する
MBean定義ファイル(MDF)の作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
WebLogic Server環境にMBeanタイプをインストールする
資格証明マップを管理するためのメカニズムの提供
オプション1: 資格証明マップ管理用のスタンドアロン・ツールの開発
オプション2 :既存のセキュリティ・ポリシー管理ツールを管理コンソールに統合する
12
カスタム・セキュリティ・プロバイダからのイベントの監査
セキュリティ・サービスと監査サービス
カスタム・セキュリティ・プロバイダからの監査方法
監査イベントの作成
AuditEvent SSPIの実装
監査イベント・コンビニエンス・インタフェースの実装
監査重大度
監査コンテキスト
例: AuditRoleEventインタフェースの実装
監査サービスの取得、および取得した監査サービスによる監査イベントの書込み
例:監査サービスを取得および使用してロール監査イベントの書込み
プロバイダのMBeanから管理操作の監査
例:プロバイダのMBeanから管理操作の監査
ベスト・プラクティス:プロバイダのMBeanからの監査イベントのポスト
13
サーブレット認証フィルタ
認証フィルタの概念
フィルタが必要な理由
サーブレット認証フィルタ設計上の考慮事項
フィルタが呼び出されるしくみ
認証プロバイダからサーブレット認証フィルタを呼び出さない
フィルタを実装するプロバイダの例
カスタム・サーブレット認証フィルタの開発方法
適切なSSPIによるランタイム・クラスの作成
サーブレット認証フィルタSSPIの実装
フィルタ・インタフェース・メソッドの実装
フィルタからチャレンジIDアサーションを実装する
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
管理コンソールによる認証プロバイダの構成
14
バージョン管理可能なアプリケーションのプロバイダ
バージョン管理可能なアプリケーションの概念
バージョン管理可能なアプリケーションのプロセス
バージョン管理可能なアプリケーションのカスタム・プロバイダを開発する必要があるか
カスタムVersionableApplicationプロバイダの開発方法
適切なSSPIによるランタイム・クラスの作成
VersionableApplication SSPIの実装
例:サンプルVersionableApplicationプロバイダのランタイム・クラスの作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
管理コンソールによるバージョン管理可能なアプリケーションのカスタム・プロバイダの構成
15
証明書パス・プロバイダ
証明書の検索と検証の概念
証明書の検索と検証のプロセス
証明書パス検証プロバイダと証明書パス・ビルダーを実装する必要があるか
証明書パス・プロバイダSPI MBean
WebLogic証明書パス検証プロバイダSSPI
WebLogic証明書パス・ビルダーSSPI
WebLogic Server証明書パスSSPIとJDK SPIとの関係
カスタム証明書パス・プロバイダを開発する必要があるか
カスタム証明書パス・プロバイダの開発方法
適切なSSPIによるランタイム・クラスの作成
JDK CertPathBuilderSpiインタフェース、CertPathValidatorSpiインタフェースのいずれか、または両方の実装
証明書パス・プロバイダSSPIの実装
JDKセキュリティ・プロバイダSPIの実装
CertPathBuilderSpi実装でCertPathBuilderParametersSpi SSPIの使用
CertPathValidatorSpi実装でCertPathValidatorParametersSpi SSPIの使用
ビルダーまたは検証プロバイダの結果の返し
例:サンプル証明書パス・プロバイダの作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
MBean定義ファイル(MDF)の作成
WebLogic MBeanMakerを使用してMBeanタイプを生成する
WebLogic MBeanMakerによるMBean JARファイル(MJF)の作成
WebLogic Server環境にMBeanタイプをインストールする
管理コンソールによるカスタム証明書パス・プロバイダの構成
A
MBean定義ファイル(MDF)要素の構文
MBeanType (ルート)要素
MBeanAttributeサブ要素
MBeanConstructorサブ要素
MBeanOperationサブ要素
MBean操作の例外
例:有効な整形式MBean定義ファイル(MDF)