보안 컨텍스트를 위한 OSLCLinks 패키지 구성

권한이 없는 사용자에게 링크 숨기기 등을 위해 Rational® ClearQuest® OSLCLinks 패키지를 ClearQuest 보안 컨텍스트의 파트가 되도록 구성할 수 있습니다.

이 태스크 정보

보안 컨텍스트 시스템에 대해 작동하도록 OSLCLinks 패키지를 구성하려면 해당 패키지를 스키마에 적용한 후 추가 단계가 필요합니다.

ClearQuest 보안에 대한 자세한 정보는 보안 모델 작성을 참조하십시오.

프로시저

  1. 스키마 디자이너 권한이 있는 사용자로 packageutil setaccess 하위 명령을 실행하여 OSLCLink 레코드를 편집할 수 있게 설정하십시오. packageutil setaccess 하위 명령에 대한 명령행 시놉시스는 다음과 같습니다.

    packageutil setaccess -dbset dbset_name user_name password schema_name -record -modifiablebyothers OSLCLink

    예를 들어, 다음과 같습니다.

    packageutil setaccess –dbset 7.0.0 admin "" ALM -record -modifiablebyothers OSLCLink

    표시 출력은 다음과 유사합니다.

    --- Checked out revision 3 of schema 'ALM'
    +++ Set access policy for OSLCLink to -modifiablebyothers
    +++ Set access policy for select records, fields, and actions
  2. ClearQuest Designer에서 새 REFERENCE 필드를 OSLCLink 레코드 유형에 추가하십시오.
    1. OSLCLinks 패키지를 적용한 스키마에서 레코드 유형 – Stateless 노드를 펼치고 OSLCLink 노드를 펼치십시오.
    2. 필드 노드를 마우스 오른쪽 단추로 클릭하고 새 필드를 클릭하십시오. 새 필드 대화 상자가 열립니다.
    3. 새 필드의 이름을 입력하고 유형REFERENCE로 설정하십시오.
    4. 완료를 클릭하십시오. 새 필드에 대한 특성 탭이 열립니다.
    5. 특성 탭의 참조 정보 섹션에서 참조 대상 특성을 사용자의 보안 컨텍스트 레코드 유형으로 설정하십시오.
    6. 보안 컨텍스트 옵션을 선택하십시오.
  3. ClearQuest Designer를 계속 사용 중인 경우, 다음과 같은 OSLC_GetSecurityFieldName 글로벌 후크를 스키마에 추가하십시오.
    sub OSLC_GetSecurityFieldName
    {
        my $security_fieldname = "";
        my ($entitydef_name) = @_;
        
        # A hash table to keep security field name of each
        # entitydef, using entitydef name as the key and security
        # field name as the value.
        
        my %security_fields_hash = (
            #add entitydef and security context field pairs here
            #For example, "ALMTask"  => "SecurityPolicy"
            );
        
        if (exists $security_fields_hash{$entitydef_name}) {
            my $temp_security_fieldname = $security_fields_hash{$entitydef_name};
            if ( 
            $::session->GetEntityDef($entitydef_name)->IsSecurityContextField($temp_security_fieldname)) {
                $security_fieldname = $temp_security_fieldname;
                }
            }
        
        return $security_fieldname;
    }

    후크는 지정된 레코드 유형의 보안 컨텍스트 필드 이름을 리턴합니다.

  4. OSLCLinks 패키지를 적용한 모든 레코드 유형에 대한 레코드 유형-보안 컨텍스트 필드 쌍을 포함하도록 OSLC_GetSecurityFieldName 글로벌 후크의 %security_fields_hash 테이블을 업데이트하십시오.

    예를 들어, OSLCLinks 패키지를 ALMTask 및 ALMRequest 레코드 유형(해당 보안 컨텍스트 필드가 모두 SecurityPolicy로 이름 지정됨)에 적용하고 2단계에서 추가한 REFERENCE 필드가 oslc_SecurityPolicy로 이름 지정된 경우 %security_fields_hash 테이블은 다음과 유사합니다.

    my %security_fields_hash = (
        "OSLCLink" => "oslc_SecurityPolicy",
        "ALMTask"  => "SecurityPolicy",
        "ALMRequest" => "SecurityPolicy"
  5. 스키마 버전을 체크인하고 사용자 데이터베이스를 업그레이드하십시오.
  6. OSLCLink 레코드의 다른 파트는 변경되지 않도록 하려면 packageutil setaccess 하위 명령을 -modifiablebyowner 옵션과 함께 실행하여 편집을 사용하도록 않도록 설정하십시오. 다시 packageutil setaccess 하위 명령에 대한 명령행 시놉시스는 다음과 같습니다.

    packageutil setaccess -dbset dbset_name user_name password schema_name -record -modifiablebyothers OSLCLink

    예를 들어, 다음과 같습니다.

    packageutil setaccess –dbset 7.0.0 admin "" ALM -record -modifiablebyowner OSLCLink

    표시 출력은 다음과 유사합니다.

    --- Checked out revision 4 of schema 'ALM'
    +++ Set access policy for OSLCLink to -modifiablebyowner
    +++ Set access policy for select records, fields, and actions

피드백