푸시 기반 검색과 SAM을 함께 사용하기

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기9분
  • 가시성용 에이전트 클라이언트 수집기 - 콘텐츠 (ACC-VC)는 SAM 플러그인이 설치된 경우 (SAM)의 소프트웨어 자산 관리 사용 사례에 대해 설치된 소프트웨어 데이터를 수집합니다. 푸시 기반 디스커버리와 SAM을 함께 사용하면 SAM 기본 미터링 및 SAM 총 사용량 메트릭과 함께 소프트웨어 데이터 수집으로 소프트웨어 지출을 최적화하는 데 도움이 됩니다. 일부 소프트웨어 에디션 정보를 검색할 수도 있습니다.

    ACC-VC는 푸시 기반 검색을 통해 대상에 설치된 소프트웨어 또는 애플리케이션에 마지막으로 액세스한 시간을 캡처할 수 있습니다. 이 정보는 대상 CI 참조와 함께 소프트웨어 업데이트 [samp_sw_usage] 테이블에 추가됩니다.

    ACC-VC 버전 2.2.0부터 및 macOS에 대해 Windows SAM 기본 미터링이 지원됩니다.

    ACC-VC 버전 3.3.0부터 및 macOS에 대해 Windows SAM 총 사용 메트릭이 지원됩니다.

    소프트웨어 사용 기록은 도메인으로 분리됩니다. 기록은 대상에 대한 에이전트 기반 디스커버리에 사용되는 MID 서버의 도메인에 계속 남아 있습니다.

    주:
    소프트웨어 설치(cmdb_sam_sw_install)의 경우 중복 기록이 삽입되는 것을 방지하기 위해 푸시 기반 디스커버리와 수평 IP 기반 디스커버리 모두에 대해 동일한 검색 소스 "ServiceNow"가 사용되고 있습니다.

    요구 사항

    SAM 기본 미터링 및 SAM 총 사용량 메트릭
    SAM 기본 미터링 및 SAM 총 사용량 메트릭의 경우, 에이전트 서비스가 로그온하는 권한이 없는 ServiceNow 사용자(현재 사용자)는 레지스트리에서 READ 전용 액세스 권한으로 구성해야 합니다. 이 액세스 권한은 UserAssist 테이블과 대조하여 OSQuery를 성공적으로 실행할 수 있도록 해 줍니다. regedit으로 이동하여 ServiceNow 사용자가 다른 모든 사용자 계정에 대해 UserAssist를 읽을 수 있도록 합니다(예: HKEY_USERS의 모든 사용자에 대해 HKEY_USERS\SID...\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist).
    주:
    UserAssist 키는 HKEY_USERS\SID... 상위 키에서 권한을 상속하지 않습니다. 따라서 UserAssist 키로 이동하여 키에 직접 권한을 추가해야 합니다.
    SAM 기본 미터링 또는 SAM 총 사용량 메트릭을 적용하려면 다음이 필요합니다.
    • SAM 플러그인(com.snc.samp)이 활성화되어 있을 것
    • 시스템 속성 [sn_acc_vis_content.persist_sam_usage_metrics]이 true로 설정되어 있을 것. 자세한 내용은 시스템 속성을 참조하십시오.

    에이전트 클라이언트 수집기사용한 SAM 미터링 설정에 대한 자세한 내용은 지식베이스 문서 KB1642676 참조하십시오.

    소프트웨어 에디션 정보
    소프트웨어 에디션 정보를 검색하려면 SAM 플러그인(com.snc.samp)이 활성화되어 있어야 합니다.

    SAM 기본 미터링

    주:
    Windows 운영 체제 수준에서 적절한 데이터 탐지를 허용하지 않는 구성이 있습니다. ACC-VC 에이전트가 데이터를 성공적으로 수집하고 플랫폼으로 ServiceNow 올바르게 가져올 수 있도록 구성을 업데이트합니다. 레지스트리 편집기에서 경로에 다음 키를 만듭니다. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced.
    • 이름: Start_TrackProgs
      • 기본: 16진수
      • 값:1
    • 이름: Start_TrackProgsBase
      • 기본: 16진수
      • 값:1
    그림 1. SAM 기본 미터링 흐름도

    페이로드의 소프트웨어 목록의 경우, 소프트웨어 검색 모델 [cmdb_sam_sw_discovery_model] 테이블을 쿼리하여 해당 제품 및 게시자를 가져옵니다. 제품을 가져오면 해당 제품에 대해 재생 규칙이 활성화되어 있어 소프트웨어 사용 [samp_sw_usage] 테이블에 마지막 사용 정보가 유지되는지 확인합니다. 자세한 내용은 흐름도를 참조하십시오.

    기본 미터링을 위해 ACC-VC로 SAM이 작동하는 플로우 설명
    주:
    대상에서 애플리케이션 또는 소프트웨어 이름을 쿼리의 입력 값으로 사용하여 OSQuery를 통해 마지막으로 액세스한 시간을 UserAssist 테이블에서 쿼리합니다.
    sn_acc_vis_content.disable_sam_reclamation_rules_for_licensable_softwares 속성을 사용하여 다음과 같이 라이선스 가능 소프트웨어에 대한 재생 규칙을 정의합니다.
    • True: 라이센스 가능 소프트웨어에 대한 재생 규칙 호출을 비활성화합니다. SAM은 모든 라이센스 가능 소프트웨어와 정의된 재생 규칙이 있는 라이센스 불가능 소프트웨어에 대해 계속 사용됩니다.
    • False: 정의된 재생 규칙에 따라 SAM 사용량을 저장합니다.
    지원되는 공통 애플리케이션은 다음과 같습니다.
    • WinZip
    • Google Chrome
    • Sublime Text
    • Notepad++
    • Autodesk
    • Microsoft Office 365
    • Tableau

    SAM 총 사용 메트릭

    SAM 총 사용 메트릭을 통해 소프트웨어 재생 규칙이 활성화된 모든 애플리케이션의 총 사용 시간과 총 사용 횟수를 측정할 수 있습니다.

    Osquery는 Osqueryd라고 하는 서비스로 실행할 수 있는 디먼 실행 파일을 제공합니다. SAM 총 사용 메트릭이 제대로 작동하려면 Osqueryd를 수동으로 배포해야 합니다. 각 Osqueryd 배포에는 서비스를 시작할 때 제공되는 osquery.conf 파일, 선택적 외부 팩 및 초기화 플래그(osquery.flags 파일에 구성됨)가 필요합니다. 대신에 디먼 서비스는 호스트에서 예약된 쿼리를 실행하여 로컬 파일 시스템에 로깅합니다.

    주:
    Osquery는 기본적으로 파일 시스템 기반 로깅을 지원합니다. 이 구성은 새로운 Osquery 설치의 osquery.conf 파일에 제공됩니다.

    데이터 수집 중에 도메인 정보를 수집할 수 있습니다. 이렇게 하면 여러 직원 디렉터리를 보유한 대규모 조직이 소프트웨어를 올바른 사용자에게 매핑할 수 있습니다. 현재 이는 Windows에만 지원됩니다. 도메인 분리 환경에서 소프트웨어 사용량/할당 대상을 올바른 사용자와 매핑하려면 시스템 속성 [sn_acc_vis_content.column_name_for_user_mapping]을 올바른 필드 이름으로 사용합니다. 기본적으로 이 시스템 속성의 값은 비어 있으므로 도메인이 아닌 사용자 이름만 확인합니다. 사용자 이름 및 도메인을 확인하려면 username@domain 또는 domain\username 형식 중 하나를 사용할 수 있습니다.

    그림 2. SAM 총 사용 메트릭 흐름도

    프로세스 목록을 사용하여 SAM 정규화를 수행하여 설치된 관련 소프트웨어 레코드의 프로세스를 매핑할 수 있습니다. 설치된 소프트웨어 이름과 프로세스가 일반적으로 동일하지 않기 때문에 이를 통해 유연성을 얻을 수 있습니다. 페이로드의 프로세스 목록의 경우, 소프트웨어 검색 모델 [cmdb_sam_sw_discovery_model] 테이블 및 소프트웨어 제품 [samp_sw_product] 테이블을 쿼리하여 해당 제품 및 게시자를 가져옵니다. 제품을 가져오면 해당 제품에 대해 재생 규칙이 활성화되어 있어 소프트웨어 사용 [samp_sw_usage] 테이블에 총 사용 시간이 유지되는지 확인합니다. 자세한 내용은 흐름도를 참조하십시오.

    총 사용 미터링을 위해 ACC-VC로 SAM이 작동하는 플로우 설명
    다음 스크립트를 사용하여 Windows에 대한 Osqueryd를 설치하고 구성합니다.
    # Install latest osquery
    
    $msi = "osquery-5.7.0.msi"
    $url = "https://pkg.osquery.io/windows/$msi"
    $dst = "$PSScriptRoot\$msi"
    Invoke-WebRequest -Uri $url -OutFile $dst
    # msiexec /i "$dst" /quiet /qn /norestart
    Start-Process msiexec.exe -Wait "/i $dst /quiet /qn /norestart"
    
    # Configure osqueryd service
    
    $flags = "--logger_rotate=true
    --logger_rotate_size=26214400
    --logger_rotate_max_files=1
    --watchdog_level=-1
    --config_path=C:\Program Files\osquery\osquery-sam.conf"
    Set-Content -Path 'C:\Program Files\osquery\osquery.flags.default' -Value "$flags"
    
    $conf = @'
    {
      "options": {
        "config_plugin": "filesystem",
        "logger_plugin": "filesystem",
        "utc": "true"
      },
      "schedule": {
        "sam_process_info": {
          "query": "SELECT name, pid, elapsed_time, start_time, user_time, system_time, username FROM processes p JOIN users u ON u.uid = p.uid WHERE p.elapsed_time != -1 AND u.type != 'special';",
          "snapshot" : true,
          "interval": 300
        },
        "system_info": {
          "query": "SELECT hostname, cpu_brand, physical_memory FROM system_info;",
          "interval": 3600
        }
      },
      "decorators": {
        "load": [
          "SELECT uuid AS host_uuid FROM system_info;",
          "SELECT user AS username FROM logged_in_users ORDER BY time DESC LIMIT 1;"
        ]
      },
      "packs": {
      }
    }
    '@
    Set-Content -Path 'C:\Program Files\osquery\osquery-sam.conf' -Value "$conf"
    
    cd 'C:\Program Files\osquery'
    .\manage-osqueryd.ps1 -uninstall
    .\manage-osqueryd.ps1 -install
    Restart-Service osqueryd
    
    

    WindowsmacOS에 대한 자세한 내용은 SAM 총 사용량 메트릭에 대한 Osqueryd 일정 구성SAM 총 사용 메트릭에 대한 Osqueryd 로그 구성 문서를 참조하십시오.

    소프트웨어 에디션 정보

    ACC-VC 버전 2.3.0부터 Adobe Acrobat 및 MS SQL Server에 대한 에디션 정보가 지원됩니다. 향후 릴리스에서는 추가 소프트웨어가 지원됩니다. 이 기능을 사용하면 SAM 관리자가 설치된 소프트웨어의 에디션을 명확하게 파악할 수 있습니다. Osquery 명령은 에디션 재정의 열의 소프트웨어 설치 [cmdb_sam_sw_install] 테이블에 표시되는 에디션 정보를 가져오는 데 사용됩니다. 자세한 내용은 다음 지원 KB를 참조하십시오. https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0721360