ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
Trusted Extensions 開発者ガイド Oracle Solaris 10 1/13 Information Library (日本語) |
1. Trusted Extensions API およびセキュリティーポリシー
9. Solaris Trusted Extensions ラベル API のための試験的な Java バインディング
Trusted Extensions ラベル API の JNI 実装では、次のように相互に関連するいくつかのラベル関連クラスが導入されます。
SolarisLabel 抽象クラス
ClearanceLabel サブクラス
SensitivityLabel サブクラス
Range クラス
SolarisLabel 抽象クラスは、Trusted Extensions ラベルに関連する共通メソッドおよびネイティブメソッドのための基礎を提供します。SensitivityLabel および ClearanceLabel サブクラスは、この抽象クラスからメンバーを継承します。機密ラベルと認可上限ラベルを作成するための静的ファクトリも、抽象クラスによって提供されます。
エラーが発生したとき、静的ファクトリおよびメソッドは例外を送出し、必須アクセス制御に関連したエラーがサイレントで発生しないようにします。
この抽象クラスは、ラベルを比較し、ラベルを文字列に変換するために使用される、次の汎用メソッドを定義します。
dominates
equals
setFileLabel
strictlyDominates
toColor
toInternal
toRootPath
toString
toText
toTextLong
toTextShort
equals、dominates、および strictlyDominates メソッドは、Trusted Extensions で現在使用可能な blequal()、bldominates()、および blstrictdom() ラベル API に似ています。setFileLabel メソッドは、Trusted Extensionsで現在使用可能な setflabel() ルーチンに似ています。
残りのメソッド (toText、 toInternal、および toColor) は、Trusted Extensions で現在使用な label_to_str() ルーチンと機能が関連しています。これらのメソッドにより、特定のタイプの文字列にラベルを変換できます。プロセスおよびオブジェクトのラベル関係によっては、人間が読むことができる形式にラベルを変換するための特権が、実効セット内に必要になる場合もあります。たとえば、Java Virtual Machine (JVM) のプロセスは、そのプロセスよりも優位なラベルを変換する場合、sys_trans_label 特権で実行する必要があります。
SolarisLabel 抽象クラスには、次の静的ファクトリも含まれています。
getClearanceLabel
getFileLabel
getSensitivityLabel
getSocketPeer
getSensitivityLabel または getClearanceLabel にラベルとして渡す文字列は、次のいずれかの形式が可能です。
人間が読むことのできるラベルの形式 (PUBLIC など)
ラベルの内部形式 (0x0002-08-08 など)
ラベルの内部形式は実際のラベルを表示しないため、内部形式のみが保管およびネットワーク接続経由の送信に適しています。詳細は、「ラベルの読み取り可能バージョン」を参照してください。
ClearanceLabel および SensitivityLabel サブクラスは SolarisLabel 抽象クラスを拡張します。これらの各サブクラスは、SolarisLabel 抽象クラスによって提供される共通メソッドを継承します。
ClearanceLabel サブクラスは SolarisLabel 抽象クラスを拡張し、getMaximum および getMinimum メソッドを定義します。これらのメソッドは、それぞれ最小の上限と最大の下限を表す ClearanceLabel オブジェクトを返します。
SensitivityLabel サブクラスは SolarisLabel 抽象クラスを拡張し、getMaximum および getMinimum メソッドを定義します。これらはそれぞれ最小の上限と最大の下限を表す SensitivityLabel オブジェクトを返します。
SensitivityLabel サブクラスは、ラベル付けされたプリンタバナーページに適した情報を提供する次のメソッドを導入します。
toCaveats
toChannels
toFooter
toHeader
toProtectAs
Range クラスは、Trusted Extensions のラベル範囲の Java バージョンを表します。
このクラスは、ラベル範囲から上限および下限のラベルを取得し、あるラベルが、指定されたラベル範囲に入っているかどうかを判別するために使用する、次の汎用メソッドを定義します。
getLower
getUpper
inRange
Range クラスには、範囲オブジェクトを作成する次の静的ファクトリも含まれています。
getDeviceRange
getLabelRange
getUserRange
静的ファクトリ getDeviceRange および getUserRange はそれぞれ、指定されたデバイスおよび指定されたユーザーについての範囲に基づいて範囲オブジェクトを作成します。getLabelRange 静的ファクトリを使用すると、範囲の上限および下限の指定が可能なラベル範囲を作成できます。