特殊な管理 > データセキュリティの確保 > セキュリティラベルと免除承諾 > セキュリティラベルの設定 > セキュリティラベルの設定手順 > ステップ 6. セキュリティラベルのコンフィギュレーションファイルを編集する - 必須 > 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 ソリューションでこのカスタムセキュリティラベルを使用するには、属性 enabledtrue に設定する必要があります。通常、この名前値はユーザーインタフェースに表示されません。このセキュリティラベルの表示名は <Windchill>/wtcustom/wt/access/accessModelRB.rbinfo ファイルで事前に定義されています。
* 
エレメント CustomSecurityLabel の名前属性と内部カスタムラベル値はできるだけ短くしてください。エレメント TranslatorClass を使用することで、データベースに保管される内部値のサイズを減らすことができます。詳細については、カスタム Java トランスレータクラスの作成を参照してください。
エレメント SecurityLabelResourceKey はラベルのリソースキーを表し、次のフォーマットで指定されています。
WCTYPE|wt.access.SecurityLabeled~SCA|<SECURITY_LABEL>
ここで、<SECURITY_LABEL> はエレメント CustomSecurityLabelname 属性の値です。先に編集した accessModelRB.rbinfo リソースファイルにこのリソースキーが存在している必要があります。
* 
セキュリティラベルをグローバルに無効化した場合でも、メソッドサーバーが起動するためには、コンフィギュレーションファイルで指定されているセキュリティラベルのリソースキーが accessModelRB.rbInfo に含まれていなければなりません。
セキュリティラベルの無効化については、セキュリティラベルと値の無効化を参照してください。
エレメント CustomSecurityLabelValues はサブエレメント UnrestrictedPrincipal を 1 つ持つことができます。このサブエレメントはこのセキュリティラベル値の承認された参加者を指定します。サブエレメント UnrestrictedPrincipal を省略した場合、すべてのユーザーに、そのカスタムラベル値が適用されているオブジェクトへのアクセスが許可されます。
エレメント UnrestrictedPrincipal にはサブエレメント ufid を指定できます。UFID (Unique Federation Identifier) は参加者 (ユーザー、ユーザー定義グループ、または組織) を指定します。各 UnrestrictedPrincipal エレメントはevaluatorClassステップ 3. カスタム Java エバリュエータクラスを作成するで作成したエバリュエータクラスを指定する サブエレメントを持つこともできます。エレメント UnrestrictedPrincipal でサブエレメント ufid とサブエレメント evaluatorClass のいずれかまたは両方を使用できます。ufid サブエレメント、evaluatorClass サブエレメント、またはその両方を使用する際の差分については、カスタムセキュリティラベルの承認された参加者の指定を参照してください。
エレメント UnrestrictedPrincipal にはサブエレメント AgreementType を指定することもできます。免除承諾を使用することで、このセキュリティラベル値の "承認された参加者" でないユーザーに一時的にアクセスを許可できます。エレメント AgreementType の内容は次のフォーマットで指定します。
<logicalTypeId><AGREEMENT_NAME></logicalTypeId>
ここで、<AGREEMENT_NAME> は承諾タイプまたはサブタイプの内部名です。
オプションの TranslatorClass エレメントは、ステップ 4. カスタムトランスレータクラスを作成するで作成されるクラスを指定します。エレメント TranslatorClass は、セキュリティラベル値の内部名と Windchill 全体に表示される外部名との間で変換を行います。エレメント TranslatorClass が指定されていない場合、カスタムセキュリティラベル値の内部値と外部値は同じです。
オプションのエレメント SecurityLabelParameter には、各種オーサリングアプリケーションでファイル属性として使用され、このカスタムセキュリティラベルにマップされるパラメータ名が含まれています。エレメント SecurityLabelParameter は、必ずエレメント CustomSecurityLabel 内の一番最後に指定します。このパラメータ名は、オーサリングアプリケーションで採用されているパラメータ名の規約に従う必要があります。