カスタムセキュリティラベルのセキュリティラベルコンフィギュレーションファイルの編集
|
カスタムセキュリティラベルの使用例が <Windchill>/conf/securityLabelsConfiguration_sample.xml ファイルにあります。このサンプルコンフィギュレーションファイルにはこのドキュメントで使用するサンプルコンフィギュレーションとほぼ同じサンプルデータが含まれていますが、カスタムセキュリティラベルを正常に設定するためには、お使いのシステムで実際に使用されている値を入力する必要があります。
|
カスタムセキュリティラベルを有効にするには、各カスタムセキュリティラベルに CustomSecurityLabel エレメントとそのサブエレメントを追加します。終了したら、ファイルを保存して閉じます。
CustomSecurityLabel エレメント
エレメント CustomSecurityLabel には、カスタムセキュリティラベルを定義するためのデータ、そのカスタムセキュリティラベル値の承認された参加者 (すべてのユーザーでない場合)、そのカスタムセキュリティラベル値に関連付けられている免除承諾タイプ (あれば)、カスタムセキュリティラベルを処理するためにアプリケーションとサービスで使用される各種マッピングが含まれています。設定するカスタムセキュリティラベルごとにエレメント CustomSecurityLabel が 1 つ必要です。次に例を示します。
<CustomSecurityLabel name="THIRD_PARTY_PROPRIETARY" enabled="true">
<SecurityLabelResourceKey>WCTYPE|wt.access.SecurityLabeled~SCA|
THIRD_PARTY_PROPRIETARY</SecurityLabelResourceKey>
<CustomSecurityLabelValues>
<UnrestrictedPrincipal>
<ufid>cn=Employees,cn=Public,ou=people,cn=AdministrativeLdap,
cn=Windchill_10.1,o=ptc|Ldap.ptcnet.ptc.com|
Ldap.ptcnet.ptc.com</ufid>
<evaluatorClass>
com.ourcompany.CustomEvaluator
</evaluatorClass>
</UnrestrictedPrincipal>
<TranslatorClass>
com.ourcompany.CustomTranslator
</TranslatorClass>
</CustomSecurityLabelValues>
<SecurityLabelParameter>THIRD_PARTY_PROPRIETARY
</SecurityLabelParameter>
</CustomSecurityLabel>
エレメント CustomSecurityLabel の属性 name は、データベースに保存されるこのセキュリティラベルの文字列です (この場合は THIRD_PARTY_PROPRIETARY)。Windchill ソリューションでこのカスタムセキュリティラベルを使用するには、属性 enabled を true に設定する必要があります。通常、この名前値はユーザーインタフェースに表示されません。このセキュリティラベルの表示名は <Windchill>/wtcustom/wt/access/accessModelRB.rbinfo ファイルで事前に定義されています。
|
エレメント CustomSecurityLabel の名前属性と内部カスタムラベル値はできるだけ短くしてください。エレメント TranslatorClass を使用することで、データベースに保管される内部値のサイズを減らすことができます。詳細については、 カスタム Java トランスレータクラスの作成を参照してください。
|
エレメント SecurityLabelResourceKey はラベルのリソースキーを表し、次のフォーマットで指定されています。
WCTYPE|wt.access.SecurityLabeled~SCA|<SECURITY_LABEL>
ここで、<SECURITY_LABEL> はエレメント CustomSecurityLabel の name 属性の値です。先に編集した accessModelRB.rbinfo リソースファイルにこのリソースキーが存在している必要があります。
|
セキュリティラベルをグローバルに無効化した場合でも、メソッドサーバーが起動するためには、コンフィギュレーションファイルで指定されているセキュリティラベルのリソースキーが accessModelRB.rbInfo に含まれていなければなりません。
|
エレメント CustomSecurityLabelValues はサブエレメント UnrestrictedPrincipal を 1 つ持つことができます。このサブエレメントはこのセキュリティラベル値の承認された参加者を指定します。サブエレメント UnrestrictedPrincipal を省略した場合、すべてのユーザーに、そのカスタムラベル値が適用されているオブジェクトへのアクセスが許可されます。
エレメント
UnrestrictedPrincipal にはサブエレメント
ufid を指定できます。UFID (Unique Federation Identifier) は参加者 (ユーザー、ユーザー定義グループ、または組織) を指定します。エレメント
UnrestrictedPrincipal には、
カスタム Java エバリュエータクラスの作成で作成されたエバリュエータクラスを指定するサブエレメント
evaluatorClass を指定することもできます。エレメント
UnrestrictedPrincipal でサブエレメント
ufid とサブエレメント
evaluatorClass のいずれかまたは両方を使用できます。サブエレメント
ufid、サブエレメント
evaluatorClass、またはこれらを両方使用した場合の違いについては、
カスタムセキュリティラベルの承認された参加者の指定を参照してください。
エレメント UnrestrictedPrincipal にはサブエレメント AgreementType を指定することもできます。免除承諾を使用することで、このセキュリティラベル値の "承認された参加者" でないユーザーに一時的にアクセスを許可できます。エレメント AgreementType の内容は次のフォーマットで指定します。
<logicalTypeId><AGREEMENT_NAME></logicalTypeId>
ここで、<AGREEMENT_NAME> は承諾タイプまたはサブタイプの内部名です。
オプションのエレメント
TranslatorClass は
カスタム Java トランスレータクラスの作成で作成されたクラスを指定します。エレメント
TranslatorClass は、セキュリティラベル値の内部名と
Windchill 全体に表示される外部名との間で変換を行います。エレメント
TranslatorClass が指定されていない場合、カスタムセキュリティラベル値の内部値と外部値は同じです。
オプションのエレメント SecurityLabelParameter には、各種オーサリングアプリケーションでファイル属性として使用され、このカスタムセキュリティラベルにマップされるパラメータ名が含まれています。エレメント SecurityLabelParameter は、必ずエレメント CustomSecurityLabel 内の一番最後に指定します。このパラメータ名は、オーサリングアプリケーションで採用されているパラメータ名の規約に従う必要があります。