이 문서에서는Google Cloud의 일반적인 Google Kubernetes Engine (GKE) 아키텍처를 설명합니다. 또한 GKE 워크로드에 적용되는 보안 권장사항도 나열되어 있습니다.
아키텍처
다음 다이어그램은 일반적인 GKE 배포의 Google Cloud 서비스를 보여줍니다.
이 다이어그램에는 다음이 포함됩니다.
GKE는 컨테이너화된 앱을 실행할 수 있는 Kubernetes 오픈소스 컨테이너 조정 플랫폼의 관리형 구현입니다. GKE 클러스터에는 애플리케이션 포드와 정책 컨트롤러가 포함됩니다. 정책 컨트롤러를 사용하면 Kubernetes 클러스터에 정책을 적용할 수 있습니다.
Artifact Registry는 컨테이너 및 앱 개발과 배포 프로세스를 간소화하고, 공동작업을 개선하며, 앱의 보안과 안정성을 개선하는 데 도움이 됩니다.
Cloud 감사 로그는 사용자가 환경에서 수행하는 작업을 추적하여 문제 해결, 감사, 사고 대응 기능을 개선합니다.
Cloud Billing 대시보드와 알림을 사용하면 GKE 워크로드의 사용량과 청구 내역을 검토할 수 있습니다.
Cloud Build를 사용하면 Google Cloud에서 서버리스 CI/CD 플랫폼을 빌드, 테스트, 배포할 수 있습니다.
Cloud ID는 Google Cloud의 ID, 액세스, 애플리케이션, 관리를 통합합니다.
Cloud Key Management Service는 암호화 키를 만들고 관리합니다.
Cloud Run Functions는 작업을 자동화하고, 작업을 트리거하고, 다른 서비스와 통합하고, 이벤트 기반 개발 파이프라인을 빌드합니다.
Cloud Service Mesh를 통해 Kubernetes 서비스가 서로 통신할 수 있습니다.
Cloud Storage는 컨테이너와 앱을 실행하는 데 필요한 데이터를 저장합니다.
Cloud DNS는 도메인을 등록, 관리, 제공합니다.
Identity and Access Management(IAM)는 GKE 워크로드 리소스(예: 생성, 수정, 삭제)에 대해 특정 작업을 수행할 수 있는 사용자를 제어합니다.
조직 정책 서비스는 Google Cloud환경 전반에서 정책을 중앙에서 관리하고 시행합니다. 조직 정책은 조직 내 프로젝트와 리소스 전반에서 일관된 구성과 보안 규정 준수를 보장하는 데 도움이 됩니다.
Pub/Sub를 사용하면 워크플로 내에서 효율적인 통신과 자동화를 구현할 수 있습니다.
Resource Manager를 사용하면 GKE 워크로드의 논리적 구성요소를 그룹화하고 관리할 수 있습니다.
Secret Manager를 사용하면 GKE 프로젝트에서 사용되는 민감한 정보와 사용자 인증 정보를 보호할 수 있습니다.
Security Command Center는 클라우드 조직, GKE 워크로드, Google Cloud에 저장된 데이터를 보호하는 데 도움이 됩니다. Security Command Center는 다음을 제공합니다.
- 중앙 집중식 보안 관리
- 위협 감지 및 사고 대응
- 자동화된 보안 평가
- 규정 준수 및 규제 보고
- 보안 권장사항 및 권장사항
가상 프라이빗 클라우드 (VPC)는 안전한 환경에서 GKE 리소스를 인터넷으로부터 격리합니다. 이 네트워크 구성은 무단 액세스 및 잠재적인 사이버 공격으로부터 민감한 정보와 워크로드를 보호하는 데 도움이 됩니다.
Cloud VPN 또는 Cloud Interconnect를 사용하면 온프레미스 인프라와 GKE 환경 간에 보안 네트워크 연결을 설정할 수 있습니다. Cloud VPN 또는 Cloud Interconnect를 사용하면 비공개 네트워크와 Google Cloud리소스 간에 원활한 데이터 전송 및 통신이 가능합니다. 모델 학습을 위해 온프레미스 데이터에 액세스하거나 추론을 위해 온프레미스 리소스에 모델을 배포하는 등의 시나리오에 이 통합을 고려해 보세요.
GKE 워크로드 권장사항
이 섹션에서는 GKE를 사용하는 워크로드의 권장사항 링크를 제공합니다.
- 권장 사용자 그룹 및 IAM 역할
안전한 엔터프라이즈 기반 권장사항
인증 및 승인 권장사항
- 기본 서비스 계정에 대한 자동 IAM 부여 사용 중지
- 외부 서비스 계정 키 생성 차단
- 서비스 계정 키 업로드 차단
- 조직 정책 관리자의 직무 분리 구성
- 최고 관리자 계정에 2단계 인증 사용 설정
- 최고 관리자 조직 단위에 2단계 인증 시행
- 기본 최고 관리자 전용 이메일 주소 만들기
- 중복 관리자 계정 만들기
- 태그를 구현하여 IAM 정책 및 조직 정책을 효율적으로 할당
- IAM의 고위험 변경사항 감사
- Cloud ID 관리형 사용자 계정의 Cloud Shell 액세스 차단
- Google 콘솔의 컨텍스트 인식 액세스 구성하기
- 최고 관리자 계정의 계정 직접 복구 차단
- 사용하지 않는 Google 서비스 사용 중지하기
조직 권장사항
네트워킹 권장사항
로깅, 모니터링, 알림 권장사항
키 및 보안 비밀 관리 권장사항
보안 상황 및 분석 권장사항
인프라 권장사항
컴퓨팅 권장사항
컨테이너 권장사항
- 컨트롤 플레인 액세스 제한
- 최소 권한 방화벽 규칙 사용
- RBAC용 Google 그룹스 사용
- 보안 GKE 노드 사용 설정
- containerd 런타임과 함께 Container-Optimized OS 사용
- GKE용 워크로드 아이덴티티 제휴 사용
- GKE Sandbox 사용 설정
- kubelet 읽기 전용 포트 사용 중지
- 네임스페이스와 RBAC를 사용하여 클러스터 리소스에 대한 액세스 제한
- 포드 간 트래픽 제한
- 허용 컨트롤러를 사용하여 정책 적용
- 워크로드가 자체 수정하는 기능 제한
- 클러스터 구성 모니터링
- Binary Authorization 적용
데이터 관리 권장사항
스토리지 권장사항
- Cloud Storage 버킷에 대한 공개 액세스 차단
- 균일한 버킷 수준 액세스 사용
- 서비스 계정의 HMAC 키 보호
- 서비스 계정의 Cloud Storage 버킷 열거 감지
- Cloud Storage 버킷 보관 정책이 버킷 잠금을 사용하는지 확인
- SetStorageClass 작업의 수명 주기 규칙 설정
- 스토리지 클래스의 허용된 리전 설정하기
- Cloud Storage 버킷의 수명 주기 관리 사용 설정
- 활성 객체에 대한 임시 보존 검토 및 평가
- Cloud Storage 버킷에 보관 정책 적용
- Cloud Storage 버킷에 분류 태그 적용
- Cloud Storage 버킷에 로그 버킷 적용
- Cloud Storage 버킷의 삭제 규칙 구성
- 삭제 규칙의 isLive 조건이 False인지 확인
- Cloud Storage 버킷에 버전 관리 적용
- Cloud Storage 버킷의 소유자 강제 적용
- 주요 Cloud Storage 활동의 로깅 사용 설정
에이전트 및 애플리케이션 권장사항
다음 단계
- Google Cloud에 엔터프라이즈 개발자 플랫폼을 배포하는 방법을 알아보세요.