6.2. 관리자 네트워크 정책
6.2.1. OVN-Kubernetes AdminNetworkPolicy 링크 복사링크가 클립보드에 복사되었습니다!
6.2.1.1. AdminNetworkPolicy 링크 복사링크가 클립보드에 복사되었습니다!
관리NetworkPolicy
(ANP)는 클러스터 범위의 CRD(사용자 정의 리소스 정의)입니다. AWS 관리자의 Red Hat OpenShift Service는 네임스페이스를 생성하기 전에 네트워크 정책을 생성하여 ANP를 사용하여 네트워크를 보호할 수 있습니다. 또한 NetworkPolicy
오브젝트에서 덮어쓸 수 없는 클러스터 범위 수준에서 네트워크 정책을 생성할 수 있습니다.
AdminNetworkPolicy
와 NetworkPolicy
오브젝트의 주요 차이점은 전자는 관리자용이고 후자는 테넌트 소유자용이고 네임스페이스 범위가 지정되는 동안 클러스터 범위라는 것입니다.
관리자는 ANP를 사용하여 다음을 지정할 수 있습니다.
-
평가 순서를 결정하는
우선순위
값입니다. 우선 순위가 가장 높은 값이 낮을 수 있습니다. - 정책이 적용되는 네임스페이스 또는 네임스페이스 세트로 구성된 Pod 세트입니다.
-
제목
을 향하는 모든 인그레스 트래픽에 적용할 수신 규칙 목록입니다. -
제목의 모든 송신 트래픽에 적용할 송신 규칙
목록입니다
.
AdminNetworkPolicy 예
예 6.1. ANP에 대한 YAML 파일의 예
- 1
- ANP의 이름을 지정합니다.
- 2
spec.priority
필드는 클러스터의 값0-99
범위에서 최대 100개의 ANP를 지원합니다. 값이 낮을수록 범위가 가장 낮은 값에서 가장 높은 값으로 읽혀지므로 우선 순위가 높습니다. ANP가 동일한 우선 순위로 생성될 때 정책이 우선 순위가 적용되는 보장이 없기 때문에 우선 순위가 결정되도록 ANP를 다른 우선순위로 설정합니다.- 3
- ANP 리소스를 적용할 네임스페이스를 지정합니다.
- 4
- ANP에는 ingress 및 egress 규칙이 모두 있습니다.
spec.ingress
필드의 ANP 규칙은Pass
,Deny
및Allow
for theaction
필드를 허용합니다. - 5
ingress.name
의 이름을 지정합니다.- 6
namespaceSelector.matchLabels
에서 선택한 네임스페이스 내에서 Ingress 피어로 Pod를 선택하려면podSelector.matchLabels
를 지정합니다.- 7
- ANP에는 수신 및 송신 규칙이 모두 있습니다.
spec.egress
필드에 대한 ANP 규칙은Pass
,Deny
및Allow
for theaction
필드를 허용합니다.
6.2.1.1.1. 규칙에 대한 AdminNetworkPolicy 작업 링크 복사링크가 클립보드에 복사되었습니다!
관리자는 AdminNetworkPolicy
규칙에 대한 작업
필드로 Allow
,Deny
또는 Pass
를 설정할 수 있습니다. OVN-Kubernetes는 계층화된 ACL을 사용하여 네트워크 트래픽 규칙을 평가하므로 관리자가 이를 수정하거나, 규칙을 삭제하거나, 우선 순위 규칙을 설정하여만 변경할 수 있는 매우 강력한 정책 규칙을 설정할 수 있습니다.
AdminNetworkPolicy 허용 예
우선 순위 9에 정의된 다음 ANP는 모니터링
네임스페이스에서 클러스터의 테넌트(다른 모든 네임스페이스)로 모든 수신 트래픽을 허용합니다.
예 6.2. 강력한 허용
ANP를 위한 YAML 파일의 예
이는 관련된 모든 당사자가 해결할 수 없기 때문에 강력한 Allow
ANP의 예입니다. 테넌트는 NetworkPolicy
오브젝트를 사용하여 자체적으로 모니터링되는 것을 차단할 수 없으며 모니터링 테넌트도 모니터링할 수 있거나 모니터링할 수 없습니다.
AdminNetworkPolicy 거부 예
우선순위 5에 정의된 다음 ANP는 모니터링
네임스페이스의 모든 수신 트래픽이 제한된 테넌트( 보안: restricted
)로 차단되도록 합니다.
예 6.3. 강력한 Deny
ANP를 위한 YAML 파일의 예
이는 강력한 Deny
ANP로, 관련된 모든 당사자가 해결할 수 없는 강력한 Deny ANP입니다. 제한된 테넌트 소유자는 모니터링 트래픽을 허용하도록 권한을 부여할 수 없으며 인프라의 모니터링 서비스는 이러한 민감한 네임스페이스에서 아무것도 스크랩할 수 없습니다.
강력한 Allow
예제와 결합할 때 block-monitoring
ANP는 우선순위가 높은 우선 순위 값을 가지므로 제한된 테넌트가 모니터링되지 않습니다.
AdminNetworkPolicy Pass 예
우선순위 7에 정의된 다음 ANP는 모니터링
네임스페이스에서 내부 인프라 테넌트(네트러블 security
가 있는 네임스페이스)로 들어오는 모든 수신 트래픽을 ACL의 계층 2로 전달되고 네임스페이스의 NetworkPolicy
오브젝트에 의해 평가됩니다.
예 6.4. 강력한 Pass
ANP를 위한 YAML 파일의 예
이 예는 테넌트 소유자가 정의한 NetworkPolicy
오브젝트에 결정을 위임하기 때문에 강력한 Pass
작업 ANP입니다. 이 pass-monitoring
ANP를 사용하면 모든 테넌트 소유자가 내부
보안 수준에서 그룹화하여 네임스페이스 범위 NetworkPolicy
오브젝트를 사용하여 인프라의 모니터링 서비스에서 메트릭을 스크랩해야 하는지 여부를 선택할 수 있습니다.
6.2.2. OVN-Kubernetes BaselineAdminNetworkPolicy 링크 복사링크가 클립보드에 복사되었습니다!
6.2.2.1. BaselineAdminNetworkPolicy 링크 복사링크가 클립보드에 복사되었습니다!
BMC( BaselineAdminNetworkPolicy
)는 클러스터 범위의 CRD(사용자 정의 리소스 정의)입니다. AWS 관리자의 Red Hat OpenShift Service는 BANP를 사용하여 NetworkPolicy
오브젝트를 사용하는 사용자가 덮어쓸 수 있는 선택적 기본 네트워크 정책 규칙을 설정하고 시행할 수 있습니다. BANP에 대한 규칙 작업은 허용
또는 거부
됩니다.
BaselineAdminNetworkPolicy
리소스는 전달된 트래픽 정책이 클러스터의 NetworkPolicy 오브젝트와 일치하지 않는 경우 가드레일 정책으로 사용할 수 있는 클러스터 싱글톤 오브젝트
입니다. BANP는 클러스터 내 트래픽이 기본적으로 차단되는 가드레일을 제공하는 기본 보안 모델로 사용할 수 있으며 사용자는 알려진 트래픽을 허용하기 위해 NetworkPolicy
오브젝트를 사용해야 합니다. BANP 리소스를 생성할 때 이름으로 default
를 사용해야 합니다.
관리자는 BANP를 사용하여 다음을 지정할 수 있습니다.
-
네임스페이스 또는 네임스페이스 세트로 구성된
제목
입니다. -
제목
을 향하는 모든 인그레스 트래픽에 적용할 수신 규칙 목록입니다. -
제목의 모든 송신 트래픽에 적용할 송신 규칙
목록입니다
.
BaselineAdminNetworkPolicy 예
예 6.5. BANP의 YAML 파일 예
- 1
- BANP는 싱글톤 오브젝트이므로 정책 이름을
기본값
으로 설정해야 합니다. - 2
- ANP를 적용할 네임스페이스를 지정합니다.
- 3
- BANP에는 ingress 및 egress 규칙이 모두 있습니다.
spec.ingress
및spec.egress
필드에 대한 BANP 규칙은Deny
및Allow
for theaction
필드를 허용합니다. - 4
ingress.name
의 이름을 지정- 5
- BANP 리소스를 적용하려면 에서 Pod를 선택하도록 네임스페이스를 지정합니다.
- 6
- BANP 리소스를 적용할 Pod의
podSelector.matchLabels
이름을 지정합니다.
BaselineAdminNetworkPolicy Deny 예
다음 BANP 싱글톤은 관리자가 내부
보안 수준에서 테넌트로 들어오는 모든 수신 모니터링 트래픽에 대한 기본 거부 정책을 설정하도록 합니다. "AdminNetworkPolicy Pass example"과 결합하면 이 거부 정책은 ANP pass-monitoring
정책에서 전달하는 모든 인그레스 트래픽에 대한 보호 정책 역할을 합니다.
예 6.6. guardrail Deny
규칙의 YAML 파일의 예
Baseline
리소스와 함께 AdminNetworkPolicy
작업
필드의 Pass
값과 함께 AdminNetworkPolicy 리소스를 사용하여 다중 테넌트 정책을 생성할 수 있습니다. 이 다중 테넌트 정책을 사용하면 한 테넌트에서 두 번째 테넌트에서 데이터를 동시에 수집하지 않고 애플리케이션에서 모니터링 데이터를 수집할 수 있습니다.
관리자는 "AdminNetworkPolicy Pass
작업 예"와 "BaselineAdminNetwork Policy Deny
example"을 모두 적용하면 테넌트는 BANP 전에 평가할 NetworkPolicy
리소스를 생성하도록 선택할 수 있는 기능을 남겨 둡니다.
예를 들어 Tenant 1은 다음 NetworkPolicy
리소스를 설정하여 수신 트래픽을 모니터링할 수 있습니다.
예 6.7. NetworkPolicy
예
이 시나리오에서 Tenant 1의 정책은 "AdminNetworkPolicy Pass
작업 예제" 및 "BaselineAdminNetwork Policy Deny
example" 이전에 평가되며 보안
수준 internal
이 있는 테넌트로 들어오는 모든 수신 모니터링 트래픽을 거부합니다. Tenant 1의 NetworkPolicy
오브젝트를 사용하면 애플리케이션에서 데이터를 수집할 수 있습니다. 테넌트 2 그러나 NetworkPolicy
오브젝트가 없는 사용자는 데이터를 수집할 수 없습니다. 관리자는 기본적으로 내부 테넌트를 모니터링하지 않았으며 대신 테넌트가 NetworkPolicy
오브젝트를 사용하여 BANP의 기본 동작을 재정의할 수 있는 BANP를 생성했습니다.