ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

5.1.6 run-as security機能

run-as security機能は、EJBアプリケーションに認証情報を指定できる機能です。

通常のEJBアプリケーションで使用される認証情報(セキュリティロール、ユーザID、パスワード)はクライアント(J2EEアプリケーションクライアント、Webアプリケーション)で認証された情報です。しかし、run-as security機能を使用することによってEJBアプリケーションで使用する認証情報を変更することが可能となります。
この機能はMessage-driven Beanから以下のようなセキュリティ機能が使用されたEJBアプリケーションにアクセスする場合に有効な機能です。

Message-driven Beanは通常クライアントから直接アクセスされることがないため、認証情報を持ちません。このため、上記のようなEJBアプリケーションにアクセスしようとした場合には、必ずセキュリティチェックされてエラーとなります。このような場合にrun-as security機能を使用してMessage-driven Beanに認証情報を指定することによって、アクセス制御されたEJBアプリケーションへMessage-driven Beanからアクセス可能となります。



run-as security機能を使用するには以下の設定が必要です。

deployment descriptorの設定

run-as security機能の設定は、deployment descriptorで行います。security-identity(セキュリティアイデンティティ)のrun-asタグにセキュリティロール名を設定する必要があります。この設定をすることにより、EJBアプリケーションは設定されたセキュリティロールで動作することになります。
deployment descriptorへの設定、および変更は、Interstage StudioまたはInterstage管理コンソールによって行います。

run-as securityのdeployment descriptorへの指定例を以下に示します。以下の例ではEJBアプリケーションに“Admin”というセキュリティロールを設定しています。

・・・
    <enterprise-beans>
        <security-identity>
            <run-as>
                <role-name>Admin</role-name>
            </run-as>
        </security-identity>
    </enterprise-beans>
・・・

ユーザID・パスワードの設定

run-asタグに指定したセキュリティロール名に対応するユーザID・パスワードを、Interstage管理コンソールで指定します。以下のような場合には起動時に警告メッセージEJB1078が出力されます。警告が発生した場合、メソッドパーミッション機能を使用したEJBアプリケーションを呼び出した場合には承認エラーとなります。

ディレクトリサービスの設定

詳細については、“ディレクトリサービスの設定”を参照してください。

注意

run-as security機能を使用する場合は、以下に注意してください。

当機能は、IJServer外からだけ呼び出される、EJBアプリケーションだけで使用してください。
IJServerに配備されたEJBアプリケーションから、呼び出されるEJBアプリケーションで使用した場合、以下の動作に不具合が生じる可能性があります。

  • メソッドパーミッション機能

  • リソース接続者管理機能