액세스 모니터링 규칙 리소스 참고 자료
요약
액세스 모니터링 규칙을 사용하면 클러스터 관리자가 액세스 요청을 모니터링하고 알림 라우팅 및 자동 검토 규칙을 적용할 수 있습니다. 조건 조건자 표현식에서 허용되는 필드: 자세한 내용은 조건자 언어를 참조하세요.
액세스 모니터링 규칙을 사용하면 클러스터 관리자가 액세스 요청을 모니터링하고 알림 라우팅 및 자동 검토 규칙을 적용할 수 있습니다.
kind: access_monitoring_rule
version: v1
metadata:
name: example_rule
spec:
# subjects는 모니터링할 주체의 종류를 지정합니다.
# 가능한 값: "access_request"
subjects:
- access_request
# condition은 액세스 모니터링 규칙을 적용하기 위해 충족되어야 하는
# 조건을 지정합니다. 조건은 boolean 값으로 평가되어야 하는 조건자 표현식을 허용합니다.
#
# 이 조건은 다음 경우에 충족됩니다:
# - `access` 역할이 요청된 경우
# - 요청된 모든 리소스에 `env: dev` 레이블이 있는 경우
# - 요청 사용자에게 `team: dev` 사용자 특성이 있는 경우
condition: |-
contains_all(set("access"), access_request.spec.roles) &&
access_request.spec.resource_labels_intersection["env"].contains("dev") &&
contains_any(user.traits["team"], set("dev"))
# 선택 사항: desired_state는 규칙이 적용된 후 액세스 요청의
# 원하는 조정 상태를 지정합니다. 자동 검토를 활성화하려면 이 필드를
# "reviewed"로 설정해야 합니다.
# 가능한 값: "reviewed".
desired_state: reviewed
# 선택 사항: automatic_review는 자동 검토 규칙을 구성합니다.
automatic_review:
# integration은 요청 사용자가 규칙 조건을 충족하는지 결정하는 데 도움을 주는
# 외부 통합 소스의 이름을 지정합니다.
# 외부 통합 없이 지정하려면 "builtin"을 사용하세요.
# 가능한 값: "builtin"
integration: builtin
# decision은 액세스 요청을 자동으로 승인할지 거부할지 결정합니다.
# 가능한 값: "APPROVED" 또는 "DENIED"
decision: APPROVED
# 선택 사항: notification은 알림 라우팅 규칙을 구성합니다.
notification:
# name은 알림을 라우팅할 외부 통합을 지정합니다.
# 가능한 값: "email", "discord", "slack", "pagerduty", "jira",
# "mattermost", "msteams", "opsgenie", "servicenow", "datadog"
name: email
# recipients는 액세스 모니터링 규칙이 적용될 때 알림을 받을
# 수신자 목록을 지정합니다.
recipients:
- example@goteleport.com
조건 조건자 표현식에서 허용되는 필드:
| 필드 | 설명 |
|---|---|
| access_request.spec.roles | 요청된 역할 집합. |
| access_request.spec.suggested_reviewers | 요청에 지정된 검토자 집합. |
| access_request.spec.system_annotations | 요청의 시스템 어노테이션 맵. |
| access_request.spec.user | 요청 사용자. |
| access_request.spec.request_reason | 요청 이유. |
| access_request.spec.creation_time | 요청 생성 시간. |
| access_request.spec.expiry | 요청 만료 시간. |
| access_request.spec.resource_labels_intersection | 요청된 모든 리소스 레이블의 교집합을 포함하는 맵. |
| access_request.spec.resource_labels_union | 요청된 모든 리소스 레이블의 합집합을 포함하는 맵. |
| user.traits | 요청 사용자의 특성 맵. |
자세한 내용은 조건자 언어를 참조하세요.
