푸시 기반 Discovery와 SAM을 함께 사용하기

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기8분
  • SAM 플러그인이 설치되면 ACC-V는 소프트웨어 자산 관리(SAM)를 사용할 경우에 대비하여 설치된 소프트웨어 데이터를 수집합니다. 푸시 기반 검색와 SAM을 함께 사용하면 SAM 기본 미터링 및 SAM 총 사용량 메트릭과 함께 소프트웨어 데이터 수집으로 소프트웨어 지출을 최적화하는 데 도움이 됩니다. 일부 소프트웨어 에디션 정보를 검색할 수도 있습니다.

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

    ACC-V 버전 2.2.0부터 WindowsmacOS에 대해 SAM 기본 미터링이 지원됩니다.

    ACC-V 버전 3.3.0부터 WindowsmacOS에 대해 SAM 총 사용량 메트릭이 지원됩니다.

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

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

    요구 사항

    SAM 기본 미터링 및 SAM 총 사용량 메트릭

    SAM 기본 미터링 및 SAM 총 사용량 메트릭의 경우 권한이 없는 사용자는 레지스트리에서 읽기 전용 액세스 권한으로 구성되어야 합니다. 이 액세스 권한은 UserAssist 테이블과 대조하여 OSQuery를 성공적으로 실행할 수 있도록 해 줍니다. 레지스트리로 이동하여 ServiceNow 사용자가 관리자 계정에 대한 UserAssist(예: \\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist for every user in HKEY_USERS)를 읽도록 허용하십시오.

    SAM 기본 미터링 또는 SAM 총 사용량 메트릭을 적용하려면 다음이 필요합니다.
    • SAM 플러그인(com.snc.samp)이 활성화되어 있을 것
    • 시스템 속성 [sn_acc_visibility.persist_sam_usage_metrics]이 true로 설정되어 있을 것. 자세한 내용은 시스템 속성을 참조하십시오.
    소프트웨어 에디션 정보
    소프트웨어 에디션 정보를 검색하려면 SAM 플러그인(com.snc.samp)이 활성화되어 있어야 합니다.

    SAM 기본 미터링

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

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

    기본 미터링을 위해 ACC-V로 SAM이 작동하는 플로우 설명
    주:
    대상에서 애플리케이션 또는 소프트웨어 이름을 쿼리의 입력 값으로 사용하여 OSQuery를 통해 마지막으로 액세스한 시간을 UserAssist 테이블에서 쿼리합니다.
    sn_acc_visibility.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_visibility.advance_metering_user_mapping_field]를 올바른 필드 이름으로 사용합니다. 기본적으로 이 시스템 속성의 값은 비어 있으므로 도메인이 아닌 사용자 이름만 확인합니다. 사용자 이름 및 도메인을 확인하려면 username@domain 또는 domain\username 형식 중 하나를 사용할 수 있습니다.

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

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

    총 사용 미터링을 위해 ACC-V로 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-V 버전 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