ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Trusted Extensions 開発者ガイド Oracle Solaris 10 1/13 Information Library (日本語) |
1. Trusted Extensions API およびセキュリティーポリシー
Trusted X Window System のセキュリティー属性
Trusted X Window System のセキュリティーポリシー
Trusted X Window System インタフェースの使用
X ウィンドウサーバーワークステーションの所有者 ID の取得
9. Solaris Trusted Extensions ラベル API のための試験的な Java バインディング
Trusted X11 API を使用するには、次のヘッダーファイルが必要です。
#include <X11/extensions/Xtsol.h>
Trusted X11 の例は、-lXtsol および -ltsol ライブラリオプションを使用してコンパイルします。
X11 ラベルクリッピング API を使用するには、次のヘッダーファイルが必要です。
#include <Dt/label_clipping.h>
ラベルクリッピングの例は、-lDtTsol および -ltsol ライブラリオプションを使用してコンパイルします。
次のセクションでは、Trusted X11 インタフェースおよび X11 ラベルクリッピングインタフェース用のデータ型と宣言について説明します。
X11 のデータ型
属性へのアクセス
ウィンドウラベルへのアクセスと設定
ウィンドウのユーザー ID へのアクセスと設定
ウィンドウプロパティーラベルへのアクセスと設定
ウィンドウプロパティーのユーザー ID へのアクセスと設定
ワークステーションの所有者 ID へのアクセスと設定
X ウィンドウサーバーの認可上限と最下位ラベルの設定
トラステッドパスウィンドウでの作業
スクリーンストライプの高さへのアクセスと設定
ウィンドウの多インスタンス化情報の設定
X11 ラベルクリッピングインタフェースでの作業
次のデータ型が X11/extensions/Xtsol.h で定義されていて、Trusted Extensions X Window System API に使用されます。
X11 のオブジェクト型 – ResourceType 定義は、処理されるリソースのタイプを示します。値は IsWindow、IsPixmap、または IsColormap にできます。
ResourceType は認可上限を表す型定義です。インタフェースは m_label_t 型の構造体をパラメータとして受け入れ、同じ型の構造体で認可上限を返します。
X11 のオブジェクト属性 – XTsolResAttributes 構造体には、これらのリソース属性が含まれています。
typedef struct _XTsolResAttributes { CARD32 ouid; /* owner uid */ CARD32 uid; /* uid of the window */ m_label_t *sl; /* sensitivity label */ } XTsolResAttributes;
X11 のプロパティー属性 – XTsolPropAttributes 構造体には、これらのプロパティー属性が含まれています。
typedef struct _XTsolPropAttributes { CARD32 uid; /* uid of the property */ m_label_t *sl; /* sensitivity label */ } XTsolPropAttributes;
X11 のクライアント属性 – XTsolClientAttributes 構造体には、これらのクライアント属性が含まれています。
typedef struct _XTsolClientAttributes { int trustflag; /* true if client masked as trusted */ uid_t uid; /* owner uid who started the client */ gid_t gid; /* group id */ pid_t pid; /* process id */ u_long sessionid; /* session id */ au_id_t auditid; /* audit id */ u_long iaddr; /* internet addr of host where client is running */ } XTsolClientAttributes;
リソース、プロパティー、およびクライアント属性へのアクセスには次のルーチンが使用されます。
このルーチンは、winattrp 内の、ウィンドウ ID のリソース属性を返します。XTSOLgetResAttributes(3XTSOL) のマニュアルページを参照してください。
このルーチンは、propattrp 内の、ウィンドウ ID によって決まるプロパティーのプロパティー属性を返します。XTSOLgetPropAttributes(3XTSOL)のマニュアルページを参照してください。
このルーチンは clientattrp 内のクライアント属性を返します。XTSOLgetClientAttributes(3XTSOL) のマニュアルページを参照してください。
ウィンドウの機密ラベルの取得と設定には、XTSOLgetResLabel() および XTSOLsetResLabel() ルーチンが使用されます。
このルーチンは、ウィンドウの機密ラベルを取得します。XTSOLgetResLabel(3XTSOL) のマニュアルページを参照してください。
このルーチンは、ウィンドウの機密ラベルを設定します。XTSOLsetResLabel(3XTSOL) のマニュアルページを参照してください。
ウィンドウのユーザー ID の取得と設定には、XTSOLgetResUID() および XTSOLsetResUID() ルーチンが使用されます。
このルーチンは、ウィンドウのユーザー ID を取得します。XTSOLgetResUID(3XTSOL) のマニュアルページを参照してください。
このルーチンは、ウィンドウのユーザー ID を設定します。XTSOLsetResUID(3XTSOL) のマニュアルページを参照してください。
ウィンドウ ID によって決まるプロパティーの機密ラベルの取得と設定には、XTSOLgetPropLabel() および XTSOLsetPropLabel() ルーチンが使用されます。
このルーチンは、ウィンドウ ID によって決まるプロパティーの機密ラベルを取得します。XTSOLgetPropLabel(3XTSOL) のマニュアルページを参照してください。
このルーチンは、ウィンドウ ID によって決まるプロパティーの機密ラベルを設定します。XTSOLsetPropLabel(3XTSOL) のマニュアルページを参照してください。
ウィンドウ ID によって決まるプロパティーのユーザー ID の取得と設定には、XTSOLgetPropUID() および XTSOLsetPropUID() ルーチンが使用されます。
このルーチンは、ウィンドウ ID によって決まるプロパティーのユーザー ID を取得します。XTSOLgetPropUID(3XTSOL) のマニュアルページを参照してください。
このルーチンは、ウィンドウ ID によって決まるプロパティーのユーザー ID を設定します。XTSOLsetPropUID(3XTSOL) のマニュアルページを参照してください。
ワークステーションサーバーの所有者のユーザー ID の取得と設定には、XTSOLgetWorkstationOwner() および XTSOLsetWorkstationOwner() ルーチンが使用されます。
注 - XTSOLsetWorkstationOwner() ルーチンはウィンドウマネージャーによってのみ使用されます。
このルーチンは、ワークステーションサーバーの所有者のユーザー ID を取得します。XTSOLgetWorkstationOwner(3XTSOL) のマニュアルページを参照してください。
このルーチンは、ワークステーションサーバーの所有者のユーザー ID を設定します。XTSOLsetWorkstationOwner(3XTSOL) のマニュアルページを参照してください。
X ウィンドウサーバーのセッションの高位認可上限とセッションの最下位ラベルの設定には、XTSOLsetSessionHI() および XTSOLsetSessionLO() ルーチンが使用されます。セッションの高位認可上限は、ラベルビルダー GUI から選択でき、ユーザーの範囲内にある必要があります。セッションの最下位ラベルは、マルチレベルセッションの場合のユーザーの最下位ラベルと同じです。
注 - これらのインタフェースはウィンドウマネージャーによってのみ使用すべきです。
セッションの高位認可上限は、ログイン時にワークステーション所有者の認可上限から設定されます。セッションの高位認可上限は、所有者の認可上限およびマシンモニターのラベル範囲の上限よりも優位であってはいけません。これが変更されると、ウィンドウサーバーの認可上限よりも上位の機密ラベルで動作しているクライアントからの接続リクエストは、特権がなければ拒否されます。XTSOLsetSessionHI(3XTSOL) のマニュアルページを参照してください。
セッションの最下位ラベルは、ログイン時にワークステーション所有者の最下位ラベルから設定されます。セッションの最下位ラベルは、管理者によって設定されたそのユーザーの最下位ラベルおよびマシンモニターのラベル範囲の下限より優位である必要があります。この設定が変更されると、ウィンドウサーバーの機密ラベルよりも下位の機密ラベルで動作しているクライアントからの接続リクエストは、特権がなければ拒否されます。XTSOLsetSessionLO(3XTSOL) のマニュアルページを参照してください。
指定されたウィンドウをトラステッドパスウィンドウにしたり、指定されたウィンドウがトラステッドパスウィンドウであるかどうかをテストしたりする場合は、XTSOLMakeTPWindow() および XTSOLIsWindowTrusted() ルーチンが使用されます。
このルーチンは、指定されたウィンドウをトラステッドパスウィンドウにします。XTSOLMakeTPWindow(3XTSOL) のマニュアルページを参照してください。
このルーチンは、指定されたウィンドウがトラステッドパスウィンドウであるかどうかをテストします。XTSOLIsWindowTrusted(3XTSOL) のマニュアルページを参照してください。
スクリーンストライプの高さの取得と設定には、XTSOLgetSSHeight() および XTSOLsetSSHeight() ルーチンが使用されます。
注 - これらのインタフェースはウィンドウマネージャーによってのみ使用すべきです。
このルーチンはスクリーンストライプの高さを取得します。XTSOLgetSSHeight(3XTSOL) のマニュアルページを参照してください。
このルーチンはスクリーンストライプの高さを設定します。スクリーンストライプがなくなったり、非常に大きなスクリーンストライプになったりしないように注意してください。XTSOLsetSSHeight(3XTSOL) のマニュアルページを参照してください。
XTSOLsetPolyInstInfo() ルーチンを使用すると、クライアントは、そのクライアントとは異なる機密ラベルで、プロパティーからプロパティー情報を取得できます。最初の呼び出しで、目的の機密ラベルとユーザー ID を指定し、enabled プロパティーを True に設定します。次に、XTSOLgetPropAttributes()、XTSOLgetPropLabel()、または XTSOLgetPropUID() を呼び出します。最後に、enabled プロパティーを False に設定して XTSOLsetPolyInstInfo() ルーチンをふたたび呼び出します。XTSOLsetPolyInstInfo(3XTSOL) のマニュアルページを参照してください。
label_to_str() ルーチンは、機密ラベルまたは認可上限を文字列に変換します。label_to_str(3TSOL) のマニュアルページを参照してください。