10.4. HTTP 헤더
이벤트 기반 Ansible 및 이벤트 스트림의 컨텍스트에서 HTTP 헤더는 타사 소스(예: GitHub, 모니터링 도구 또는 전용 Webhook)에서 들어오는 이벤트에 대한 필요한 컨텍스트 및 보안 정보를 제공하기 때문에 중요한 역할을 합니다. 여기에는 다음과 같은 기능이 포함됩니다.
- Authentication and non-repudiation
-
가장 중요한 사용 방법입니다. 헤더에는 이벤트 기반 Ansible에서 보낸 사람의 ID를 확인하고 이벤트 페이로드가 변조되지 않았는지 확인하는 데 사용하는 토큰, API 키 또는 보안 서명(예:
X-Hub-Signature헤더의 HMAC)이 포함됩니다. 이를 통해 해당 이벤트가 합법적인 출처에서 나온 것을 확인할 수 없습니다. - 디버깅 및 로깅
-
헤더는 이벤트 경로를 추적하는 데 중요한 데이터 지점(
날짜,User-Agent,X-Request-ID)을 제공하여 시스템 관리자와 SREs 디버그 문제를 지연 또는 실패한 이벤트 처리와 관련된 디버그 문제를 지원합니다.
헤더는 여러 가지 목적으로 제공되는 모든 HTTP 통신에 필수적입니다.
-
컨텍스트 및 메타데이터: 전송되는 데이터에 대해 설명합니다(예:
Content-Type: application/json, Content-Length: 1024). -
클라이언트/서버 기능: 보낸 사람의 기능 또는 기본 설정(예:
Accept-Language: en-US)의 수신 당사자를 형성합니다. -
인증/인증: 보안 인증 정보(예
: Authorization: Bearer <token>) -
캐싱: 클라이언트 및 프록시에서 콘텐츠를 캐시하는 방법을 제어합니다(예:
Cache-Control: max-age=3600). -
라우팅 및 추적: 사용자 지정 헤더(예:
X-Request-ID)를 통해 네트워크 라우팅 및 트랜잭션 추적을 용이하게 합니다.
10.4.1. 이벤트 스트림에 대해 안전하게 HTTP 헤더 구성 링크 복사링크가 클립보드에 복사되었습니다!
이벤트 스트림 보안을 강화하려면 전달되는 HTTP 헤더를 명시적으로 정의해야 합니다. 이러한 헤더는 처리에 필요한 중요한 컨텍스트 및 인증 데이터를 전달합니다.
프로세스
모든 HTTP 헤더를 포함하려면 헤더 필드에 별표(*)를 입력합니다. 이렇게 하면 몇 개의 헤더를 제외하고 모든 HTTP 헤더가 허용됩니다.
-
excluded:
X-Envoy,X-Trusted-Proxy,X-Forwarded-For,X-Real-Id로 시작하는 헤더 redacted: Authorization 헤더(예:
Authorization: Redacted)중요Headers 필드가 비어 있으면 Production 및 Test 모드의 이벤트 페이로드에 HTTP 헤더가 추가되지 않습니다.
-
excluded:
-
특정 HTTP 헤더 세트를 포함하려면 원하는 헤더의 이름을 쉼표로 구분된 문자열(예:
Host,Authorization,X-Request-ID)으로 입력합니다.