DCManager - 전역

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기7분
  • DCManager API를 사용하면 유형별로 데이터를 그룹화할 수 있습니다.

    이 API를 사용하여 다음을 수행할 수 있습니다.
    • 기존 딕셔너리 항목에 데이터 분류를 할당합니다.
    • 특정 딕셔너리 항목에 대한 데이터 분류를 조회합니다.
    • 특정 딕셔너리 항목과 연결된 모든 데이터 분류를 제거합니다.
    • 현재 도메인에서 사용할 수 있는 모든 데이터 분류의 목록을 조회합니다.

    이 API에는 데이터 분류 [com.glide.data_classification] 플러그인이 필요합니다.

    자세한 내용은 데이터 분류를 참조하십시오.

    DCManager - classify(문자열 dictEntries, 문자열 dataClasses)

    사전 정의 또는 사용자 정의 데이터 분류를 기존 딕셔너리 항목에 할당합니다.

    관리자 또는 data_classification_admin 역할이 필요합니다.

    표 1. 매개변수
    이름 유형 설명
    dictEntries (딕셔너리) 문자열 분류하려는 기록의 sys_ids입니다. sys_ids은 딕셔너리 [sys_dictionary] 테이블에서 가져온 것입니다. 문자열로 묶인 쉼표로 구분된 목록으로 입력됩니다.
    dataClasses (데이터 클래스) 문자열 할당할 데이터 분류의 sys_ids입니다. sys_ids은 데이터 분류 [data_classification] 테이블에서 가져온 것입니다. 문자열로 묶인 쉼표로 구분된 목록으로 입력됩니다.
    표 2. 반환
    유형 설명
    문자열 작업의 결과를 설명하는 메시지입니다.

    이 예에서는 주민등록번호가 포함된 레코드를 찾아 기밀로 분류합니다.

    var dcm = new SNC.DCManager();
    var confidentialClass = {};
    var ssnFields = [];
    var dataClasses = JSON.parse(dcm.getAllDataClasses());
    
    // Get the Confidential data class record
    dataClasses.forEach(function (dataClass) {
      if (dataClass.name == "Confidential")
        confidentialClass = dataClass;
    });
    
    // Find fields that seem to be strong social security numbers
    var dictionaryGR = new GlideRecord("sys_dictionary");
    dictionaryGR.addQuery("element", "ssn").addOrCondition("element", "social_security_number");
    dictionaryGR.query();
    while (dictionaryGR.next())
      ssnFields.push(dictionaryGR.getUniqueValue());
    
    // Classify any found entries as Confidential
    if (ssnFields.length > 0)
      dcm.classify(ssnFields.join(), confidentialClass.sys_id);
    
    출력:
    "Successfully stored the data classification configurations"

    DCManager - clearClassification(문자열 dictEntries)

    지정된 딕셔너리 항목에 대한 모든 데이터 분류를 제거합니다.

    관리자 또는 data_classification_admin 역할이 필요합니다.

    표 3. 매개변수
    이름 유형 설명
    dictEntries (딕셔너리) 문자열 분류를 제거하려는 기록의 sys_ids입니다. sys_ids은 딕셔너리 [sys_dictionary] 테이블에서 가져온 것입니다. 문자열로 묶인 쉼표로 구분된 목록으로 입력됩니다.
    표 4. 반환
    유형 설명
    문자열 작업의 결과를 설명하는 메시지입니다.

    이 예제에서는 사전 항목에 대한 데이터 분류를 제거합니다.

    var dcm = new SNC.DCManager();
    gs.info(dcm.clearClassification("445de0a6dba30300efc57416bf9619b0"));
    

    출력:

    "Classifications removed for the specified dictionary entries"

    DCManager - getAllDataClasses()

    현재 도메인에서 사용할 수 있는 모든 데이터 분류의 목록을 반환합니다.

    admin, data_classification_admin 또는 data_classification_auditor 역할이 필요합니다.

    표 5. 매개변수
    이름 유형 설명
    없음
    표 6. 반환
    유형 설명
    <배열>

    요청의 결과입니다. 사용 가능한 각 데이터 분류의 sys_id과 이름을 반환합니다. 데이터 분류가 없으면 빈 배열을 반환합니다.

    데이터 분류는 상위-하위 관계로 구성할 수 있습니다. 상위 데이터 분류가 있는 경우 결과에서 식별됩니다.

    데이터 유형: 배열

    [
      {
        "parent": {Object},
        "sys_id": "String",
        "name": "String"
      }
    ]
    <Array>.parent 상위 데이터 분류에 대한 항목입니다.

    데이터 유형: 객체

    "parent": {
      "sys_id": "String",
      "name": "String"
    }
    <배열>.parent.sys_id 데이터 분류 [data_classification] 테이블의 상위 데이터 분류 Sys_id입니다.

    데이터 유형: 문자열

    <Array>.parent.name 상위 데이터 분류의 이름입니다.

    데이터 유형: 문자열

    <배열>.sys_id 데이터 분류 [data_classification] 테이블의 데이터 분류 Sys_id입니다.

    데이터 유형: 문자열

    <배열>.이름 데이터 분류의 이름입니다.

    데이터 유형: 문자열

    이 예제에서는 사용 가능한 모든 데이터 분류의 목록을 검색합니다.

    var dcm = new SNC.DCManager();
    gs.info(dcm.getAllDataClasses());
    

    출력:

    [
      {
        "parent": {
          "sys_id": "a9670fc773fc1010ae8dd21efaf6a735",
          "name": "Confidential"
        },
        "sys_id": "348107b951d71010f877f3f178e7dd0d",
        "name": "Personally identifiable information"
      },
      {
        "sys_id": "a9670fc773fc1010ae8dd21efaf6a735",
        "name": "Confidential"
      },
      {
        "sys_id": "59b7070b73fc1010ae8dd21efaf6a764",
        "name": "Restricted"
      },
      {
        "sys_id": "11d60fc773fc1010ae8dd21efaf6a744",
        "name": "Internal"
      },
      {
        "sys_id": "f5b4cf4773fc1010ae8dd21efaf6a766",
        "name": "Public"
      }
    ]

    DCManager - getClassification(문자열 dictEntries)

    지정된 딕셔너리 항목에 대한 모든 데이터 분류를 검색합니다.

    표 7. 매개변수
    이름 유형 설명
    dictEntries (딕셔너리) 문자열 분류를 검색할 기록의 sys_ids입니다. sys_ids은 딕셔너리 [sys_dictionary] 테이블에서 가져온 것입니다. 문자열로 묶인 쉼표로 구분된 목록으로 입력됩니다.
    표 8. 반환
    유형 설명
    <Object>

    연결된 데이터 클래스의 배열과 함께 각 사전 항목의 sys_id 포함하는 JSON 객체입니다. 연결된 데이터 분류가 없는 경우 작업 결과를 설명하는 메시지를 반환합니다.

    데이터 분류는 상위-하위 관계로 구성할 수 있습니다. 상위 데이터 분류가 있는 경우 결과에서 식별됩니다.

    데이터 유형: 객체

    {
      <sys_dictionary_sys_id>: [
        {
          "parent": {Object},
          "sys_id": "String",
          "name": "String"
        }
      ]
    }
    
    <Object>.부모 상위 데이터 분류에 대한 항목입니다.

    데이터 유형: 객체

    "parent": {
      "sys_id": "String",
      "name": "String"
    }
    <Object>.parent.sys_id 데이터 분류 [data_classification] 테이블의 상위 데이터 분류 Sys_id입니다.

    데이터 유형: 문자열

    <Object>.parent.name 상위 데이터 분류의 이름입니다.

    데이터 유형: 문자열

    <Object>.sys_id 데이터 분류 [data_classification] 테이블의 데이터 분류 Sys_id입니다.

    데이터 유형: 문자열

    <Object>.이름 데이터 분류의 이름입니다.

    데이터 유형: 문자열

    이 예제에서는 사전 항목에 대한 데이터 분류를 검색합니다.

    var dcm = new SNC.DCManager();
    gs.info(dcm.getClassification("445de0a6dba30300efc57416bf9619b0"));
    

    출력:

    {
      "445de0a6dba30300efc57416bf9619b0": [
        {
          "parent": {
            "sys_id": "a9670fc773fc1010ae8dd21efaf6a735",
            "name": "Confidential"
          },
          "sys_id": "348107b951d71010f877f3f178e7dd0d",
          "name": "Personally identifiable information"
        }
      ]
    }