Google Distributed Cloud는 GKE를 확장하여 자체 프레미스에 있는 자체 Linux 서버에 GKE 클러스터를 만들 수 있도록 합니다. GKE 보안에 대한 자세한 내용은 GKE 보안 개요를 참조하세요. 읽는 동안 제어 영역과 노드가 온프레미스에서 실행되므로 제어 영역 보안 및 제안 노드 보안에 대한 제안이 적용되지 않는다는 점에 유의하세요.
Google Distributed Cloud 보안
다음 섹션에서는 Google Distributed Cloud에 대한 우수한 보안 관행을 수립하는 방법을 제공합니다.
하드웨어 보안
업계 표준의 물리적 보안 및 안전 기능으로 온프레미스 데이터 센터를 보호합니다.
관리자 워크스테이션에 대한 액세스가 엄격하게 제한되어 있는지 확인합니다. 관리자 워크스테이션에는 kubeconfig 파일, SSH 키, 서비스 계정 키와 같은 민감한 정보가 저장됩니다.
노드 보안
소프트웨어 패키지 업데이트 및 보안 패치 설치로 운영체제를 최신 상태로 유지합니다.
워크로드 이미지 가져오기 및 관련 보안 이점을 추가로 제어하기 위해 비공개 레지스트리에 인증하도록 워커 노드를 구성할 수 있습니다. 노드의 비공개 레지스트리 지원은 버전 1.29 클러스터에 미리보기 버전으로 제공됩니다.
기본적으로 Google Distributed Cloud는 Docker apt 저장소 및 필요한 GPG 키를 클러스터 노드에 추가합니다. 배포에서 각 클러스터 노드에 패키지 저장소를 추가하는 대신 컨테이너 이미지에 비공개 패키지 저장소를 사용하도록 클러스터를 구성할 수 있습니다.
Binary Authorization으로 워크로드를 보호합니다.
Binary Authorization은 Cloud에서 실행되는 애플리케이션에 소프트웨어 공급망 보안을 제공하는 Google Cloud 서비스입니다. Binary Authorization을 사용하면 애플리케이션을 프로덕션 환경에 배포하기 전에 소프트웨어의 품질과 무결성을 보호하는 내부 프로세스가 성공적으로 완료되었는지 확인할 수 있습니다.
포드에 Google Cloud 리소스 액세스 권한을 부여하려면 GKE용 워크로드 아이덴티티 제휴를 사용합니다. GKE용 워크로드 아이덴티티 제휴를 통해 Kubernetes 서비스 계정을 IAM 서비스 계정으로 실행할 수 있습니다. Kubernetes 서비스 계정으로 실행되는 포드는 IAM 서비스 계정의 권한을 가집니다.
클러스터를 프록시 뒤에 설치하고 방화벽 규칙을 생성하여 클러스터가 공개 인터넷에 노출되지 않도록 제한합니다. 또한 네트워크 환경에서 적절한 제어를 사용하여 클러스터에 대한 공개 액세스를 제한합니다.
인증 보안
GKE Identity Service로 ID 관리
GKE Identity Service는 인증용 기존 ID 솔루션을 여러 Google Kubernetes Engine(GKE) Enterprise 버전 환경에 제공할 수 있게 해주는 인증 서비스입니다. 명령줄(모든 공급업체) 또는 Google Cloud 콘솔(OIDC만 해당)에서 모두 기존 ID 공급업체를 사용하여 Google Distributed Cloud 클러스터에 로그인하고 이를 사용할 수 있습니다.
Connect 게이트웨이로 등록된 클러스터에 연결합니다. Connect 게이트웨이는 Fleet 성능을 기반으로 빌드되므로 GKE Enterprise 사용자는 일관되며 안전한 방식으로 등록된 클러스터에 연결하여 명령어를 실행할 수 있습니다.
사용자 인증 정보 보안
인증 기관을 순환합니다.
Google Distributed Cloud는 인증서 및 비공개 키를 사용하여 클러스터의 시스템 구성요소 간 연결을 인증하고 암호화합니다. 보안 클러스터 통신을 유지하려면 주기적으로 사용자 클러스터 인증 기관을 순환하고 보안 침해가 발생할 가능성이 있을 때마다 순환합니다.
서비스 계정 키 순환. 키 유출로 인한 보안 위험을 줄이려면 서비스 키를 정기적으로 순환하는 것이 좋습니다.
보안 모니터링
Kubernetes 감사 로깅 사용.
감사 로깅은 관리자가 Google Distributed Cloud 환경에서 발생하는 이벤트를 보관, 쿼리, 처리하고 알릴 수 있는 방법을 제공합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-12-17(UTC)"],[],[],null,["This page provides an introduction to establishing good security practices for\nGoogle Distributed Cloud. The guidance on this page is not intended to provide you with\na comprehensive list of best practices.\n\nUsing good practices for security on Google Distributed Cloud involves applying\nconcepts from Kubernetes and Google Kubernetes Engine (GKE), as well as concepts\nthat are unique to Google Distributed Cloud.\n\nKubernetes security\n\nWe recommend that you follow general Kubernetes guidelines for security when\nyou're using Google Distributed Cloud.\n\nFor an introduction to Kubernetes security guidelines, see the [Security\nChecklist](https://kubernetes.io/docs/concepts/security/security-checklist/)\nand [Overview of Cloud Native\nSecurity](https://kubernetes.io/docs/concepts/security/overview/)\nin the Kubernetes documentation.\n\nGKE security\n\nGoogle Distributed Cloud extends GKE to let you create\nGKE clusters on your own Linux servers on your own premises. To\nlearn more about GKE security, see the [GKE\nsecurity overview](/kubernetes-engine/docs/concepts/security-overview). As\nyou're reading, keep in mind that because your control plane and nodes run\non-premises, the suggestions for\n[control plane security](/kubernetes-engine/docs/concepts/security-overview#control_plane_security)\nand [node security](/kubernetes-engine/docs/concepts/security-overview#node_security)\ndon't apply.\n\nGoogle Distributed Cloud security\n\nThe following sections provide guidance for establishing good security practices\nfor Google Distributed Cloud.\n\nHardware security\n\n- Secure your on-premises data centers with industry standard physical\n security and safety features.\n\n- Ensure that access to your [admin workstation](/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/workstation-prerequisites)\n is highly restricted. The admin workstation stores sensitive data such as\n `kubeconfig` files, SSH keys, and service account keys.\n\nNode security\n\n- Keep your operating system up-to-date by updating software packages and\n installing security patches.\n\n- For added control over workload image pulls and related security benefits,\n you can [configure worker nodes to authenticate to a private registry](/kubernetes-engine/distributed-cloud/bare-metal/docs/how-to/configure-node-private-reg). Private registry support\n for nodes is available for [Preview](/products#product-launch-stages) for\n version 1.29 clusters.\n\n- By default, Google Distributed Cloud adds the Docker `apt` repository and the\n needed GPG key to your cluster nodes. As an alternative to adding adding\n package repositories to each cluster node in your deployment, you can\n configure your cluster to [use a private package\n repository](/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/package-server) for container images.\n\nCluster security\n\n- [Harden the security of your Google Distributed Cloud\n clusters](/kubernetes-engine/distributed-cloud/bare-metal/docs/how-to/hardening-your-cluster).\n\n- Isolate your traffic and data by using an [admin and user cluster\n deployment](/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/install-prep#admin_user_model). This\n deployment type helps you to achieve the following types of isolation:\n\n - Workload traffic is isolated from administrative, or management plane traffic.\n - Cluster access is isolated by group or role.\n - Production workloads are isolated from development workloads.\n- [Upgrade your clusters](/kubernetes-engine/distributed-cloud/bare-metal/docs/how-to/upgrade-best-practices) to a\n [supported version](/kubernetes-engine/distributed-cloud/bare-metal/docs/getting-support#version-support). Using a\n supported version provides you with the following security benefits:\n\n - Fixes for security vulnerabilities.\n - New features and functions that take advantage of latest security posture and technologies.\n - Updates for bundled software and components.\n- For reduced external exposure and other security benefits, you can\n [configure a registry mirror](/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/registry-mirror) to\n install Google Distributed Cloud components from a local copy of the public\n registry.\n\nWorkload security\n\n- [Secure your containers using Security-Enhanced Linux\n (SELinux)](/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/configure-selinux).\n\n- [Secure your workloads with\n Binary Authorization](/binary-authorization/docs/overview-on-prem).\n Binary Authorization is a service on Google Cloud that provides software\n supply-chain security for applications that run in the cloud. With\n Binary Authorization, you can ensure that internal processes that safeguard the\n quality and integrity of your software have successfully completed before an\n application is deployed to your production environment.\n\n- Use [Workload Identity Federation for GKE](/kubernetes-engine/docs/how-to/workload-identity)\n to give Pods access to Google Cloud resources. Workload Identity Federation for GKE\n allows a Kubernetes service account to run as an IAM service account. Pods\n that run as the Kubernetes service account have the permissions of the IAM\n service account.\n\n- [Follow the best practices for GKE\n RBAC](/kubernetes-engine/docs/best-practices/rbac).\n\nNetwork security\n\n- [Choose a secure connection between your Google Distributed Cloud and\n Google Cloud](/kubernetes-engine/distributed-cloud/bare-metal/docs/concepts/connect-on-prem-gcp#enhancing_your_fundamental_connection).\n After your fundamental connection is in place, add features that enhance the\n security of your connection.\n\n- Limit the exposure of your clusters to the public internet by [installing\n them behind a proxy and creating firewall\n rules](/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/proxy). Also use\n the appropriate controls in your network environment to limit public access\n to the cluster.\n\nAuthentication security\n\n- [Manage identity with\n GKE Identity Service](/kubernetes-engine/distributed-cloud/bare-metal/docs/installing/identity-manage).\n GKE Identity Service is an authentication service that lets you bring\n your existing identity solutions for authentication to multiple\n Google Cloud environments. You can sign in to and use your\n Google Distributed Cloud clusters from the command line (all providers) or from\n the Google Cloud console (OIDC only), all using your existing identity\n provider.\n\n- [Connect to registered clusters with the\n Connect gateway](/kubernetes-engine/enterprise/multicluster-management/gateway). The\n Connect gateway builds on the power of fleets to let\n users connect to and run commands against registered clusters in a\n consistent and secure way.\n\nCredential security\n\n- [Rotate certificate\n authorities](/kubernetes-engine/distributed-cloud/bare-metal/docs/how-to/ca-rotation).\n Google Distributed Cloud uses certificates and private keys to authenticate\n and encrypt connections between system components in clusters. To maintain\n secure cluster communication, rotate your user cluster certificate\n authorities periodically and whenever there is a possible security breach.\n\n- [Rotate service account\n keys](/kubernetes-engine/distributed-cloud/bare-metal/docs/how-to/update-secrets). To\n reduce the security risk caused by leaked keys, we recommend that you\n regularly rotate your service keys.\n\nMonitor your security\n\n- [Use Kubernetes audit\n logging](/kubernetes-engine/distributed-cloud/bare-metal/docs/how-to/audit-logging). Audit logging provides a way for administrators to retain, query, process, and alert on events that occur in your Google Distributed Cloud environments.\n\nFor more information about monitoring cluster security, see\n[Monitor fleet security posture](/kubernetes-engine/fleet-management/docs/secure#monitor-fleets-scale)."]]