Schritt 24. Objektinitialisierungsregeln für Sicherheitsbeschriftungen definieren – Optional
Sie sollten unbedingt die gewünschten Sicherheitsbeschriftungs-Einstellungen für die Objekte festlegen, bevor Sie diese innerhalb Ihres Systems bereitstellen. Sicherheitsbeschriftungen sollten beispielsweise beim ersten Einchecken des Objekts festgelegt werden, um zu verhindern, dass vertrauliche Informationen in die falschen Hände gelangen. Wenn eine Sicherheitsbeschriftung nicht beim Erstellen eines Objekts festgelegt wird, ist die Sicherheitsbeschriftung automatisch standardmäßig auf seinen Nullwert eingestellt. In diesem Fall ist das Objekt nicht eingeschränkt und kann von einem beliebigen Benutzer mit Lesezugriff auf das Objekt angezeigt werden. Wenn Standard-Sicherheitsbeschriftungswerte ungleich null benötigt werden, müssen Sie Objektinitialisierungsregeln definieren.
Einige Objekte weisen keine Benutzeroberfläche für die Erstellung auf. So steht beispielsweise keine Oberfläche für Statuserhöhungsbenachrichtigungen und Dokumente zur Verfügung, die mit der Aktion Dokumente aus komprimierter Datei hochladen erstellt werden. Wenn Sie den Zugriff auf diese Objekte einschränken möchten, müssen Sie entsprechende Objektinitialisierungsregeln definieren, damit die gewünschten Sicherheitsbeschriftungswerte beim Erstellen der Objekte festgelegt werden.
Objektinitialisierungsregeln können auch verwendet werden, um Standard-Sicherheitsbeschriftungswerte für Objekttypen festzulegen, die über eine Benutzeroberfläche zur Erstellung verfügen. Eine Liste mit Objekten, die über Sicherheitsbeschriftungen verfügen, finden Sie in der Datei <Windchill>/conf/exposedSecurityLabelObjects.xml , wobei <Windchill> die Position angibt, an der die Windchill Lösung installiert ist.
Die folgenden Attributbeschränkungen sind für das Festlegen von Sicherheitsbeschriftungswerten in einem neuen Objektfenster verfügbar:
• GetHiddenConstraint: Blendet die Sicherheitsbeschriftung und den Sicherheitsbeschriftungswert im neuen Objektfenster aus.
• GetDiscreteSetConstraint: Stellt nur die Beschriftungswerte dar, die in der Objektinitialisierungsregel in einer Dropdown-Liste angegeben sind.
|
Wenn Sie angepasste Sicherheitsbeschriftungen verwenden, können Sie durch das Festlegen einer Objektinitialisierungsregel mit der GetDiscreteSetConstraint-Attributbeschränkung die Werte beschränken, die ein Benutzer für die angepasste Sicherheitsbeschriftung angeben kann.
|
• GetImmutableConstraint: Verhindert, dass ein Benutzer den angezeigten Wert ändert.
• GetServerAssignedConstraint: Zeigt den Beschriftungsnamen, aber nicht die Beschriftungswerte an. Der anstelle des Werts angezeigte Text lautet (Generiert).
• GetServerPreGeneratedValue: Zeigt den angegebenen Wert als den Standardwert für die Beschriftung an.
Objektinitialisierungsregeln werden mit dem Dienstprogramm
Objektinitialisierungsregel-Verwaltung erstellt und bearbeitet. In den folgenden Verfahren werden die allgemeinen Arbeitsschritte beim Erstellen oder Aktualisieren einer Objektinitialisierungsregel für einen Objekttyp beschrieben. Ausführliche Informationen zur Verwendung des Dienstprogramms
Objektinitialisierungsregel-Verwaltung finden unter
Object Initialization Rules" (Objektinitialisierungsregeln).
1. Öffnen Sie das Dienstprogramm Objektinitialisierungsregel-Verwaltung auf der Seite Dienstprogramme des Kontexts, für den Sie die Regel definieren möchten. Objektinitialisierungsregeln können auf einer beliebigen Kontextebene festgelegt werden. Dies bedeutet, dass Sie eine Standardregel für alle Objekte eines Typs im Standortebenenkontext und eine andere Regel in einem Organisationskontext oder in einem bestimmten Anwendungskontext (z.B. einem Produkt oder einem Projekt) festlegen können. So könnten Sie beispielsweise eine Objektinitialisierungsregel festlegen, die besagt, dass alle an Ihrem Standort erstellten Dokumente standardmäßig den Unternehmenseigentum-Sicherheitsbeschriftungswert "Privat" aufweisen, und zugleich angeben, dass alle Dokumente in einem bestimmten Projekt standardmäßig den Unternehmenseigentum-Sicherheitsbeschriftungswert "Streng vertraulich" erhalten sollen.
2. Wenn eine Regel für den Objekttyp existiert, laden Sie die vorhandene Regel auf Ihren lokalen Computer herunter, und öffnen Sie die XML-Datei in einem Texteditor. Beim Erstellen einer neuen Regel empfiehlt PTC, eine vorhandene Regel herunterzuladen, als neue Datei zu speichern und als Vorlage für die neue Regel zu verwenden.
3. Bearbeiten Sie die XML-Datei, und fügen Sie den gewünschten Standardwert für eine Sicherheitsbeschriftung hinzu. Für ein Objekt in einem bestimmten Kontext kann nur eine Objektinitialisierungsregel vorhanden sein, die jedoch mehrere Elemente enthalten darf.
Um beispielsweise festzulegen, dass die Exportkontrolle-Sicherheitsbeschriftung den Standardwert "Lizenz erforderlich – Staatlich" aufweist und dieser Wert beim Anzeigen einer Werteliste voreingestellt sein soll, fügen Sie Folgendes hinzu:
<!--set default security label values-->
<AttrValue id="EXPORT_CONTROL" algorithm=
"wt.rule.algorithm.StringConstant">
<Arg>LNS</Arg>
</AttrValue>
<AttrConstraint id="EXPORT_CONTROL" algorithm="com.ptc.core.
rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.
GetServerPreGeneratedValue"/>
</AttrConstraint>
Der Algorithmus, der für die Standardwerte von Sicherheitsbeschriftungen zu verwenden ist, muss eine Zeichenfolge erzeugen, die den Namen des Sicherheitsbeschriftungswerts enthält, wie für das Element <Arg> beschrieben. Beispielsweise kann der Algorithmus wt.rule.algorithm.StringConstant verwendet werden.
Der Wert für das Element AttrValue/Attribut id ist der in der Sicherheitsbeschriftungs-Konfigurationsdatei definierte Sicherheitsbeschriftungsname.
Ein AttrValue-Element kann für jede Sicherheitsbeschriftung auf Ihrem System hinzugefügt werden.
Das Arg-Element sollte der Name des Sicherheitsbeschriftungswerts, der in der Datei securityLabelsConfiguration.xml für eine Standard-Sicherheitsbeschriftung angegeben ist, und der externe Wert des Sicherheitsbeschriftungswerts für eine angepasste Sicherheitsbeschriftung sein.
4. Speichern Sie die XML-Datei an einem bekannten Speicherort auf Ihrem Computer. Bei Bedarf können Sie der Datei einen aussagekräftigen Namen zuweisen.
5. Wenn Sie eine vorhandene Regel bearbeitet haben, wählen Sie in der Liste der Aktionen für die Regel in der Tabelle Objektinitialisierungsregel-Verwaltung die Aktion Bearbeiten aus. Suchen Sie die XML-Datei, die Sie soeben bearbeitet haben.
Wenn Sie eine neue Regel erstellen, klicken Sie auf das Symbol "Neue Objektinitialisierungsregel"
. Geben Sie den Namen und die Typ-ID für das Objekt ein und suchen Sie die XML-Datei, die Sie soeben bearbeitet haben.
6. Klicken Sie auf OK. Die Regel tritt sofort in Kraft. Es ist nicht erforderlich, den Methodenserver neu zu starten.
Beispiele
Die folgenden Beispiele veranschaulichen, wie Attributbeschränkungen zur Auswahl von Sicherheitsbeschriftungswerten für die Beispielbeschriftung "Unternehmenseigentum" angewendet werden können. Weitere Informationen zur Beispielbeschriftung und den verfügbaren Werten finden Sie unter
Unternehmenseigentum – Beispiel für eine Sicherheitsbeschriftung.
• Gewünschtes Verhalten: Legen Sie die Sicherheitsbeschriftung auf einen Standardwert fest und blenden Sie die Sicherheitsbeschriftung aus, sodass der Benutzer den Wert nicht ändern kann. Wenn kein Standardwert angegeben ist, wird der Null-Wert (uneingeschränkter Wert) eingestellt.
Attributbeschränkungen: GetHiddenConstraint
Beispiel:
<AttrValue id="CORPORATE_PROPRIETARY" algorithm=
"wt.rule.algorithm.StringConstant">
<Arg>INT</Arg>
</AttrValue>
<AttrConstraint id="CORPORATE_PROPRIETARY" algorithm="com.ptc.core.
rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.
GetHiddenConstraint"/>
</AttrConstraint>
• Gewünschtes Verhalten: Legen Sie die Sicherheitsbeschriftung auf einen Standardwert fest, und machen Sie den Wert sichtbar, aber schreibgeschützt.
Attributbeschränkungen: GetServerPreGeneratedValue und GetImmutableConstraint
Beispiel:
• Gewünschtes Verhalten: Zeigen Sie (Generiert) an, und legen Sie den Wert fest, wenn das Objekt erstellt wird.
Attributbeschränkungen: GetServerAssignedConstraint und GetImmutableConstraint
Beispiel:
<AttrValue id="CORPORATE_PROPRIETARY" algorithm=
"wt.rule.algorithm.StringConstant">
<Arg>INT</Arg>
</AttrValue>
<AttrConstraint id="CORPORATE_PROPRIETARY" algorithm="com.ptc.core.
rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.
GetServerAssignedConstraint"/>
<Value algorithm="com.ptc.core.rule.server.impl.
GetImmutableConstraint"/>
</AttrConstraint>
• Gewünschtes Verhalten: Für Standardsicherheitsbeschriftungen beschränken Sie die Werte, die in der Dropdown-Liste erscheinen, auf die angegebenen Werte. Für benutzerdefinierte Sicherheitsbeschriftungen listen Sie nur bestimmte Werte in einer Dropdown-Liste auf, anstatt beliebige Wert in einem Textfeld zuzulassen.
Attributbeschränkungen: GetDiscreteSetConstraint
Beispiel:
<AttrValue id="CORPORATE_PROPRIETARY" algorithm=
"wt.rule.algorithm.StringConstant">
<Arg>NULL</Arg>
<Arg>INT</Arg>
</AttrValue>
<AttrConstraint id="CORPORATE_PROPRIETARY" algorithm="com.ptc.core.
rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.
GetDiscreteSetConstraint">
<Arg>INT</Arg>
</Value>
</AttrConstraint>
• Gewünschtes Verhalten: Für Standardsicherheitsbeschriftungen zeigen Sie einen Standardwert in der Dropdown-Liste an, der nicht der Null-Wert (uneingeschränkter Wert) ist. Für benutzerdefinierte Sicherheitsbeschriftungen listen Sie einen Standardwert im Textfeld auf.
Attributbeschränkungen: GetServerPreGeneratedValue
Beispiel:
<AttrValue id="CORPORATE_PROPRIETARY" algorithm=
"wt.rule.algorithm.StringConstant">
<Arg>INT</Arg>
</AttrValue>
<AttrConstraint id="CORPORATE_PROPRIETARY" algorithm="com.ptc.core.
rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.
GetServerPreGeneratedValue"/>
</AttrConstraint>
• Gewünschtes Verhalten: Für eine Standard-Sicherheitsbeschriftung, die mehrere Werte unterstützt, legen Sie Standardwerte fest und setzen sie auf sichtbar, aber schreibgeschützt. Beachten Sie, dass mehrere Werte für eine Standard-Sicherheitsbeschriftung immer durch ein Komma im Argument-Tag getrennt sind.
Attributbeschränkungen: GetServerPreGeneratedValue und GetImmutableConstraint
Beispiel:
<AttrValue algorithm="wt.rule.algorithm.StringConstant" id="Secrecy_Label">
<Arg>Secret,NotSecret</Arg>
</AttrValue>
<AttrConstraint id="Secrecy_Label"
algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"/>
<Value algorithm="com.ptc.core.rule.server.impl.GetImmutableConstraint"/>
</AttrConstraint>
• Gewünschtes Verhalten: Zeigen Sie für eine Standard-Sicherheitsbeschriftung, die mehrere Werte unterstützt, in der Dropdown-Liste Werte an, die nicht Null sind (uneingeschränkter Wert) ist. Beachten Sie, dass mehrere Werte für eine Standard-Sicherheitsbeschriftung immer durch ein Komma im Argument-Tag getrennt sind.
Attributbeschränkungen: GetServerPreGeneratedValue
Beispiel:
<AttrValue algorithm="wt.rule.algorithm.StringConstant" id="Secrecy_Label">
<Arg>Secret,NotSecret</Arg>
</AttrValue>
<AttrConstraint id="Secrecy_Label"
algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"/>
</AttrConstraint>
• Gewünschtes Verhalten: Für eine Standard-Sicherheitsbeschriftung, die mehrere Werte unterstützt, zeigen Sie (Generiert) an und legen den Wert fest, wenn das Objekt erstellt wird. Beachten Sie, dass mehrere Werte für eine Standard-Sicherheitsbeschriftung immer durch ein Komma im Argument-Tag getrennt sind.
Attributbeschränkungen: GetServerAssignedConstraint
<AttrValue algorithm="wt.rule.algorithm.StringConstant" id="Secrecy_Label">
<Arg>Secret,NotSecret</Arg>
</AttrValue>
<AttrConstraint id="Secrecy_Label"
algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.GetServerAssignedConstraint"/>
</AttrConstraint>