|
|
AUTHSVR(5)
名前
AUTHSVR - サーバ提供のユーザ単位の認証
形式
AUTHSVR SRVGRP="identifier" SRVID=number other_parms CLOPT="-A"
機能説明
AUTHSVRは、BEA Tuxedo が提供する、認証サービスを備えたサーバです。クライアントがアプリケーションに結合する際には、高セキュリティ・アプリケーションでこのサービスを使用することにより、各ユーザごとに認証することができます。このサーバは、アプリケーションへのアクセスを要求しているクライアント・プロセスのための TPINIT 型付きバッファを含むサービス要求を受け付けます。TPINIT 型付きバッファのデータ・フィールドをユーザのパスワードとして使用し、そのパスワードを設定されたパスワードと比較することにより、要求が妥当かをチェックします。要求が妥当であると認められた場合は正常に終了し、クライアントが使用するためのチケットとしてアプリケーション・キーが返されます。
tpreturn(3c) の rcode パラメータがアプリケーション・キーの設定に使用されます。このパラメータは、妥当性検査が正常に終了するかパーミッションが与えられない時点で、tpinit(3c) を呼び出したコードに (tpurcode で) 返されます。
AUTHSVR に関連する追加情報については、「AUTHSVR に関する追加情報」を参照してください。
SECURITY USER_AUTH
SECURITY が USER_AUTH に設定されている場合は、強制的にユーザ単位での認証が実行されます。UBBCONFIG ファイルの RESOURCES セクションの AUTHSVC パラメータを使用して、アプリケーションに対する認証サービスの名前を設定することができます。たとえば、次の AUTHSVC パラメータ設定は、SECURITY が USER_AUTH に設定されている場合に AUTHSVR によって宣言される認証サービス (AUTHSVC) を指定します。
*RESOURCES
SECURITY USER_AUTH
AUTHSVC AUTHSVC
AUTHSVC パラメータを指定しないと、認証サービスはデフォルトで AUTHSVC になります。
デフォルトでは、アプリケーションの APPDIR 変数で定義される最初のパス名で参照されるディレクトリのファイル tpusr はパスワード情報の検索に使用されますが、このファイルが存在しない場合は /etc/passwd が使用されます。ただし、このファイルはシャドー・パスワード・ファイルを使用しているシステムでは正しく使用できません。ファイルは、サーバのコマンドライン・オプションの "-f filename" オプションを使用してファイル名を指定することによって変更することができます (例: CLOPT="-A -- -f /usr/tuxedo/users")。マスタ・マシンからコンフィギュレーションで指定された他のマシンへのユーザ・ファイルの複製転送は、$APPDIR/tpusr を使用した場合にのみ実行されます。
ユーザ・ファイルでは、(与えられた名前と) 一致するユーザ名とクライアント名が検索されます。ユーザ・ファイルには、4 つのタイプのエントリがあります。これらをユーザの妥当性検査を行う際の一致の優先度の順に並べると、次のようになります。
認証要求は、パスワード・ファイルで一致するデータが 1 つ見つかれば、それ以降のデータに対してはチェックされません。これらのセマンティクスを使用すれば、同じユーザが (通常異なるクライアント名の) 複数のエントリ名を持つことができ、ユーザ名にワイルドカードを使用することができます。これらのセマンティクスを使用できるのは、tpaddusr()、tpdelusr()、および tpmodusr() を利用してユーザ・ファイルを管理する場合です。ただし、これらのセマンティクスを使用した場合、ACL や MANDATORY_ACL のセマンティクスとの互換性はなく、これらのセキュリティ・レベルへの移行は困難になります。ACL セキュリティとの互換性のため制限的なセマンティクスを得るには、tpusradd()、tpusrdel()、および tpusrmod() の各プログラムを利用してユーザ・ファイルを管理する必要があります。
注記 tpusradd()、tpusrdel()、および tpusrmod() を使用するには、ターゲット・アプリケーションの SECURITY を USER_AUTH、ACL、または MANDATORY_ACL に設定する必要があります。そうでないと、これらのプログラムを使用しようとするとエラーが返されます。
認証要求を処理する際には、特殊なクライアント名の値、つまり tpsysadm (システムの管理者) と tpsysop (システム・オペレータ) は、AUTHSVR(5) によって特別な方法で処理されます。これらの値は、ユーザ・ファイルのワイルドカードを利用したクライアント名と一致させることはできません。
AUTHSVR が返すアプリケーション・キーは、ユーザ ID です。このアプリケーション・キーは、TPSVCINFO というデータ構造の appkey エレメントに含まれるすべてのサービスに渡されます。
標準仕様の AUTHSVR は、システムの一部として ${TUXDIR}/bin/AUTHSVR に入れた状態で出荷され、上記で説明したセマンティクスを持っています。ソース・コードのサンプルは、${TUXDIR}/lib/AUTHSVR.c に入っています。AUTHSVR の代わりに、(Kerberosなどを利用して) それぞれのアプリケーションに適した方法でユーザやユーザ・データ (パスワードは不可) の妥当性を検査するアプリケーション認証サーバを使用することができます。AUTHSVR の代わりにほかのアプリケーション認証サーバを使用する場合、このリファレンス・ページで後述する警告に特に留意してください。また、使用する認証サービスが (それぞれのサービスに渡す) アプリケーション・キーとして返す値も、それぞれのアプリケーションによって異なります。
tpsysadm および tpsysop に対応するアプリケーション・キーは、それぞれ 0x80000000 と 0xC0000000 です (この値でなければなりません)。
SECURITY ACL または MANDATORY_ACL
SECURITY が ACL または MANDATORY_ACL に設定されている場合は、ユーザ単位の認証が強制的に実行され、サービスや、アプリケーションのキュー、イベントにアクセスするためのアクセス管理リストがサポートされます。UBBCONFIG ファイルの RESOURCES セクションの AUTHSVC パラメータを使用して、アプリケーションに対する認証サービスの名前を設定することができます。たとえば、次の AUTHSVC パラメータ設定は、SECURITY が ACL か MANDATORY_ACL に設定されている場合に AUTHSVR によって宣言される認証サービス (..AUTHSVC) を指定します。
*RESOURCES
SECURITY ACL
AUTHSVC ..AUTHSVC
AUTHSVC パラメータを指定しないと、認証サービスはデフォルトで ..AUTHSVC になります。
注記 AUTHSVR は、SECURITY が USER_AUTH に設定される場合に認証サービス AUTHSVC を宣言し、SECURITY が ACL または MANDATORY_ACL に設定される場合に認証サービス ..AUTHSVC を宣言します。AUTHSVC と ..AUTHSVC は同じ認証サービスを指します。
ユーザ・ファイルは、$APPDIR/tpusr としなければなりません。このファイルは、マスタ・マシンからコンフィギュレーションで指定された他のアクティブ・マシンに自動的に複製転送されます。マスタ・マシンでは、AUTHSVR の 1 つのインスタンスを実行している必要があります。コンフィギュレーションで指定された別のアクティブ・マシンでは、AUTHSVR の新たなコピーを実行できます。
ユーザ・ファイルでは、(与えられた名前と) 一致するユーザ名とクライアント名が検索されます。ユーザ名は、ユーザ・ファイルのエントリと正確に一致している必要があります。クライアント名は正確に一致している必要がありますが、代替手段としてユーザ・ファイルのクライアント名の値をあらゆるクライアント名に該当するワイルドカード (*) として指定する方法も利用できます。ユーザは 1 つのエントリしかユーザ・ファイルに持てず、ユーザ名にワイルドカードを使用することはできません。ユーザ・ファイルは、tpusradd()、tpusrdel()、tpusrmod() の各プログラム、グラフィカル・ユーザ・インターフェイス、または管理インターフェイスを利用して管理することができます。
認証要求を処理する際には、特殊なクライアント名の値、つまり tpsysadm (システムの管理者) と tpsysop (システム・オペレータ) は、AUTHSVR(5) によって特別な方法で処理されます。これらの値は、ユーザ・ファイルのワイルドカードを利用したクライアント名と一致させることはできません。
AUTHSVR が返すアプリケーション・キーは、下位の 17 ビットのユーザ ID とそれに続く 14 ビットのグループ ID で構成されます (上位ビットは管理キーとしてリザーブされています)。tpsysadm および tpsysop に対応するアプリケーション・キーは、それぞれ 0x80000000 と 0xC0000000 です (この値でなければなりません)。このアプリケーション・キーは、TPSVCINFO というデータ構造の appkey エレメントに含まれるすべてのサービスに渡されます。
SECURITY ACL または MANDATORY_ACL の場合、システムの一部として ${TUXDIR}/bin/AUTHSVR に入っている標準仕様の AUTHSVR を使用する必要があります。
AUTHSVR に関する追加情報
使用方法
警告 ${TUXDIR}/lib/AUTHSVR.cは、${TUXDIR}/bin/AUTHSVR を生成するために使用されるソースではありません (この実行可能ファイルは破壊しないでください)。独自の AUTHSVR を使用する場合は、なるべく ${APPDIR} にインストールするようにしてください。
移植性
AUTHSVR は、BEA Tuxedo が提供するサーバとして非/WS プラットフォームでサポートされます。
使用例
# Using USER_AUTH
*RESOURCES
SECURITY USER_AUTH
AUTHSVC AUTHSVC
*SERVERS
AUTHSVR SRVGRP="AUTH" CLOPT="-A -- -f /usr/tuxedo/users" ¥
SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
#
#
# Using ACLs
*RESOURCES
SECURITY ACL
AUTHSVC ..AUTHSVC
*SERVERS
AUTHSVR SRVGRP="AUTH" SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
#
#
# Using a custom authentication service
*RESOURCES
SECURITY USER_AUTH
AUTHSVC KERBEROS
*SERVERS
KERBEROSSVR SRVGRP="AUTH1" SRVID=100 RESTART=Y GRACE=0 MAXGEN=2
関連項目
tpaddusr(1)、tpusradd(1)、UBBCONFIG(5)
『BEA Tuxedo アプリケーションの設定』
『BEA Tuxedo アプリケーション実行時の管理』
『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|