7.6.19. 고급 감사
고급 감사 기능은 세부적인 이벤트 필터링 및 여러 출력 백엔드를 포함하여 기본 감사 기능에 비해 몇 가지 개선 사항을 제공합니다.
고급 감사 기능을 활성화하려면 감사 정책 파일을 생성하고 openshift_master_audit_ config 및
매개변수에 다음 값을 지정합니다.
openshift_master_audit
_policyfile
openshift_master_audit_config={"enabled": true, "auditFilePath": "/var/log/origin/audit-ocp.log", "maximumFileRetentionDays": 14, "maximumFileSizeMegabytes": 500, "maximumRetainedFiles": 5, "policyFile": "/etc/origin/master/adv-audit.yaml", "logFormat":"json"} openshift_master_audit_policyfile="/<path>/adv-audit.yaml"
클러스터를 설치하고 클러스터 인벤토리 파일에 위치를 지정하기 전에 adv-audit.yaml 파일을 생성해야 합니다.
다음 테이블에는 사용할 수 있는 추가 옵션이 나와 있습니다.
매개변수 이름 | 설명 |
---|---|
| 감사 정책 구성을 정의하는 파일의 경로입니다. |
| 포함된 감사 정책 구성. |
|
저장된 감사 로그의 형식을 지정합니다. 허용되는 값은 |
|
이벤트가 전송되는 감사 Webhook 구성을 정의하는 |
|
감사 이벤트를 보내는 전략을 지정합니다. 허용되는 값은 |
고급 감사 기능을 활성화하려면 감사 정책 규칙을 설명하는 policyFile
또는 policyConfiguration
을 제공해야 합니다.
감사 정책 구성 샘플
apiVersion: audit.k8s.io/v1beta1 kind: Policy rules: # Do not log watch requests by the "system:kube-proxy" on endpoints or services - level: None 1 users: ["system:kube-proxy"] 2 verbs: ["watch"] 3 resources: 4 - group: "" resources: ["endpoints", "services"] # Do not log authenticated requests to certain non-resource URL paths. - level: None userGroups: ["system:authenticated"] 5 nonResourceURLs: 6 - "/api*" # Wildcard matching. - "/version" # Log the request body of configmap changes in kube-system. - level: Request resources: - group: "" # core API group resources: ["configmaps"] # This rule only applies to resources in the "kube-system" namespace. # The empty string "" can be used to select non-namespaced resources. namespaces: ["kube-system"] 7 # Log configmap and secret changes in all other namespaces at the metadata level. - level: Metadata resources: - group: "" # core API group resources: ["secrets", "configmaps"] # Log all other resources in core and extensions at the request level. - level: Request resources: - group: "" # core API group - group: "extensions" # Version of group should NOT be included. # A catch-all rule to log all other requests at the Metadata level. - level: Metadata 8 # Log login failures from the web console or CLI. Review the logs and refine your policies. - level: Metadata nonResourceURLs: - /login* 9 - /oauth* 10
- 1 8
- 모든 이벤트를 로깅할 수 있는 네 가지 레벨은 다음과 같습니다.
-
none
- 이 규칙과 일치하는 이벤트를 기록하지 마십시오. -
메타데이터
- 요청 메타데이터(사용자, 타임스탬프, 리소스, 동사 등)를 로그하지만 요청 또는 응답 본문은 제공하지 않습니다. 이 수준은 기본 감사에서 사용되는 것과 동일한 수준입니다. -
request
-
이벤트 메타데이터 및 요청 본문을 기록하지만 응답 본문은 기록하지 않습니다. -
RequestResponse
- 이벤트 메타데이터, 요청 및 응답 본문을 기록합니다.
-
- 2
- 규칙이 적용되는 사용자 목록입니다. 빈 목록은 모든 사용자를 의미합니다.
- 3
- 이 규칙이 적용되는 동사 목록입니다. 빈 목록은 모든 동사를 의미합니다. API 요청(
get
,list
,watch
,create
,update
,patch
, delete,delete
collection
, proxy 등)
과 관련된 Kubernetes 동사입니다. - 4
- 규칙이 적용되는 리소스 목록입니다. 빈 목록은 모든 리소스를 의미합니다. 각 리소스는 Kubernetes 코어 API, 배치, build.openshift.io 등에 대한 빈 및 해당 그룹의 리소스 목록(예: Kubernetes 코어 API의 빈)에 할당되는 그룹으로 지정됩니다.
- 5
- 규칙이 적용되는 그룹 목록입니다. 빈 목록은 모든 그룹을 의미합니다.
- 6
- 규칙이 적용되는 리소스가 아닌 URL 목록입니다.
- 7
- 규칙이 적용되는 네임스페이스 목록입니다. 빈 목록은 모든 네임스페이스를 의미합니다.
- 9
- 웹 콘솔에서 사용하는 엔드포인트.
- 10
- CLI에서 사용하는 엔드포인트입니다.
고급 감사에 대한 자세한 내용은 Kubernetes 문서를 참조하십시오.