보안

보안 (Security)

클라우드 네이티브 워크로드를 안전하게 유지하기 위한 개념을 다루는 섹션이에요.

이 Kubernetes 문서 섹션은 더 안전하게 워크로드를 실행하는 법과, Kubernetes 클러스터를 안전하게 유지하는 데 필수적인 측면들을 배우는 데 도움을 주기 위한 것입니다.

Kubernetes는 클라우드 네이티브 아키텍처를 기반으로 하며, 클라우드 네이티브 정보 보안의 모범 사례에 대한 CNCF의 권고를 활용합니다. 클러스터와 그 위에서 실행 중인 애플리케이션을 어떻게 보호할지에 대한 더 넓은 맥락은 클라우드 네이티브 보안과 Kubernetes 문서를 읽어 보세요.

Kubernetes 보안 메커니즘 (Kubernetes security mechanisms)

Kubernetes에는 정보 보안을 관리하는 방식의 일부를 구성할 수 있는 여러 API와 보안 통제, 그리고 정책을 정의하는 여러 방법이 포함되어 있어요.

컨트롤 플레인 보호 (Control plane protection)

Kubernetes는 컨트롤 플레인 내부, 그리고 컨트롤 플레인과 클라이언트 사이의 전송 중 데이터 암호화를 제공하기 위해 TLS를 구성하고 사용하길 기대합니다. 또한 Kubernetes 컨트롤 플레인 내에 저장된 데이터에 대한 저장 시 암호화(encryption at rest)도 활성화할 수 있어요. 이는 여러분의 워크로드 데이터에 대한 저장 시 암호화와는 별개의 것이며, 그것 역시 좋은 생각일 수 있습니다.

시크릿 (Secrets)

Secret API는 기밀성이 필요한 구성 값을 위한 기본적인 보호를 제공합니다.

워크로드 보호 (Workload protection)

파드 보안 표준을 적용해서 파드와 그 컨테이너가 적절하게 격리되도록 보장할 수 있어요. 필요하다면 RuntimeClass를 사용해서 사용자 정의 격리를 정의할 수도 있습니다.

네트워크 정책(NetworkPolicy)은 파드와 파드 사이, 또는 파드와 클러스터 외부 네트워크 사이의 네트워크 트래픽을 제어하게 해줍니다. 파드, 그 컨테이너, 그리고 그 안에서 실행되는 이미지 주변에 예방적 또는 탐지적 통제를 구현하기 위해 더 넓은 생태계의 보안 통제를 배포할 수 있어요.

어드미션 컨트롤 (Admission control)

어드미션 컨트롤러는 Kubernetes API 요청을 가로채고, 요청의 특정 필드에 따라 요청을 검증하거나 변경하는 플러그인이에요. 이 컨트롤러를 신중하게 설계하면 Kubernetes API가 버전 업데이트를 거치며 변경되어도 원치 않는 중단을 피하는 데 도움이 됩니다. 설계 고려 사항은 어드미션 웹훅 모범 사례(Admission Webhook Good Practices)를 참고하세요.

감사 (Auditing)

Kubernetes 감사 로깅은 클러스터에서 일어난 일련의 동작을 기록하는, 보안과 관련된 시간순 레코드 집합을 제공합니다. 클러스터는 사용자, Kubernetes API를 사용하는 애플리케이션, 그리고 컨트롤 플레인 자체가 생성한 활동들을 감사해요.

클라우드 제공자 보안 (Cloud provider security)

참고:  이 페이지의 항목들은 Kubernetes 외부의 공급업체를 가리킵니다. Kubernetes 프로젝트 저자들은 그런 제3자 제품이나 프로젝트에 대해 책임을 지지 않습니다. 이 목록에 공급업체, 제품 또는 프로젝트를 추가하려면 변경을 제출하기 전에 콘텐츠 가이드를 읽어 주세요. 자세한 내용은 관련 문서를 참고하세요.

자체 하드웨어나 다른 클라우드 제공자에서 Kubernetes 클러스터를 실행 중이라면, 보안 모범 사례에 대해 해당 제공자의 문서를 확인해 보세요.

인기 있는 클라우드 제공자의 보안 문서 링크는 다음과 같아요.

IaaS 제공자 링크
Alibaba Cloud https://www.alibabacloud.com/trust-center
Amazon Web Services https://aws.amazon.com/security
Google Cloud Platform https://cloud.google.com/security
VMware vSphere https://www.vmware.com/solutions/security/hardening-guides

정책 (Policies)

Kubernetes 네이티브 메커니즘을 사용해서 보안 정책을 정의할 수 있어요. 예를 들어 NetworkPolicy(네트워크 패킷 필터링에 대한 선언적 제어) 또는 ValidatingAdmissionPolicy(누군가 Kubernetes API를 이용해 어떤 변경을 할 수 있는지에 대한 선언적 제한) 같은 것이 있죠.

하지만 Kubernetes 주변의 더 넓은 생태계에서 제공하는 정책 구현에 의존할 수도 있습니다. Kubernetes는 소스 코드 검토, 컨테이너 이미지 승인, API 접근 통제, 네트워킹 등에 대해 생태계 프로젝트들이 자체 정책 통제를 구현할 수 있도록 확장 메커니즘을 제공해요.

다음 단계 (What's next)

더 알아보기