![]() |
![]() |
|
|
ACL_MIB(5)
名前
ACL_MIB - ACL の管理情報ベース
形式
#include <fml32.h>
#include <tpadm.h>
機能説明
BEA Tuxedo MIB は、アクセス制御リスト (ACL) を管理するためのクラスの集合を定義します。これらのクラスに対してアクセスや更新を行う前に、SECURITY を USER_AUTH、ACL、または MANDATORY_ACL に設定して BEA Tuxedo のコンフィギュレーションを作成しなければなりません。管理要求をフォーマットしたり管理応答を解釈する場合は、ACL_MIB(5) を共通の MIB リファレンス・ページMIB(5)と組み合わせて用います。このマニュアルに記載されたクラスや属性を利用してMIB(5) の手順に従ってフォーマットした要求は、アクティブなアプリケーション中に存在するさまざまな ATMI インターフェイスを利用して管理サービスを要求するために使用できます。ACL_MIB(5) のすべてのクラス定義に関連する追加情報については、「ACL_MIB(5) に関する追加情報」を参照してください。
ACL_MIB(5) には、次のクラスがあります。
クラス名 |
属性 |
---|---|
ACL グループ |
|
ACL パーミッション |
|
ACL プリンシパル (ユーザまたはドメイン) |
各クラスの説明セクションには、4 つのサブセクションがあります。
属性表の形式
上記で説明したように、この MIB に含まれる各クラスは以下の4つの部分に分けて定義されています。その 1 つが属性表です。属性表はクラス内の属性をリストし、さらに管理者、オペレータ、一般ユーザが属性を使用してアプリケーションとインターフェイスをとる方法を示しています。属性表の各属性記述には 5 つの構成要素(名前、タイプ、パーミッション、値、デフォルト値) があります。各項目については MIB(5) で説明します。
TA_FLAG 値
MIB(5) は共通の TA_FLAGS 属性を定義します。long 型で、共通およびコンポーネントの MIB 固有フラグ値の両方が含まれます。ここでは、ACL_MIB(5) 固有フラグ値は定義していません。
FML32 フィールド・テーブル
このマニュアル・ページに記述する属性のフィールド・テーブルは、システムにインストールした BEA Tuxedo システム・ソフトウェアのルート・ディレクトリからの相対パスで指定される udataobj/tpadm ファイルにあります。${TUXDIR}/udataobj ディレクトリは、アプリケーションによって FLDTBLDIR 環境変数で指定されるコロンで区切ったリストに含まれ、フィールド・テーブル名 tpadm() は、FIELDTBLS 環境変数で指定されるカンマで区切ったリストに含まれている必要があります。
制限事項
この MIB のヘッダ・ファイルやフィールド・テーブルには、BEA Tuxedo リリース 6.0 以降のサイト (ネイティブおよびワークステーションの両方) でのみアクセスできます。
T_ACLGROUP クラスの定義
概要
T_ACLGROUP クラスは BEA Tuxedo アプリケーションのユーザおよびドメインのグループを表します。
属性表
VALid |
T_ACLGROUP オブジェクトが定義され、非アクティブ状態です。このクラスで有効な状態は VALid です。ACL グループがアクティブになることはありません。 |
制限事項
1 人のユーザは 1 つの ACL グループだけに関連付けることができます。複数の役割を持つユーザや複数のグループに対応付けられるユーザの場合、複数のユーザ・エントリを定義しなければなりません。
T_ACLPERM クラスの定義
概要
T_ACLPERM クラスは BEA Tuxedo システム・エンティティにアクセス可能なグループを表します。これらのエンティティ名は文字列です。エンティティ名は現在のサービス名、イベント名、およびアプリケーション・キュー名を示します。
属性表
VALid |
T_ACLPERM オブジェクトが定義され、非アクティブ状態です。このクラスでは、有効な状態はVALid だけです。ACL パーミッションがアクティブになることはありません。 |
制限事項
パーミッションは、個別のユーザ識別子に対してではなく、グループ・レベルで定義されます。
T_ACLPRINCIPAL クラスの定義
概要
T_ACLPRINCIPAL クラスは、BEA Tuxedo アプリケーションにアクセス可能なユーザやドメイン、およびそれに対応するグループを表します。特定ユーザとしてアプリケーションに結合するには、ユーザ固有パスワードを提供する必要があります。
属性表
VALid |
T_ACLPRINCIPAL オブジェクトが定義され、非アクティブ状態です。このクラスでは、有効な状態は VALid だけです。ACL プリンシパルがアクティブになることはありません。 |
制限事項
1 つのユーザまたはドメインはただ 1 つの ACL グループにのみ関連付けることができます。複数の役割を持つユーザや複数のグループに関連付けられるユーザの場合、複数のプリンシパル・エントリを定義しなければなりません。
ACL_MIB(5) に関する追加情報
診断
一般に、ACL_MIB(5) とのインターフェイスでは、2 つの一般的なタイプのエラーがユーザに返されます。1 つは、管理要求に対する応答を検索する 3 つの ATMI 関数 (tpcall()、tpgetrply()、tpdequeue()) で、いずれかが各関数で定義されたエラーを返します。エラーは、該当するリファレンス・ページの記述に従って解釈されます。
ただし要求が、その内容に対応できるシステム・サービスに正常にルーティングされても、システム・サービス側で要求を処理できないと判断されると、アプリケーション・レベルのサービス障害としてエラーが返されます。このような場合、tpcall() および tpgetrply() は、tperrno() を TPESVCFAIL に設定してエラーを返し、以下のようにエラーの詳細を示す TA_ERROR、TA_STATUS、TA_BADFLD フィールドと一緒に、元の要求を含む応答メッセージを返します。TMQFORWARD(5) 経由でシステムに転送された要求に対してサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます (TMQFORWARD に対して -d オプションが指定されたと見なされます)。
管理要求の処理中にサービス・エラーが発生すると、TA_STATUS という FM32 フィールドにエラーの内容を説明したテキストが設定され、TA_ERROR という FM32 フィールドにはエラーの原因 (下記参照) を示す値が設定されます。以下のエラー・コードは、いずれも負であることが保証されています。
以下の診断コードは TA_ERROR に戻され、管理要求が正常に完了したことを示します。これらのコードはマイナスでないことが保証されています。
相互運用性
このリファレンス・ページで定義されているヘッダ・ファイルおよびフィールド・テーブルは、BEA Tuxedo リリース 6.0 以降で利用できます。これらのヘッダやテーブルで定義するフィールドはリリースが変わっても変更されません。ただし、以前のリリースで定義されていない新しいフィールドが追加される場合があります。AdminAPI には、要求を作成するために必要なヘッダ・ファイルとフィールド・テーブルがあれば、どのサイトからでもアクセスできます。T_ACLPRINCIPAL クラス、T_ACLGROUP クラス、および T_ACLPERM クラスは、BEA Tuxedo リリース 6.0 で追加されたものです。
移植性
BEA Tuxedo システムの MIB を使用した管理作業をサポートするために必要な既存の FML32 および ATMI 関数、さらに本マニュアル・ページに定義するヘッダ・ファイルとフィールド・テーブルは、すべてのサポート対象ネイティブ・プラットフォームおよびワークステーション・プラットフォームで利用可能です。
使用例
ユーザをグループに追加し、当該グループに対するパーミッションをサービス名に追加するコードを以下に示します。
フィールド・テーブル
属性フィールド識別子にアクセスするためには、フィールド・テーブル tpadm が必要です。そのために、以下のようにシェルで入力します。
$ FIELDTBLS=tpadm
$ FLDTBLDIR=${TUXDIR}/udataobj
$ export FIELDTBLS FLDTBLDIR
ヘッダ・ファイル
以下のヘッダ・ファイルがあります。
#include <atmi.h>
#include <fml32.h>
#include <tpadm.h>
ユーザの追加
以下のコードはデフォルト・グループ "other" にユーザを追加します。
/* 入力バッファおよび出力バッファを割り当てる */
ibuf = tpalloc("FML32", NULL, 1000);
obuf = tpalloc("FML32", NULL, 1000);
/* 要求タイプを定義する MIB(5) の属性を設定 *
Fchg32(ibuf, TA_OPERATION, 0, "SET", 0);
Fchg32(ibuf, TA_CLASS, 0, "T_ACLPRINCIPAL", 0);
/* ACL_MIB(5) 属性を設定 */
Fchg32(ibuf, TA_PRINNAME, 0, ta_prinname, 0);
Fchg32(ibuf, TA_PRINID, 0, (char *)ta_prinid, 0);
Fchg32(ibuf, TA_STATE, 0, (char *)"NEW", 0);
Fchg32(ibuf, TA_PRINPASSWD, 0, (char *)passwd, 0);
/* 要求を作成 */
if (tpcall(".TMIB", (char *)ibuf, 0, (char **)obuf, olen, 0) 0) {
fprintf(stderr, "tpcall failed:%s¥en", tpstrerror(tperrno));
if (tperrno == TPESVCFAIL) {
Fget32(obuf, TA_ERROR, 0,(char *)ta_error, NULL);
ta_status = Ffind32(obuf, TA_STATUS, 0, NULL);
fprintf(stderr, "Failure:%ld, %s¥en",
ta_error, ta_status);
}
/* 追加のエラー処理 */
}
ファイル
${TUXDIR}/include/tpadm.h、${TUXDIR}/udataobj/tpadm
関連項目
tpacall(3c)、tpalloc(3c)、tpcall(3c)、tpdequeue(3c), tpenqueue(3c)、tpgetrply(3c)、tprealloc(3c)、FML 関数の紹介、Fadd、Fadd32(3fml)、Fchg、Fchg32(3fml)、Ffind、Ffind32(3fml)、MIB(5)、TM_MIB(5)
『BEA Tuxedo アプリケーションの設定』
『C 言語を使用した BEA Tuxedo アプリケーションのプログラミング』
『FML を使用した BEA Tuxedo アプリケーションのプログラミング』
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|