`audit enable` — 감사 장치 활성화하기

audit enable — 감사 장치 활성화하기

새 감사(audit) 장치를 활성화해요.

$ vault audit enable [flags] <device_type> [options] [<config_argument=value>...]

$ vault audit enable [-help | -h]

출처: 문서

본문

설명 (Description)

audit enable은 주어진 경로에 감사 장치를 생성·활성화하며, 그 경로에 이미 감사 장치가 존재하면 오류를 반환해요. 장치 설정 파라미터는 감사 장치 타입에 따라 달라져요.

관련 API 엔드포인트:

  • EnableAuditDevice — POST:/sys/audit/{mount-path}

커맨드 인자 (Command arguments)

device_type (enum: <필수>)

생성할 감사 장치 타입이에요.

각 감사 장치 타입에는 일련의 설정 인자도 있어요.

file 타입:

$ vault audit enable [flags] file [options] \
    file_path=<path/to/log/file>            \
    [mode=<file_permissions>]
  • file_path (string: <필수>) — Vault 서버의 감사 로그 위치. 예: file_path='/logs/kv-audit.log'
  • mode (string: "0600") — 감사 파일의 chmod 스타일 8진 권한. "0000"으로 설정하면 Vault가 파일 모드를 수정하지 못하게 한다. 파일 감사 장치는 실행 권한이 있는 파일 모드(예: 0777, 0755)를 쓸 수 없다. 예: mode="0644"

socket 타입:

$ vault audit enable [flags] socket [options] \
    [address=<server_address>]                \
    [socket_type=<protocol>]                  \
    [write_timeout=<wait_time>]
  • address (string: "") — 서버 IP와 포트 또는 로컬 경로로 된 소켓 위치. 예: address="/tmp/audit.sock"
  • socket_type (string: "tcp") — 소켓이 기대하는 통신 프로토콜. Vault는 모든 net.Dialer 호환 소켓에 쓸 수 있다. TCP 소켓이 응답을 멈추면 감사 장치 블록 오류로 인해 Vault가 응답하지 않게 될 수 있다. 예: socket_type="udp"
  • write_timeout (string: "2s") — 소켓을 통해 쓰기가 완료될 때까지 Vault가 기다리는 초 단위 기간. 0으로 설정하면 타임아웃을 비활성화해서 쓰기가 완료될 때까지 항상 기다린다. 예: write_timeout=0

syslog 타입:

$ vault audit enable [flags] syslog [options] \
    [facility=<process_entry_source>]         \
    [tag=<program_entry_source>]
  • facility (string: "AUTH") — syslog 항목을 생성한 프로세스(syslog facility). 예: facility="AUTO-AUTH"
  • tag (string: "vault") — syslog 항목을 생성한 프로그램. 예: tag="vault-agent"

커맨드 옵션 (Command options)

  • elide_list_responses (bool: false) — 감사 기록 크기를 줄이기 위해 response.data.keysresponse.data.key_info의 세부 정보를 항목 수로 바꿔요. List 응답 본문 eliding에 대한 자세한 내용을 참고하세요. 예: elide_list_responses=true
  • exclude (string: "") Enterprise — 감사 장치에 쓰기 전에 제공된 제외 필터 규칙과 일치하는 필드를 감사 항목에서 제거해요. 예: exclude='[{ "condition": "/request/mount_type" == transit", "fields": [ "request/data" ] }]'
    • 팁: exclude 규칙을 JSON 파일로 작성하고 @ 표기를 사용해 넘길 수 있어요: $ vault audit enable [email protected] file file_path="/var/logs/vault/audit.log"
  • fallback (bool: false) Enterprise — 감사 장치가 필터링 목적의 폴백(fallback)이에요. Vault는 한 번에 폴백 감사 장치 하나만 지원해요. 예: fallback=true
  • filter (string: "") Enterprise — 제공된 필터 표현식과 일치하는 감사 로그 항목만 감사 장치에 기록해요. 예: filter='mount_type == "kv-v2"'
  • format (enum: json) — 제공된 형식으로 감사 로그 항목을 기록해요. 예: format=jsonx
  • hmac_accessor (bool: true) — 감사 장치에 쓰기 전에 모든 토큰 액세서(accessor) 데이터를 해시해요. 예: hmac_accessor=false
  • log_raw (bool: false) — 감사 장치에 쓰기 전에 모든 민감한 보안 정보를 해시해요. 예: log_raw=true
  • prefix (string: "") — 감사 장치에 쓸 때 각 로그 항목 앞에 제공된 문자열을 붙여요. 예: prefix="KV Request :: "

커맨드 플래그 (Command flags)

  • -description (string: "") — 감사 장치의 목적을 설명하는 사람 친화적인 문자열. 예: -description "KV request auditing"
  • -local (bool: false) — 감사 장치가 Vault 서버 로컬에 있고 복제에서 무시됨을 나타내요. 예: -local
  • -path (string: "/<device_type>") — Vault가 감사 장치에 접근하는 내부 경로. 감사 장치 경로는 모든 감사 장치에서 유일해야 해요. 예: -path "/audit/kv-file"

표준 플래그 (Standard flags)

모든 명령어에 공통으로 포함된 표준 플래그 목록이에요.

  • -address / VAULT_ADDR (string: 'https://127.0.0.1:8200') — Vault 서버 주소.
  • -agent-address / VAULT_AGENT_ADDR (string: "") — 사용한다면 Vault Agent 주소.
  • -ca-cert / VAULT_CACERT (string: "") — 서버 SSL 인증서 검증에 쓰는 PEM 인코딩 CA 인증서 파일 경로. -ca-path보다 우선해요.
  • -ca-path / VAULT_CAPATH (string: "") — 서버 SSL 인증서 검증에 쓰는 PEM 인코딩 CA 인증서 파일들이 있는 디렉터리 경로.
  • -client-cert / VAULT_CLIENT_CERT (string: "") — 서버와의 TLS 통신에 쓰는 PEM 인코딩 CA 인증서 파일 경로. -client-key로 지정한 개인 키와 일치해야 해요.
  • -client-key / VAULT_CLIENT_KEY (string: "") — -client-cert로 설정한 클라이언트 인증서와 일치하는 PEM 인코딩 개인 키 경로.
  • -disable-redirects / VAULT_DISABLE_REDIRECTS (bool: false) — 기본 CLI 리다이렉트 동작을 비활성화. 주의: 리다이렉트를 쓰는 일부 명령어가 오작동할 수 있음.
  • -header (string: "") — CLI 요청의 선택적 HTTP 헤더 "<key>=<value>". 사용자 정의 헤더는 X-Vault-로 시작할 수 없음.
  • -mfa / VAULT_MFA (string: "") — mfa_method_id:passcode 형식의 MFA 자격증명.
  • -namespace / -ns / VAULT_NAMESPACE (string: ) — CLI 명령의 루트 네임스페이스.
  • -non-interactive (bool: false) — 터미널 입력을 요청하지 않게 한다.
  • -output-curl-string (bool: false) — 실행에 필요한 API 호출을 cURL 문자열로 출력하고 종료한다.
  • -output-policy (bool: false) — 실행에 필요한 Vault 정책을 HCL로 출력하고 종료한다.
  • -policy-override (bool: false) — enforcement_level"soft-mandatory"인 Sentinel 정책을 무시한다.
  • -tls-server-name / VAULT_TLS_SERVER_NAME (string: "") — TLS 연결의 SNI 호스트 이름.
  • -tls-skip-verify / VAULT_SKIP_VERIFY (bool: false) — 모든 TLS 인증서 검증을 비활성화. 신중히 사용.
  • -unlock-key (string: ) — 주어진 네임스페이스의 기본 API 엔드포인트를 잠금 해제하는 평문 키.
  • -wrap-ttl / VAULT_WRAP_TTL (string: "") — CLI 응답을 래핑하는 Cubbyhole 토큰의 기본 TTL.

예시 (Examples)

기본 경로 file/에 file 타입 감사 장치를 활성화해요:

$ vault audit enable file file_path=/tmp/my-file.txt
Success! Enabled the file audit device at: file/

audit/file 경로에 file 타입 감사 장치를 활성화해요:

$ vault audit enable -path=audit/file file file_path=/tmp/my-file.txt
Success! Enabled the file audit device at: audit/file/

기본 경로 file/에 로컬 감사 장치를 활성화해요:

$ vault audit enable -local file file_path=/tmp/my-file.txt
Success! Enabled the file audit device at: file/

더 알아보기 (Learn more)

  • vault audit disable — 감사 장치 비활성화
  • vault audit list — 활성 감사 장치 나열
  • vault audit — 감사 하위 명령어