Datadog Windows 에이전트 사용자

6.11.0 릴리스부터는 Windows 에이전트의 핵심 구성 요소와 APM/트레이스 구성 요소를 실행할 때 이전 버전에서 사용했던 LOCAL_SYSTEM 계정 대신 전용 사용자 계정을 사용해야 합니다. 활성화한 경우에는 라이브 프로세스 구성 요소를 LOCAL_SYSTEM 계정으로 실행할 수 있습니다.

에이전트 설치 관리자가 기본값(ddagentuser)으로 새 계정을 생성합니다. 그러나 사용자가 제공한 계정을 사용할 수도 있습니다. 설치 중 다음 그룹에 계정이 할당됩니다.

  • “성능 모니터링 사용자” 그룹 구성원이 됨
    • WMI 정보에 액세스할 때 필요
    • Windows 성능 카운터 데이터에 액세스할 때 필요
  • “이벤트 로그 읽기 권한자” 그룹 구성원이 됨

참고: 설치 관리자가 생성한 계정을 Users 그룹에 기본값으로 추가하지는 않습니다. 가끔 권한 허용 문제가 발생할 수 있습니다. 권한 허용 문제가 발생할 시 생성된 사용자를 Users 그룹에 수동으로 추가하세요.

추가로 설치 중 계정에 다음 보안 정책이 적용됩니다.

  • 네트워크에서 이 컴퓨터로 액세스 거부
  • 로컬 로그 거부
  • 원격 데스크톱 서비스를 통한 로그 거부
  • 서비스로 로그인 거부

중요: 설치 중에 로그인 권한 등의 권한이 제한되도록 계정이 수정되기 때문에 ‘진짜’ 계정이 아니라 Datadog 에이전트를 실행할 용도로만 사용하는 계정을 사용하세요.

참고: 이 페이지에 안내된 예시 명령에서 대체해야 할 변수를 <>로 표시했습니다. 예를 들어 사용자 계정이 ddagentuser이고 명령 예시에 DDAGENTUSER_NAME=<USERNAME>이 있으면 명령줄에는 DDAGENTUSER_NAME=ddagentuser를 입력해야 합니다.

참고: 7.38.0/6.38.0 릴리스부터는 설치 관리자가 그룹화된 관리형 서비스 계정(gMSA) 사용을 지원합니다. 그룹화된 관리형 서비스 계정을 지정하려면 사용자 이름 <DOMAIN>\<USERNAME> 끝에 **$**를 추가하세요.참고: 7.38.0/6.38.0 릴리스부터는 설치 관리자가 그룹화된 관리형 서비스 계정(gMSA) 사용을 지원합니다. 그룹화된 관리형 서비스 계정을 지정하려면 사용자 이름 끝에 **$**를 추가하세요. 그룹화된 관리형 서비스 계정은 설치 관리자가 생성할 수 없기 때문에 설치 이전에 존재해야 합니다.

설치

명령줄에 사용자 계정을 지정하지 않으면 설치 관리자가 이름이 ddagentuser인 로컬 사용자 계정을 생성하며, 이때 암호는 무작위로 생성됩니다.

명령줄을 통해 사용자 계정을 지정하였으나 시스템에 해당 계정이 없는 경우, 설치 관리자가 해당 계정을 생성합니다. 암호를 지정하면 해당 설치 관리자가 해당 암호를 사용하며, 지정하지 않은 경우에는 무작위로 암호를 생성합니다.

명령줄에 추가 선택 사항으로 사용자 이름과 암호를 지정하려면 msiexec 명령에 다음 속성을 전달하세요(사용자 이름과 암호 자리 표시자에 있는 괄호 <> 문자를 제거하세요).

msiexec /i ddagent.msi DDAGENTUSER_NAME=<USERNAME> DDAGENTUSER_PASSWORD=<PASSWORD>

참고: <USERNAME>은 Microsoft의 Active Directory 스키마(AD 스키마) SAM-Account-Name 속성에 맞게 [20자 이하로 설정해야 합니다.

참고: MSI 설치 관리자의 제한으로 인해 DDAGENTUSER_PASSWORD 속성에는 세미콜론 ;을 넣을 수 없습니다.

참고: 설치 후 systemwinproc 점검에 문제가 발생하는 경우, ddagentuser가 성능 모니터링 사용자와 이벤트 로그 읽기 권한자 그룹의 구성원으로 되어 있는지 확인하세요.

참고: UI 설치 관리자에서 사용자를 지정할 수 없습니다. 명령줄에서 DDAGENTUSER_NAME과 다른 파라미터를 전달하세요. 그러면 UI 설치에도 이들이 고려됩니다.

그룹 정책으로 설치

설치 관리자는 새로 생성된 사용자 계정이 서비스로 실행되도록 로컬 그룹 정책을 변경합니다. 도메인 그룹 정책에서 이를 허용하지 않으면 설치 설정이 재정의되고 사용자 계정이 서비스로 실행되도록 도메인 그룹 정책을 업데이트해야 합니다.

도메인 환경에서 설치

도메인 조인 컴퓨터

도메인 조인 컴퓨터에서는 에이전트 설치 관리자가 도메인이나 로컬에 관계 없이 사용자 제공 계정을 사용하거나 로컬 계정을 생성할 수 있습니다.

명령줄에 도메인 계정을 지정하는 경우, 설치 관리자를 실행하기 이전에 존재하는 계정이어야 합니다. 왜냐하면 도메인 컨트롤러에서만 도메인 계정을 생성할 수 있기 때문입니다.

명령줄을 통해 사용자 계정을 지정하였으나 시스템에 해당 계정이 없는 경우, 설치 관리자가 계정을 생성합니다. 암호를 지정한 경우 설치 관리자가 해당 암호를 사용하며, 지정하지 않은 경우에는 무작위로 암호를 생성합니다.

도메인 계정에서 사용자 이름을 지정하려면 DDAGENTUSER_NAME 속성을 위해 다음 형식을 사용하세요.

msiexec /i ddagent.msi DDAGENTUSER_NAME=<DOMAIN>\<USERNAME> DDAGENTUSER_PASSWORD=<PASSWORD>

<DOMAIN>은 정규화된 도메인 이름(mydomain.com 형식)이나 NETBIOS 이름(Windows 2000 이전 이름)을 사용할 수 있습니다. 백슬래시 \를 사용해 <USERNAME>과 구별해야 합니다.

참고: <USERNAME>은 Microsoft의 Active Directory 스키마(AD 스키마) SAM-Account-Name 속성에 맞게 [20자 이하로 설정해야 합니다.

참고: MSI 설치 관리자의 제한으로 인해 DDAGENTUSER_PASSWORD 속성에는 세미콜론 ;을 넣을 수 없습니다.

도메인 컨트롤러

주 도메인 컨트롤러 및 백업 도메인 컨트롤러

도메인 컨트롤러에 에이전트를 설치할 때는 로컬 사용자라는 개념이 없습니다. 따라서 설치 관리자가 사용자 계정을 생성할 때 로컬 사용자가 아니라 도메인 사용자가 됩니다.

명령줄을 통해 사용자 계정을 지정하였으나 시스템에 해당 계정이 없는 경우, 설치 관리자가 계정을 생성합니다. 설치를 완료하려면 암호를 지정해야 합니다.

지정한 사용자 계정이 상위 도메인에서 온 경우, 설치 관리자가 해당 사용자 계정을 사용합니다. 설치 전에 상위 도메인에 사용자 계정이 있는지 확인하세요. 설치 관리자는 절대 상위 도메인에 사용자 계정을 생성하지 않습니다.

읽기 전용 도메인 컨트롤러

읽기 전용 도메인 컨트롤러에 설치 시에는 설치 관리자가 기존 도메인 계정만 사용할 수 있습니다.

Chef로 설치

Chef 및 공식 datadog 쿡북을 사용해 Windows 호스트에 에이전트를 배포하는 경우, 에이전트의 구성 파일에 올바른 권한이 있도록 쿡북 2.18.0 상위 버전을 사용하세요.

업그레이드

에이전트 버전 < 7.25.0이면서 사용자 이름을 제공한 도메인 컨트롤러나 호스트에서 Datadog 에이전트를 업그레이드하는 경우, DDAGENTUSER_NAME을 제공해야 하나 DDAGENTUSER_PASSWORD는 제공하지 말아야 합니다.

에이전트 버전 7.25.0부터 설치 관리자가 에이전트를 설치할 때 사용된 사용자 이름을 유지했다가 업그레이드할 때 다시 사용합니다. DDAGENTUSER_NAME을 사용해 저장된 값을 재정의할 수 있습니다.

에이전트 통합

일반 권한

LOCAL_SYSTEM에서 ddagentuser로 부드럽게 전환되도록 최선을 다했습니다. 그러나 에이전트를 설치한 후 특정 구성을 수정해야 해결되는 문제가 발생할 수 있습니다. 이 문제는 Windows 에이전트가 이전에 관리자 권한으로 실행되었으나 새 에이전트에서는 이 권한이 없어 발생합니다.

예를 들어 디렉터리 점검에서 특정 접근 권한이 있는 디렉터리를 모니터링하고 있을 경우(예: 관리자 그룹 읽기 접근 권한이 있는 구성원만 허용), 기존 에이전트에서는 LOCAL_SYSTEM에 관리자 권한이 있었기에 모니터링이 가능했습니다. 그러나 업그레이드 후에는 관리자가 해당 액세스 컨트롤 목록에 ddagentuser를 추가해야 디렉터리 점검을 실행할 수 있습니다.

참고: Windows Server OS의 경우, DHCPServer 서비스의 특별 ACL 때문에 Windows Serivce 통합에서 DHCP Server 서비스를 점검할 수 없습니다. 따라서 점검을 하면 UNKNOWN을 반환합니다.

참고: 에이전트의 Logs Collection에서 모니터링하는 로그 파일에도 이와 같은 사항이 적용됩니다.

JMX 기반 통합

에이전트의 JMXFetch가 연결 API를 통해 모니터링되는 JVM과 연결되도록 구성된 경우 ddagentuser로 변경하면 JMX 기반 통합에 영향을 줍니다. 다음 예시를 참고하세요.

  1. 다음과 같은 JMX 기반 통합을 사용하는 경우

  2. 그리고 hostport 설정 대신 process_name_regex를 사용해 통합을 구성한 경우.

연결 API를 사용하는 경우, 사용자 컨텍스트를 변경하면 에이전트의 JMXFetch가 ddagentuser 사용자 컨텍스트에서 실행되는 경우에만 JVM에 연결할 수 있습니다. 대부분의 경우 대상 JVM에서 JMX Remote를 활성화하여 JMXFetch가 JMX Remote를 사용하도록 바꾸고 hostport를 사용해 JMX 통합을 구성하는 것이 좋습니다. 더 자세한 정보는 JMX 설명서를 참고하세요.

프로세스 점검

v6.11에서는 에이전트가 Local System 대신 ddagentuser로 실행됩니다. 이 때문에 에이전트가 다른 사용자가 실행하는 프로세스의 명령줄 전체에 액세스할 수 없고 다른 사용자의 프로세스를 사용하는 사용자에게 접근할 수 없습니다. 이로 인해 다음 점검 옵션이 작동하지 않습니다.

  • false로 설정된 exact_match
  • 특정 사용자에게 소속된 프로세스를 선택할 수 있는 user

이전 작동 방식과 같이 Local System으로 에이전트를 실행하려면(권장하지 않음) 관리자 콘솔을 열고 명령 sc.exe config "datadogagent" obj= LocalSystem을 실행합니다. 또는 서비스 관리자를 열고 DataDog 에이전트 > 속성으로 이동해 로그온을 Local System으로 지정하세요.

Cassandra Nodetool 통합

Cassandra Nodetool 통합을 계속해서 사용하려면 환경에 다음 변경 사항을 적용하세요.

  • ddagentuser에 Nodetool 설치 디렉터리 접근 권한을 부여합니다.
  • Nodetool 설치 디렉터리의 환경 변수를 Nodetool 설치를 실행하는 사용자에만 국한하는 대신 시스템 전체 변수로 설정(CASSANDRA_HOMEDSCINSTALLDIR)합니다.

보안 로그 채널

Datadog Win 32 이벤트 로그 통합을 사용하는 경우, 이벤트 로그 읽기 권한자 그룹에 Datadog 사용자인 ddagentuser를 추가해야만 보안 로그 채널에서 로그를 수집할 수 있습니다.

  1. Windows+R 핫키를 사용해 실행을 열고 compmgmt.msc를 입력합니다.
  2. 시스템 도구 -> 로컬 사용자 및 그룹 -> 그룹으로 이동합니다.
  3. 이벤트 로그 읽기 권한자를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
  4. 추가를 클릭하고 ddagentuser -> 이름 확인을 입력합니다.
  5. 확인을 클릭하고 적용을 누릅니다.