2.3. 서비스 메시 보안
권한 부여 정책 및 mTLS를 사용하면 서비스 메시를 보호할 수 있습니다.
프로세스
테넌트의 모든 Red Hat OpenShift Serverless 프로젝트가 멤버와 동일한
ServiceMeshMemberRoll
오브젝트에 포함되어 있는지 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 메시에 속하는 모든 프로젝트는 strict 모드에서 mTLS를 적용해야 합니다. 이렇게 하면 Istio가 클라이언트-인증서가 있는 연결만 수락하고 Service Mesh 사이드카가
AuthorizationPolicy
오브젝트를 사용하여 원본을 검증할 수 있습니다.knative-serving
및knative-eventing
네임스페이스에서AuthorizationPolicy
오브젝트를 사용하여 구성을 생성합니다.knative-default-authz-policies.yaml
구성 파일의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이러한 정책은 Serverless 시스템 구성 요소 간 네트워크 통신에 대한 액세스 규칙을 제한합니다. 특히 다음 규칙을 적용합니다.
-
knative-serving
및knative-eventing
네임스페이스에서 명시적으로 허용되지 않은 모든 트래픽을 거부합니다. -
istio-system
및knative-serving
네임스페이스의 트래픽을 활성화하도록 허용 -
knative-serving
네임스페이스의 트래픽을 자동 스케일러로 허용 -
knative-eventing
네임스페이스에서 Apache Kafka 구성 요소에 대한 상태 프로브 허용 -
knative-eventing
네임스페이스에서 채널 기반 브로커에 대한 내부 트래픽 허용
-
권한 부여 정책 구성을 적용합니다.
oc apply -f knative-default-authz-policies.yaml
$ oc apply -f knative-default-authz-policies.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 서로 통신할 수 있는 OpenShift 프로젝트를 정의합니다. 이 통신을 위해 테넌트의 모든 OpenShift 프로젝트에는 다음이 필요합니다.
-
테넌트의 프로젝트로 들어오는 트래픽을 직접 제한하는 하나의
AuthorizationPolicy
오브젝트 -
knative-serving
프로젝트에서 실행되는 Serverless의 활성화 구성 요소를 사용하여 들어오는 트래픽을 제한하는AuthorizationPolicy
오브젝트 -
Kubernetes가 Knative 서비스에서
PreStopHooks
를 호출할 수 있도록 하는 하나의AuthorizationPolicy
오브젝트
이러한 정책을 수동으로 생성하는 대신
helm
유틸리티를 설치하고 각 테넌트에 필요한 리소스를 생성합니다.helm
유틸리티 설치helm repo add openshift-helm-charts https://charts.openshift.io/
$ helm repo add openshift-helm-charts https://charts.openshift.io/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 팀 알파
에 대한 구성 예 생성helm template openshift-helm-charts/redhat-knative-istio-authz --version 1.31.0 --set "name=team-alpha" --set "namespaces={team-alpha-1,team-alpha-2}" > team-alpha.yaml
$ helm template openshift-helm-charts/redhat-knative-istio-authz --version 1.31.0 --set "name=team-alpha" --set "namespaces={team-alpha-1,team-alpha-2}" > team-alpha.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 팀 bravo
의 구성 예 생성helm template openshift-helm-charts/redhat-knative-istio-authz --version 1.31.0 --set "name=team-bravo" --set "namespaces={team-bravo-1,team-bravo-2}" > team-bravo.yaml
$ helm template openshift-helm-charts/redhat-knative-istio-authz --version 1.31.0 --set "name=team-bravo" --set "namespaces={team-bravo-1,team-bravo-2}" > team-bravo.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
테넌트의 프로젝트로 들어오는 트래픽을 직접 제한하는 하나의
권한 부여 정책 구성을 적용합니다.
oc apply -f team-alpha.yaml team-bravo.yaml
$ oc apply -f team-alpha.yaml team-bravo.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow