プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティの管理
12c (12.2.1.3.0)
E90347-06
目次へ移動
目次

前
次

45 JASPICセキュリティの構成

JASPIC (Java Authentication Service Provider Interface for Containers)の仕様には、サービス・プロバイダ・インタフェース(SPI)が定義されており、これにより、メッセージ認証メカニズムを実装する認証プロバイダを、サーバーのWebアプリケーション・メッセージ処理コンテナまたはランタイムに統合できます。JASPICセキュリティを構成する方法を学習します。

JASPICの仕様(http://www.jcp.org/en/jsr/detail?id=196)に目を通してください。

この章には次のトピックが含まれます:

ここでは、Oracle WebLogic Serverセキュリティの理解のJASPICセキュリティに示されているJASPICの基本的な概要を把握していることを前提とします。

JASPICメカニズムによるWebLogic Serverデフォルトのオーバーライド

Webアプリケーションの認証構成プロバイダを構成すると、そのWebアプリケーションでは、これがWebLogic Server認証メカニズムのかわりに使用されます。JASPIC認証プロバイダは、ユーザーの資格証明を認証し、サブジェクトを返します。

したがって、認証構成プロバイダを指定する際は、これが独自のセキュリティ認証のニーズを満たすように注意する必要があります。

JASPICの構成の前提条件

サード・パーティのサーバー認証モジュール(SAM)や認証構成プロバイダをWebLogic Serverで使用できるようにする方法を含め、使用する環境でJASPICを構成するためには、一定の前提条件があります。

JASPICプログラミング・モジュールについては、JASPIC (Java Authentication Service Provider Interface for Containers)の仕様(http://www.jcp.org/en/jsr/detail?id=196)で説明されています。

SAMの実装サンプルについては、GlassFishサーブレット・コンテナへの認証メカニズムの追加で説明されています。GlassFish Serverの観点から記載されていますが、SAMを記述する際のヒントおよびSAMサンプル自体は有益です。

この項には次のトピックが含まれます:

サーバー認証モジュールがクラスパス内に存在する必要がある

WebLogic Server認証構成プロバイダの構成を計画している場合、WebLogic Serverインスタンスの起動に使用する起動スクリプトまたはコマンドラインから、SAMのjarをシステム・クラスパスに追加する必要があります。これを行わない場合、WebLogic Serverは適切なクラスを見つけることができません。

カスタムの認証構成プロバイダがクラスパス内に存在する必要がある

カスタムの認証構成プロバイダの構成を計画している場合、WebLogic Serverインスタンスの起動に使用する起動スクリプトまたはコマンドラインから、カスタムの認証構成プロバイダのjarをシステム・クラスパスに追加する必要があります。これを行わない場合、WebLogic Serverは適切なクラスを見つけることができません。

構成データの場所

JASPICおよび認証構成プロバイダの構成には、WebLogic Server管理コンソールまたはWLST (WebLogic Scripting Tool)を使用できます。JASPICおよび認証構成プロバイダを構成すると、ドメイン規模の認証構成プロバイダの構成データは、ドメインのconfig.xmlファイルの<jaspic>要素に格納されます。

たとえば:

<jaspic>
      <auth-config-provider xsi:type="wls-auth-config-providerType">
        <name>WLSAuthConfigProvider-0</name>
      </auth-config-provider>
    </jaspic>

デプロイされたWebアプリケーションの認証構成プロバイダを構成すると、WebLogic Server管理コンソール(またはWLST)は、そのWebアプリケーションのデプロイメント・プラン(plan.xml)を、アプリケーション固有の認証構成プロバイダ構成で更新します。たとえば:

<variable>
      <name>JASPICProvider_AuthConfigProviderName_13210476440805</name>
      <value>WLSAuthConfigProvider-0</value>
</variable>
:
<variable-assignment>
   <name>JASPICProvider_AuthConfigProviderName_13210476440805</name>
   <xpath>/weblogic-web-app/jaspic-provider/auth-config-provider-name</xpath>
</variable-assignment>

アプリケーションでデプロイメント・プランを使用しない場合は、かわりにjaspic-providerデプロイメント記述子要素をweblogic.xmlに追加することができます。

jaspic-providerは、認証時に使用するために登録するauthConfigProviderを指定します。たとえば、<wls:jaspic-provider>my-acp</wls:jlaspic-provider>とします。

ドメインのJASPIC構成

Oracle WebLogic Server管理コンソールを使用してドメインのJASPICを構成できます。

デフォルトでは、JASPICはドメインに対して有効です。つまり、ドメインに対してJASPICプロパティを構成でき、認証構成プロバイダを指定した任意のWebアプリケーションに対してJASPICを使用できます。

WebLogic Server管理コンソールでJASPICを構成するための具体的なステップは、Oracle WebLogic Server管理コンソール・オンライン・ヘルプ「JASPICのためのWebアプリケーションの構成」を参照してください。

ドメインに対してJASPICを無効にすると、そのドメイン内のすべてのWebアプリケーションに対し、それらの構成に関係なく、JASPICは無効になります。

ドメインに対してJASPICを構成するには:

  1. 左のペインでJASPICを構成するドメインの名前を選択します。
  2. 「セキュリティ」→JASPIC→「一般」を選択します。

    JASPICの一般ページが表示されます。

  3. このドメインに「JASPICの有効化」コントロールが設定されていることを確認します。
  4. 「保存」をクリックします。
  5. 「セキュリティ」→JASPIC→「認証構成プロバイダ」を選択します。

    「認証構成プロバイダ」ページが表示されます。

  6. 「新規」をクリックします。
  7. ドロップダウン・リストから、「新しいWLS認証構成プロバイダの作成」または「カスタムWLS認証構成プロバイダの作成」を選択します。
  8. 「新しいWLS認証構成プロバイダの作成」ページでは、「名前」フィールドおよび「サーバー認証モジュール・クラス名」フィールドに必要な値を設定します。

    推奨名のWLSAuthConfigProvider-0を受け入れるか、別に選択した名前を使用できます。「サーバー認証モジュール・クラス名」では、この認証構成プロバイダが使用するSAMのJavaクラス名を特定します。

  9. 「新しいカスタム認証構成プロバイダの作成」ページでは、「名前」フィールドおよび「クラス名」フィールドに必要な値を設定します。

    推奨名のCustomAuthConfigProvider-0を受け入れるか、別に選択した名前を使用できます。クラス名は、カスタム認証構成プロバイダの実装に依存します。

  10. 「構成プロパティ」テキスト・ボックスに認証構成プロバイダの構成プロパティを入力します。

    各プロパティを個別の行に記述する必要があります。たとえばproperty1=value1のようになります。

  11. 「終了」をクリックします。
  12. WebLogic Serverを再起動します。

認証構成プロバイダの表示

Oracle WebLogic Server管理コンソールを使用して、ドメインの認証構成プロバイダを表示できます。

ドメインの認証構成プロバイダを表示するには:

  1. 左のペインで、認証構成プロバイダを表示するドメインの名前を選択します。
  2. 「セキュリティ」→JASPIC→「認証構成プロバイダ」を選択します。

    「認証構成プロバイダ」ページが表示されます。

  3. 構成プロパティを表示する既存の認証構成プロバイダを選択します。

    この認証構成プロバイダの「設定」ページが表示されます。

  4. 必要に応じて、「ノート」ページをクリックし、取得するサイト固有の構成情報を入力します。
  5. 変更した場合は、「保存」をクリックします。
  6. 変更した場合は、WebLogic Serverを再起動します。

WebアプリケーションのJASPIC構成

認証構成プロバイダがある場合、WebLogic Server管理コンソールを使用して、どれを特定のWebアプリケーションに適用するかを指定できます。

これを行う前に、「ドメインのJASPIC構成」で説明したとおり、まず次のステップを実行する必要があります。

  1. ドメインでJASPICを有効にします。

  2. WebLogic Server認証構成プロバイダを構成します。または

  3. カスタムの認証構成プロバイダを構成します。

このWebアプリケーションのJASPICプロパティを構成するには:

  1. コンソールの左のペインで「デプロイメント」を選択します。

    現在WebLogic Serverにインストールされているデプロイメントをリストする表が右のペインに表示されます。「タイプ」列は、デプロイメントがエンタープライズ・アプリケーションか、Webアプリケーションか、EJBモジュールかを指定します。

  2. 右のペインで、構成するWebアプリケーションの名前をクリックします。
  3. 「セキュリティ」→「JASPIC」を選択し、JASPICプロパティを表示および変更します。

    デフォルトでは、JASPICはWebアプリケーションに対して無効です。このWebアプリケーションに対してJASPICを有効にするには、ドロップダウン・リストから既存の認証構成プロバイダのいずれかを選択します。

  4. 「保存」をクリックして変更を保存します。
  5. 求められたら変更をデプロイメント・プランに保存します。
  6. Webアプリケーションを再デプロイします。
  7. WebLogic Serverを再起動します。

WLSTを使用したJASPICの構成

WLSTを使用してドメインのJASPICを構成したり、WLS認証構成プロバイダまたはカスタム認証構成プロバイダの作成、WLSおよびカスタムのすべての認証構成プロバイダのリスト表示、ドメインに対するJASPICの有効化および無効化などのタスクを実行できます。

WLSTの使用については、『WebLogic Scripting Toolの理解』を参照してください。

ここでは、WLSTにより次のMBeanを構成する必要があります。

追加のMBean情報については、Oracle WebLogic Server MBeanリファレンスを参照してください。

WLS認証構成プロバイダの作成

例45-1では、WLS認証構成プロバイダを作成し、SAMのクラス名を設定して、構成プロパティを設定します。

このサンプルを実行したら、WebLogic Serverを再起動します。

例45-1 WLS認証構成プロバイダの作成

connect('weblogic', 'password')
edit()
startEdit()
cd('SecurityConfiguration')
cd('mydomain')
jaspic = cmo.getJASPIC()
wacp = jaspic.createWLSAuthConfigProvider('wacp')
am = wacp.getAuthModule()
am.setClassName('com.my.auth.module.Classname')
props = Properties()
props.setProperty('property', 'value')
am.setProperties(props)
save()
activate()

カスタムの認証構成プロバイダの作成

例45-2では、カスタムの認証構成プロバイダを作成し、この認証構成プロバイダのクラス名を設定して、構成プロパティを設定します。

このサンプルを実行したら、WebLogic Serverを再起動します。

例45-2 カスタムの認証構成プロバイダの作成

connect('weblogic', 'password')
edit()
startEdit()
cd('SecurityConfiguration')
cd('mydomain')
jaspic = cmo.getJASPIC()
acp = jaspic.createCustomAuthConfigProvider('cacp')
acp.setClassName('com.my.acp.Classname')
props = Properties()
props.setProperty('property', 'value')
acp.setProperties(props)
save()
activate()

すべてのWLSおよびカスタム認証構成プロバイダのリスト

例45-3は、ドメインのすべての認証構成プロバイダをリストする方法を示しています。

例45-3 すべての認証構成プロバイダのリスト

connect('weblogic', 'password')
edit()
startEdit()
cd('SecurityConfiguration')
cd('mydomain')
jaspic = cmo.getJASPIC()
jaspic.getAuthConfigProviders()

ドメインのJASPICの有効化

例45-4は、ドメインに対してJASPICを有効にする方法を示しています。

このサンプルを実行したら、WebLogic Serverを再起動します。

例45-4 ドメインのJASPICの有効化

connect('weblogic', 'password')
edit()
startEdit()
cd('SecurityConfiguration')
cd('mydomain')
jaspic = cmo.getJASPIC()
jaspic.setEnabled(false)
save()
activate()

ドメインのJASPICの無効化

例45-5は、ドメインに対してJASPICを無効にする方法を示しています。

このサンプルを実行したら、WebLogic Serverを再起動します。

例45-5 ドメインのJASPICの無効化

connect('weblogic', 'password')
edit()
startEdit()
cd('SecurityConfiguration')
cd('mydomain')
jaspic = cmo.getJASPIC()
jaspic.setEnabled(false)
save()
activate()