プライマリ・コンテンツに移動
Oracle® Fusion Middleware WebLogicセキュリティ・サービスによるアプリケーションの開発
12
c
(12.2.1.1.0)
E79369-01
次へ
目次
タイトルおよび著作権情報
はじめに
ドキュメントのアクセシビリティについて
表記規則
1
概要とロードマップ
1.1
ドキュメントのスコープ
1.2
このガイドの対象読者
1.3
このドキュメントの手引き
1.4
関連情報
1.5
セキュリティのサンプルとチュートリアル
1.5.1
WebLogic Server配布キットのセキュリティ・サンプル
1.6
このリリースでのセキュリティの新機能と変更点
2
WebLogicセキュリティ・プログラミングの概要
2.1
セキュリティとは
2.2
管理コンソールとセキュリティ
2.3
WebLogic Serverでサポートされているセキュリティのタイプ
2.3.1
認証
2.3.2
認可
2.3.3
Java EEセキュリティ
2.4
セキュリティAPI
2.4.1
JAASクライアント・アプリケーションAPI
2.4.1.1
Java JAASクライアント・アプリケーションAPI
2.4.1.2
WebLogic JAASクライアント・アプリケーションAPI
2.4.2
SSLクライアント・アプリケーションAPI
2.4.2.1
Java SSLクライアント・アプリケーションAPI
2.4.2.2
WebLogic SSLクライアント・アプリケーションAPI
2.4.3
その他のAPI
3
Webアプリケーションの保護
3.1
Webブラウザでの認証
3.1.1
ユーザー名およびパスワードの認証
3.1.2
デジタル証明書の認証
3.2
複数のWebアプリケーション、Cookie、および認証
3.2.1
セキュアなCookieを使用したセッション盗難の防止
3.2.1.1
セキュアなCookieとしてのセッションCookieの構成
3.2.1.2
AuthCookie _WL_AUTHCOOKIE_JSESSIONIDの使用
3.3
セキュアなWebアプリケーションの開発
3.3.1
BASIC認証Webアプリケーションの開発
3.3.1.1
HttpSessionListenerを使用したブラウザによる資格証明のキャッシングの報告
3.3.2
リソースが非セキュアな場合のBASIC認証の理解
3.3.2.1
enforce-valid-basic-auth-credentialsフラグの設定
3.3.2.2
WLSTを使用してenforce-valid-basic-auth-credentialsの値を確認する
3.3.3
FORM認証Webアプリケーションの開発
3.3.4
Webアプリケーションの認証にIDアサーションの使用
3.3.5
Webアプリケーションの認証に双方向SSLの使用
3.3.6
認証方式に対するフォールバック・メカニズムの提供
3.3.6.1
構成
3.3.7
Swingベース認証Webアプリケーションの開発
3.3.8
Webアプリケーションのデプロイ
3.4
Webアプリケーションでの宣言によるセキュリティの使用
3.5
Webアプリケーションのセキュリティ関連のデプロイメント記述子
3.5.1
web.xmlデプロイメント記述子
3.5.1.1
auth-constraint
3.5.1.1.1
使用される場所
3.5.1.1.2
例
3.5.1.2
security-constraint
3.5.1.2.1
例
3.5.1.3
security-role
3.5.1.3.1
例
3.5.1.4
security-role-ref
3.5.1.4.1
例
3.5.1.5
user-data-constraint
3.5.1.5.1
使用される場所
3.5.1.5.2
例
3.5.1.6
web-resource-collection
3.5.1.6.1
使用される場所
3.5.1.6.2
例
3.5.2
weblogic.xmlデプロイメント記述子
3.5.2.1
externally-defined
3.5.2.1.1
使用される場所
3.5.2.1.2
例
3.5.2.2
run-as-principal-name
3.5.2.2.1
使用される場所
3.5.2.2.2
例
3.5.2.3
run-as-role-assignment
3.5.2.3.1
例:
3.5.2.4
security-permission
3.5.2.4.1
例
3.5.2.5
security-permission-spec
3.5.2.5.1
使用される場所
3.5.2.5.2
例
3.5.2.6
security-role-assignment
3.5.2.6.1
例
3.6
Webアプリケーションでのプログラムによるセキュリティの使用
3.6.1
getUserPrincipal
3.6.2
isUserInRole
3.7
プログラムによる認証APIの使用
3.7.1
ログイン時のユーザー・セッションの変更
4
JavaクライアントでのJAAS認証の使用
4.1
JAASとWebLogic Server
4.2
JAAS認証の開発環境
4.2.1
JAAS認証API
4.2.2
JAASクライアント・アプリケーション・コンポーネント
4.2.3
WebLogic LoginModuleの実装
4.2.4
JVM全体のデフォルト・ユーザーとrunAs()メソッド
4.3
JAAS認証を使用するクライアント・アプリケーションの作成
4.4
JNDI認証の使用
4.5
JavaクライアントのJAAS認証サンプル・コード
5
JavaクライアントでのSSL認証の使用
5.1
JSSEとWebLogic Server
5.2
JNDI認証の使用
5.3
SSL証明書認証の開発環境
5.3.1
SSL認証API
5.3.2
SSLクライアント・アプリケーション・コンポーネント
5.4
SSLを使用するアプリケーションの記述
5.4.1
WebLogic Server間の安全な通信
5.4.2
SSLクライアントの作成
5.4.2.1
SSLClientサンプル
5.4.2.2
SSLSocketClientサンプル
5.4.3
双方向SSL認証の使用
5.4.3.1
JNDIを使用した双方向SSL認証
5.4.3.2
ユーザー名マッパーの作成
5.4.3.3
WebLogic Serverインスタンス間で双方向SSL認証の使用
5.4.3.4
サーブレットで双方向SSL認証の使用
5.4.4
カスタム・ホスト名検証の使い方
5.4.5
トラスト・マネージャの使い方
5.4.6
証明書パス・トラスト・マネージャの使い方
5.4.7
ハンドシェーク完了リスナーの使い方
5.4.8
SSLContextの使用
5.4.9
URLを使用したアウトバウンドSSL接続
5.5
SSLクライアントのサンプル・コード
6
Enterprise JavaBeans (EJB)の保護
6.1
Java EEアーキテクチャ・セキュリティ・モデル
6.1.1
宣言によるセキュリティ
6.1.1.1
アノテーションを使用した宣言による認可
6.1.2
プログラムによるセキュリティ
6.1.3
宣言による認可とプログラムによる認可
6.2
EJBでの宣言によるセキュリティの使用
6.2.1
メタデータ・アノテーションを使用した宣言によるセキュリティの実装
6.2.1.1
セキュリティ関連アノテーションのコード例
6.2.2
デプロイメント記述子を使用した宣言によるセキュリティの実装
6.3
EJBのセキュリティ関連のデプロイメント記述子
6.3.1
ejb-jar.xmlデプロイメント記述子
6.3.1.1
メソッド
6.3.1.1.1
使用される場所
6.3.1.1.2
例
6.3.1.2
method-permission
6.3.1.2.1
使用される場所
6.3.1.2.2
例
6.3.1.3
role-name
6.3.1.3.1
使用される場所
6.3.1.3.2
例
6.3.1.4
run-as
6.3.1.4.1
使用される場所
6.3.1.4.2
例
6.3.1.5
security-identity
6.3.1.5.1
使用される場所
6.3.1.5.2
例
6.3.1.6
security-role
6.3.1.6.1
使用される場所
6.3.1.6.2
例
6.3.1.7
security-role-ref
6.3.1.7.1
使用される場所
6.3.1.7.2
例
6.3.1.8
unchecked
6.3.1.8.1
使用される場所
6.3.1.8.2
例
6.3.1.9
use-caller-identity
6.3.1.9.1
使用される場所
6.3.1.9.2
例
6.3.2
weblogic-ejb-jar.xmlデプロイメント記述子
6.3.2.1
client-authentication
6.3.2.1.1
例
6.3.2.2
client-cert-authentication
6.3.2.2.1
例
6.3.2.3
confidentiality
6.3.2.3.1
例
6.3.2.4
externally-defined
6.3.2.5
identity-assertion
6.3.2.5.1
使用される場所
6.3.2.5.2
例
6.3.2.6
iiop-security-descriptor
6.3.2.6.1
例
6.3.2.7
integrity
6.3.2.7.1
使用される場所
6.3.2.7.2
例
6.3.2.8
principal-name
6.3.2.8.1
使用される場所
6.3.2.8.2
例
6.3.2.9
role-name
6.3.2.9.1
使用される場所
6.3.2.9.2
例
6.3.2.10
run-as-identity-principal
6.3.2.10.1
使用される場所
6.3.2.10.2
例
6.3.2.11
run-as-principal-name
6.3.2.11.1
使用される場所
6.3.2.11.2
例
6.3.2.12
run-as-role-assignment
6.3.2.12.1
例
6.3.2.13
security-permission
6.3.2.13.1
例
6.3.2.14
security-permission-spec
6.3.2.14.1
使用される場所
6.3.2.14.2
例
6.3.2.15
security-role-assignment
6.3.2.15.1
例
6.3.2.16
transport-requirements
6.3.2.16.1
使用される場所
6.3.2.16.2
例
6.4
EJBでのプログラムによるセキュリティの使用
6.4.1
getCallerPrincipal
6.4.2
isCallerInRole
7
ネットワーク接続フィルタの使い方
7.1
ネットワーク接続フィルタを使用する利点
7.2
ネットワーク接続フィルタAPI
7.2.1
接続フィルタのインタフェース
7.2.1.1
ConnectionFilterインタフェース
7.2.1.2
ConnectionFilterRulesListenerインタフェース
7.2.2
接続フィルタのクラス
7.2.2.1
ConnectionFilterImplクラス
7.2.2.2
ConnectionEventクラス
7.3
接続フィルタ・ルールの作成ガイドライン
7.3.1
接続フィルタ・ルールの構文
7.3.2
接続フィルタ・ルールの種類
7.3.3
接続フィルタ・ルールの評価方法
7.4
WebLogic接続フィルタの構成
7.5
カスタム接続フィルタの開発
8
Javaセキュリティを使用したWebLogicリソースの保護
8.1
Java EEセキュリティを使用したWebLogicリソースの保護
8.2
Javaセキュリティ・マネージャを使用したWebLogicリソースの保護
8.2.1
Javaセキュリティ・マネージャの設定
8.2.1.1
全体的に使用するweblogic.policyファイルの修正
8.2.1.2
アプリケーション型のセキュリティ・ポリシーの設定
8.2.1.3
アプリケーション固有のセキュリティ・ポリシーの設定
8.2.2
セキュリティ・マネージャのプリントの使用
8.2.2.1
セキュリティ・マネージャのプリントの起動引数
8.2.2.2
セキュリティ・マネージャのプリントを使用するWebLogic Serverの起動
8.2.2.3
出力ファイルの書込み
8.3
Java Authorization Contract for Containersの使用
8.3.1
WebLogic JACCプロバイダとWebLogic認可プロバイダの比較
8.3.2
WebLogic JACCプロバイダの有効化
9
SAML API
9.1
SAML APIの説明
9.2
カスタムPOSTフォーム・パラメータ名
9.3
WebLogic以外のSAML 1.1リライイング・パーティのアサーションの作成
9.3.1
カスタムSAML名マッパーの作成の概要
9.3.2
複数のSAMLCredentialAttributeMapper実装が必要か
9.3.3
クラス、インタフェース、およびメソッド
9.3.3.1
SAMLAttributeStatementInfoクラス
9.3.3.1.1
SAMLAttributeInfoクラス
9.3.3.2
SAMLCredentialAttributeMapperインタフェース
9.3.3.2.1
SAMLNameMapperInfoクラスの新しいメソッド
9.3.4
カスタムSAMLCredentialAttributeMapperクラスの例
9.3.5
コンソールでカスタムSAMLCredentialAttributeMapperクラスを使用可能にする
9.4
SAML SSO属性サポートの構成
9.4.1
SAML SSO属性とは
9.4.2
SAML属性用の新規API
9.4.3
必須のSAML 2.0基本属性プロファイル
9.4.4
複数の属性のSAML資格証明マッパーへの受け渡し
9.4.5
SAML属性を実装する方法
9.4.6
SAML 2.0属性インタフェースの例
9.4.6.1
カスタムSAML 2.0資格証明属性マッパーの例
9.4.6.2
カスタムSAML 2.0 IDアサーション・プロバイダ属性マッパー
9.4.7
SAML 1.1属性インタフェースの例
9.4.7.1
カスタムSAML 1.1資格証明属性マッパーの例
9.4.7.2
カスタムSAML 1.1 IDアサーション・プロバイダ属性マッパー
9.4.8
コンソールでカスタムSAML資格証明属性マッパーのクラスを使用可能にする
9.4.9
コンソールでカスタムSAML IDアサーション・プロバイダ・クラスを使用可能にする
10
証明書パスの作成と検証
10.1
証明書パスの作成
10.1.1
CertPathSelectorのインスタンス化
10.1.2
CertPathBuilderParametersのインスタンス化
10.1.3
JDK CertPathBuilderインタフェースの使用
10.1.4
証明書チェーンの検索のコード・フロー例
10.2
証明書パスの検証
10.2.1
CertPathValidatorParametersのインスタンス化
10.2.2
JDK CertPathValidatorインタフェースの使用
10.2.3
証明書チェーンの検証のコード・フロー例
11
WebアプリケーションでのJASPICの使用
11.1
Java Authentication Service Provider Interface for Containers (JASPIC)の概要
11.2
認証構成プロバイダを実装する必要があるか
11.3
プリンシパル検証プロバイダを実装する必要があるか
11.4
SAMの実装
11.5
デプロイされたWebアプリケーションでのJASPICの構成
A
非推奨のセキュリティAPI