전문 관리 > 데이터 보안 확인 > 보안 레이블 및 계약 > 보안 레이블 구성 > 보안 레이블 구성 단계 > 단계 24. 보안 레이블에 대한 객체 초기화 규칙 정의 - 선택 사항
  
단계 24. 보안 레이블에 대한 객체 초기화 규칙 정의 - 선택 사항
* 
보안 레이블에 대한 객체 초기화 규칙을 정의하는 경우 단계 8에서 정의된 바와 같이 보안 레이블을 RuleConfigurableTypeAttribute.properties에 추가해야 합니다. 자세한 내용은 단계 8. RuleConfigurableTypeAttribute.properties에 보안 레이블 추가 - 선택 사항를 참조하십시오.
시스템에서 객체를 사용하려면 객체에 대한 보안 레이블을 적절하게 설정해야 합니다. 예를 들어, 중요한 정보가 원치 않는 대상에게 노출되지 않도록 객체를 처음 체크 인할 때 보안 레이블을 설정해야 합니다. 객체를 작성할 때 보안 레이블이 설정되지 않으면 보안 레이블이 자동으로 널 값으로 설정됩니다. 그러면 객체가 제한되지 않으므로 객체에 대한 읽기 권한이 있는 모든 사용자가 볼 수 있습니다. 널이 아닌 기본 보안 레이블 값을 사용해야 하는 경우 객체 초기화 규칙을 직접 정의해야 합니다.
일부 객체는 작성을 위한 사용자 인터페이스가 없습니다. 예를 들어, 압축된 파일로부터 문서 업로드 작업을 사용하여 작성한 문서 및 수준 올리기 공지에 대한 인터페이스가 없습니다. 이러한 객체를 제한해야 할 경우 객체를 작성할 때 적절한 보안 레이블 값이 설정되도록 객체 초기화 규칙을 정의해야 합니다.
객체 초기화 규칙을 사용하여 작성 사용자 인터페이스를 사용하는 객체 유형에 대한 기본 보안 레이블 값을 설정할 수도 있습니다. 보안 레이블을 표시할 수 있는 객체 목록은 <Windchill>/conf/exposedSecurityLabelObjects.xml 파일을 참조하십시오. 여기서 <Windchill>Windchill 솔루션이 설치된 위치입니다.
다음 속성 제약 조건을 사용하여 새 객체 창에서 보안 레이블 값을 설정할 수 있습니다.
GetHiddenConstraint: 새 객체 창에서 보안 레이블 및 보안 레이블 값을 숨깁니다.
GetDiscreteSetConstraint: 객체 초기화 규칙에 지정된 레이블 값만 드롭다운 목록에 표시합니다.
* 
사용자 정의 보안 레이블을 사용할 경우 GetDiscreteSetConstraint 속성 제약 조건으로 객체 초기화 규칙을 설정하여 사용자 정의 보안 레이블에 대해 사용자가 지정할 수 있는 값을 제한할 수 있습니다.
GetImmutableConstraint: 사용자가 표시된 값을 변경하지 못하도록 합니다.
GetServerAssignedConstraint: 레이블 이름은 표시하지만 레이블 값은 표시하지 않습니다. 해당 값의 위치에 표시되는 텍스트는 (생성됨)입니다.
GetServerPreGeneratedValue: 지정된 값을 레이블의 기본값으로 표시합니다.
객체 초기화 규칙은 객체 초기화 규칙 관리 유틸리티를 통해 작성하고 편집합니다. 다음 절차는 객체 유형에 대한 객체 초기화 규칙을 작성하거나 업데이트하는 일반적인 단계입니다. 객체 초기화 규칙 관리 유틸리티 사용에 대한 자세한 내용은 객체 초기화 규칙 테이블을 참조하십시오.
1. 규칙을 정의할 컨텍스트의 유틸리티 페이지에서 객체 초기화 규칙 관리 유틸리티를 엽니다. 모든 컨텍스트 수준에서 객체 초기화 규칙을 지정할 수 있습니다. 즉, 사이트 수준 컨텍스트에서 모든 유형의 객체에 대한 기본 규칙을 설정하고, 조직 컨텍스트 또는 특정 응용 프로그램 컨텍스트(예: 제품 또는 프로젝트)에서 다른 규칙을 지정할 수 있습니다. 예를 들어, 사이트에서 작성된 모든 문서가 기본 '회사 독점 정보' 보안 레이블 값으로 '비공개'를 갖도록 객체 초기화 규칙을 지정하고 특정 프로젝트의 모든 문서가 기본 '회사 독점 정보' 보안 레이블 값으로 '회사 기밀'을 갖도록 지정할 수 있습니다.
2. 객체 유형에 대한 규칙이 있는 경우 기존 규칙을 로컬 컴퓨터에 다운로드하고 텍스트 편집기에서 XML 파일을 엽니다. 새 규칙을 작성할 경우 기존 규칙을 다운로드하여 새 파일로 저장한 다음 새 규칙에 대한 템플릿으로 사용하는 것이 좋습니다.
3. XML 파일을 편집하여 보안 레이블에 대해 원하는 기본값을 추가합니다. 특정 컨텍스트에서는 객체별로 객체 초기화 규칙이 하나만 존재할 수 있지만, 해당 규칙은 여러 요소를 포함할 수 있습니다.
예를 들어, '수출 통제' 보안 레이블을 기본값인 '라이센스 필요 - 미국'으로 설정하고 값 목록을 표시할 때 이 값이 기본적으로 선택되도록 지정하려면 다음을 추가합니다.
<!--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>
기본 보안 레이블 값을 사용하는 알고리즘은 <Arg> 요소에 대해 설명된 대로 보안 레이블 값 이름을 포함하는 문자열을 생성해야 합니다. 예를 들어, wt.rule.algorithm.StringConstant 알고리즘을 사용할 수 있습니다.
AttrValue 요소 id 속성 값은 보안 레이블 구성 파일에 정의된 보안 레이블 이름입니다.
시스템의 각 보안 레이블에 대해 AttrValue 요소를 추가할 수 있습니다.
Arg 요소는 표준 보안 레이블의 경우 securityLabelsConfiguration.xml 파일에 지정된 보안 레이블 값 이름이고, 사용자 지정 보안 레이블의 경우 보안 레이블 값의 외부 값이어야 합니다.
4. XML 파일을 컴퓨터의 알려진 위치에 저장합니다. 원하는 경우 파일에 의미 있는 이름을 지정할 수 있습니다.
5. 기존 규칙을 편집한 경우 객체 초기화 규칙 관리 테이블의 규칙에 대한 작업 목록에서 편집을 선택합니다. 방금 편집한 XML 파일을 찾습니다.
새 규칙을 작성할 경우 새 객체 초기화 규칙 아이콘 을 클릭합니다. 객체의 이름과 유형 식별자를 입력하고 방금 편집한 XML 파일을 찾습니다.
6. 확인을 클릭합니다. 규칙이 즉시 적용됩니다. 메소드 서버를 재시작할 필요가 없습니다.
예제
다음 예는 '회사 독점 정보' 보안 레이블 예에 대한 보안 레이블 값 선택에 속성 제약 조건을 적용할 수 있는 방법을 보여 줍니다. 레이블 예 및 사용 가능한 값에 대한 자세한 내용은 회사 독점 정보 - 예제 보안 레이블 항목을 참조하십시오.
원하는 동작: 보안 레이블을 기본값으로 설정하고 사용자가 해당 값을 변경할 수 없도록 보안 레이블을 숨깁니다. 기본값이 지정되지 않으면 Null(무제한) 값이 설정됩니다.
속성 제약 조건: GetHiddenConstraint
예:
<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>
원하는 동작: 보안 레이블을 기본값으로 설정하고 해당 값을 읽기 전용으로 표시합니다.
속성 제약 조건: GetServerPreGeneratedValueGetImmutableConstraint
예:
<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"/>
<Value algorithm="com.ptc.core.rule.server.impl.
GetImmutableConstraint"/>
</AttrConstraint>
원하는 동작: 객체가 작성될 때 (생성됨)을 표시하고 값을 설정합니다.
속성 제약 조건: GetServerAssignedConstraintGetImmutableConstraint
예:
<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>
원하는 동작: 표준 보안 레이블의 경우 드롭다운 목록에 표시되는 값을 지정된 값으로 제한합니다. 사용자 정의 보안 레이블의 경우 텍스트 상자에 모든 값을 허용하지 않고 드롭다운 목록에 특정 값만 나열합니다.
속성 제약 조건: GetDiscreteSetConstraint
예:
<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>
원하는 동작: 표준 보안 레이블의 경우 드롭다운 목록에 Null(무제한) 값 외에 기본값을 표시합니다. 사용자 정의 보안 레이블의 경우 텍스트 상자에 기본값을 나열합니다.
속성 제약 조건: GetServerPreGeneratedValue
예:
<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>
원하는 동작: 여러 값을 지원하는 표준 보안 레이블의 경우 드롭다운 목록에 기본값을 설정하고 값을 읽기 전용으로 표시합니다 표준 보안 레이블에 대해 정의된 여러 값은 항상 인수 태그에서 쉼표로 구분됩니다.
속성 제약 조건: GetServerPreGeneratedValueGetImmutableConstraint
예:
<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>
원하는 동작: 여러 값을 지원하는 표준 보안 레이블의 경우 드롭다운 목록에 Null(무제한) 값 외에 기본값을 표시합니다. 표준 보안 레이블에 대해 정의된 여러 값은 항상 인수 태그에서 쉼표로 구분됩니다.
속성 제약 조건: GetServerPreGeneratedValue
예:
<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>
원하는 동작: 여러 값을 지원하는 표준 보안 레이블의 경우 객체가 작성될 때 (생성됨)을 표시하고 값을 설정합니다. 표준 보안 레이블에 대해 정의된 여러 값은 항상 인수 태그에서 쉼표로 구분됩니다.
속성 제약 조건: 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>