BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedoホーム   |   ファイル形式、データ記述方法、MIB、およびシステム・プロセスのリファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


ACL_MIB(5)

名前

ACL_MIB - ACL の管理情報ベース

形式

#include <fml32.h>
#include <tpadm.h>

機能説明

BEA Tuxedo MIB は、アクセス制御リスト (ACL) を管理するためのクラスの集合を定義します。これらのクラスに対してアクセスや更新を行う前に、SECURITYUSER_AUTHACL、または MANDATORY_ACL に設定して BEA Tuxedo のコンフィギュレーションを作成しなければなりません。管理要求をフォーマットしたり管理応答を解釈する場合は、ACL_MIB(5) を共通の MIB リファレンス・ページMIB(5)と組み合わせて用います。このマニュアルに記載されたクラスや属性を利用してMIB(5) の手順に従ってフォーマットした要求は、アクティブなアプリケーション中に存在するさまざまな ATMI インターフェイスを利用して管理サービスを要求するために使用できます。ACL_MIB(5) のすべてのクラス定義に関連する追加情報については、「ACL_MIB(5) に関する追加情報」を参照してください。

ACL_MIB(5) には、次のクラスがあります。

ACL_MIB のクラス

クラス名

属性

T_ACLGROUP

ACL グループ

T_ACLPERM

ACL パーミッション

T_ACLPRINCIPAL

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 アプリケーションのユーザおよびドメインのグループを表します。

属性表

ACL_MIB(5): T_ACLGROUP クラス定義の属性表

属性

タイプ

パーミッション

デフォルト値

TA_GROUPNAME( r )( * )

string

rU-------

string[1..30]

N/A

TA_GROUPID( k )

long

rw-------

0 <= num <16,384

最低の ID

TA_STATE

string

rw-------

GET:"INA"

SET:"{NEW | INV}"

N/A

N/A

(k) - GET キー・フィールド
(r) - オブジェクトの作成に必要なフィールド (SET TA_STATE NEW)
(*) - GET/SET キー、SET 操作では 1 つ以上必要


 

属性の意味

TA_GROUPNAME:string[1..30]

グループの論理名。グループ名は表示可能な文字列で、シャープ (#)、カンマ (,)、コロン (:)、および改行文字 (\\n) は使用できません。

TA_GROUPID:0 <= num < 16,384

ユーザに対応するグループ識別子。0 はデフォルト・グループ "other" を示します。作成時に省略すると、次に利用可能な(一意な)識別子で、0 以上の識別子がデフォルト値となります。

TA_STATE:

GET:{VALid}

GET 操作は、選択した T_ACLGROUP オブジェクトについてコンフィギュレーション情報を検索します。下に示した状態は、GET 要求に対する応答で返される TA_STATE の意味を示します。

VALid

T_ACLGROUP オブジェクトが定義され、非アクティブ状態です。このクラスで有効な状態は VALid です。ACL グループがアクティブになることはありません。


 

SET:{NEW | INValid}

SET 操作は、選択した T_ACLGROUP オブジェクトに対するコンフィギュレーション情報を更新します。次に、SET 要求で TA_STATE に設定できる値の意味を説明します。記述されていない状態を設定することはできません。

NEW

アプリケーションに対するT_ACLGROUPを作成します。状態の変更は、INValid 状態でのみ可能です。正常終了すると、オブジェクトの状態は VALid になります。

unset

既存の T_ACLGROUP オブジェクトを変更します。INValid 状態ではこの組み合わせは使用できません。正常終了すると、オブジェクトの状態は変わりません。

INValid

アプリケーションに対する T_ACLGROUP オブジェクトを削除します。状態の変更は、VALid 状態でのみ可能です。正常終了すると、オブジェクトの状態は INValid になります。


 

制限事項

1 人のユーザは 1 つの ACL グループだけに関連付けることができます。複数の役割を持つユーザや複数のグループに対応付けられるユーザの場合、複数のユーザ・エントリを定義しなければなりません。

T_ACLPERM クラスの定義

概要

T_ACLPERM クラスは BEA Tuxedo システム・エンティティにアクセス可能なグループを表します。これらのエンティティ名は文字列です。エンティティ名は現在のサービス名、イベント名、およびアプリケーション・キュー名を示します。

属性表

ACL_MIB(5): T_ACLPERM クラス定義の属性表

属性

タイプ

パーミッション

デフォルト値

TA_ACLNAME(r)(*)

string

rw-------

string[1. .30]

N/A

TA_ACLTYPE(r)(*)

string

rw-------

"ENQ | DEQ | SERVICE | POSTEVENT"

N/A

TA_ACLGROUPIDS

string

rw-------

string

N/A

TA_STATE

string

rw-------

GET: "INA"

SET: "{NEW | INV}"

N/A

N/A

(r) - オブジェクトの作成に必要なフィールド (SET TA_STATE NEW)

(*) - GET/SET キー、SET 操作では 1 つ以上必要


 

属性の意味

TA_ACLNAME:string

パーミッションを与えるエンティティの名前。名前は、サービス名、イベント名、およびキュー名を表すことができます。ACL 名は表示可能な文字列で、コロン (:)、シャープ (#)、および改行文字 (\\n) は使用できません。

TA_ACLTYPE:ENQ | DEQ | SERVICE | POSTEVENT

パーミッションを与えるエンティティの型。

TA_ACLGROUPIDS:string

対応エンティティへのアクセスを許可するグループ識別子 (番号) をカンマで区切ったリスト。string の長さは、マシンのディスク容量でのみ制限されます。

TA_STATE:

GET:{VALid}

GET 操作は、選択した T_ACLPERM オブジェクトについてコンフィギュレーション情報を検索します。下に示した状態は、GET 要求に対する応答で返される TA_STATE の意味を示します。

VALid

T_ACLPERM オブジェクトが定義され、非アクティブ状態です。このクラスでは、有効な状態はVALid だけです。ACL パーミッションがアクティブになることはありません。


 

SET:{NEW | INValid}

SET 操作は、選択した T_ACLPERM オブジェクトに対するコンフィギュレーション情報を更新します。次に、SET 要求で TA_STATE に設定できる値の意味を説明します。記述されていない状態を設定することはできません。

NEW

アプリケーションに対する T_ACLPERM を作成します。状態の変更は、INValid 状態でのみ可能です。正常終了すると、オブジェクトの状態は VALid になります。

unset

既存の T_ACLPERM オブジェクトを変更します。INValid 状態ではこの組み合わせは使用できません。正常終了すると、オブジェクトの状態は変わりません。

INValid

アプリケーションに対する T_ACLPERM オブジェクトを削除します。状態の変更は、VALid 状態でのみ可能です。正常終了すると、オブジェクトの状態は INValid になります。


 

制限事項

パーミッションは、個別のユーザ識別子に対してではなく、グループ・レベルで定義されます。

T_ACLPRINCIPAL クラスの定義

概要

T_ACLPRINCIPAL クラスは、BEA Tuxedo アプリケーションにアクセス可能なユーザやドメイン、およびそれに対応するグループを表します。特定ユーザとしてアプリケーションに結合するには、ユーザ固有パスワードを提供する必要があります。

属性表

ACL_MIB(5): T_ACLPRINCIPAL クラス定義の属性表

属性

タイプ

パーミッション

デフォルト値

TA_PRINNAME( r )( * )

string

rU-------

string[1. .30]

N/A

TA_PRINCLTNAME( k )

string

rw-------

string[1. .30]

"*"

TA_PRINID( k )

long

rU-------

1 <= num < 131,072

最低のID

TA_PRINGRP( k )

long

rw-------

0 <= num < 16,384

0

TA_PRINPASSWD

string

rwx------

string

N/A

TA_STATE

string

rw-------

GET:"INA"

SET:"{NEW | INV}"

N/A

N/A

(k) - GET キー・フィールド
(r) - オブジェクトの作成に必要なフィールド (SET TA_STATE NEW)
(*) - GET/SET キー、SET 操作には 1 つ以上必要


 

属性の意味

TA_PRINNAME:string

ユーザまたはドメイン (プリンシパル) の論理名。プリンシパル名は表示可能な文字列で、シャープ (#)、カンマ (,)、コロン (:)、および改行文字 (\n) は使用できません。

TA_PRINCLTNAME:string

ユーザに対応するクライアント名。一般的に、対応ユーザの役割を記述し、ユーザ・エントリに関する付加的な情報となります。作成時に省略すると、デフォルト値はワイルドカードのアスタリスク (*) になります。クライアント名は表示可能な文字列で、コロン (:) や改行文字 (\\n) は使用できません。

TA_PRINID:1 <= num < 131,072

一意なユーザ識別番号。作成時に省略すると、次に利用可能な (一意な) 識別子で、0 以上の識別子がデフォルト値となります。

TA_PRINGRP:0 <= num < 16,384

ユーザに対応するグループ識別子。0 はデフォルト・グループ "other" を示します。作成時に省略すると、デフォルト値 0 が割り当てられます。

TA_PRINPASSWD:string

TA_STATE:

GET:{VALid}

GET 操作は、選択した T_ACLPRINCIPAL オブジェクトに対するコンフィギュレーション情報を検索します。下に示した状態は、GET 要求に対する応答で返される TA_STATE の意味を示します。

VALid

T_ACLPRINCIPAL オブジェクトが定義され、非アクティブ状態です。このクラスでは、有効な状態は VALid だけです。ACL プリンシパルがアクティブになることはありません。


 

SET:{NEW | INValid}

SET 操作は、選択した T_ACLPRINCIPAL オブジェクトに対するコンフィギュレーション情報を更新します。次に、SET 要求で TA_STATE に設定できる値の意味を説明します。記述されていない状態を設定することはできません。

NEW

アプリケーションに対する T_ACLPRINCIPAL を作成します。状態の変更は、INValid 状態でのみ可能です。正常終了すると、オブジェクトの状態は VALid になります。

unset

既存の T_ACLPRINCIPAL オブジェクトを変更します。INValid 状態ではこの組み合わせは使用できません。正常終了すると、オブジェクトの状態は変わりません。

INValid

アプリケーションに対する T_ACLPRINCIPAL オブジェクトを削除します。状態の変更は、VALid 状態でのみ可能です。正常終了すると、オブジェクトの状態は INValid になります。


 

制限事項

1 つのユーザまたはドメインはただ 1 つの ACL グループにのみ関連付けることができます。複数の役割を持つユーザや複数のグループに関連付けられるユーザの場合、複数のプリンシパル・エントリを定義しなければなりません。

ACL_MIB(5) に関する追加情報

診断

一般に、ACL_MIB(5) とのインターフェイスでは、2 つの一般的なタイプのエラーがユーザに返されます。1 つは、管理要求に対する応答を検索する 3 つの ATMI 関数 (tpcall()tpgetrply()tpdequeue()) で、いずれかが各関数で定義されたエラーを返します。エラーは、該当するリファレンス・ページの記述に従って解釈されます。

ただし要求が、その内容に対応できるシステム・サービスに正常にルーティングされても、システム・サービス側で要求を処理できないと判断されると、アプリケーション・レベルのサービス障害としてエラーが返されます。このような場合、tpcall() および tpgetrply() は、tperrno()TPESVCFAIL に設定してエラーを返し、以下のようにエラーの詳細を示す TA_ERRORTA_STATUSTA_BADFLD フィールドと一緒に、元の要求を含む応答メッセージを返します。TMQFORWARD(5) 経由でシステムに転送された要求に対してサービス障害が発生すると、元の要求で識別される異常終了キューに障害応答メッセージが追加されます (TMQFORWARD に対して -d オプションが指定されたと見なされます)。

管理要求の処理中にサービス・エラーが発生すると、TA_STATUS という FM32 フィールドにエラーの内容を説明したテキストが設定され、TA_ERROR という FM32 フィールドにはエラーの原因 (下記参照) を示す値が設定されます。以下のエラー・コードは、いずれも負であることが保証されています。

以下の診断コードは TA_ERROR に戻され、管理要求が正常に完了したことを示します。これらのコードはマイナスでないことが保証されています。

[other]

すべてのコンポーネント MIB に共通のその他のリターン・コードは、MIB(5) リファレンス・ページに記載されています。これらのコードは、ここに定義する ACL_MIB(5) 固有のリターン・コードと相互に排他関係にあることが保証されています。

相互運用性

このリファレンス・ページで定義されているヘッダ・ファイルおよびフィールド・テーブルは、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 アプリケーションのプログラミング』

 

先頭へ戻る 前のトピックへ 次のトピックへ