Share via


Azure Arc 지원 Kubernetes의 거버넌스, 보안 및 규정 준수 기준

이 문서에서는 Azure Arc 지원 Kubernetes 배포를 빌드할 때 사용해야 하는 보안, 거버넌스 및 규정 준수에 대한 주요 디자인 고려 사항 및 모범 사례를 제공합니다. 엔터프라이즈급 랜딩 존 설명서에서 거버넌스보안을 별도의 토픽으로 다루지만, 이처럼 중요한 디자인 영역은 Azure Arc 지원 Kubernetes에 대한 단일 토픽으로 통합되어 있습니다.

Azure Policy클라우드용 Microsoft Defender는 자동화된 방식으로 가드레일, 컨트롤, 보고서, 경고 및 수정 작업을 대규모로 구현할 수 있는 클라우드 네이티브 도구입니다. 이러한 도구를 Azure Arc 지원 Kubernetes와 결합하면 거버넌스 정책 및 보안 검사를 온-프레미스 및/또는 다중 클라우드 환경의 Kubernetes 클러스터로 확장할 수 있습니다.

아키텍처

다음 다이어그램에서는 Azure Arc 지원 Kubernetes의 보안, 규정 준수 및 거버넌스 디자인 영역을 설명하는 개념 참조 아키텍처를 보여줍니다.

Diagram showing the Enterprise-scale security, governance, and compliance for Azure Arc-enabled Kubernetes.

디자인 고려 사항

하이브리드 및 다중 클라우드 리소스가 Azure Resource Manager의 일부가 되면 Azure에서 관리하고 통제할 수 있습니다. 이 섹션에는 Azure Arc 지원 Kubernetes 클러스터 리소스의 보안 및 거버넌스를 계획할 때 유의해야 하는 디자인 고려 사항이 포함되어 있습니다.

Azure 랜딩 존의 보안거버넌스 디자인 영역을 검토하여 Azure Arc 지원 Kubernetes가 전체 거버넌스 및 보안 모델에 미치는 영향을 평가하세요.

에이전트 프로비저닝

Azure Arc 지원 Kubernetes 에이전트를 프로비전하기 위한 전략을 정의하고 온보딩 서비스 주체를 만들 때 최소 권한 원칙을 사용합니다. 대량 등록에는 자동화를 사용하는 것이 좋습니다.

에이전트 관리

Azure Arc 지원 Kubernetes 에이전트는 Azure에서 클러스터를 관리할 수 있으므로 Azure Arc 지원 Kubernetes 클러스터의 하이브리드 운영에서 중요한 역할을 합니다. 에이전트 연결 상태를 추적하는 솔루션을 구현하세요. Azure Arc 지원 Kubernetes 에이전트를 업그레이드하는 프로세스를 정의해야 합니다.

RBAC(역할 기반 액세스 제어)

조직 내에서 하이브리드 클러스터의 일상적인 운영을 담당하는 관리, 운영 및 개발자 역할을 정의합니다. 각 팀을 작업 및 책임에 매핑하면 Azure RBAC(역할 기반 액세스 제어) 역할과 Kubernetes ClusterRoleBinding 및 RoleBinding이 결정됩니다.

RACI 매트릭스를 사용하여 이러한 작업을 지원하고 리소스 일관성 및 인벤토리 관리 지침에 따라 정의하는 관리 범위 계층 구조에 컨트롤을 빌드하는 것이 좋습니다.

자세한 내용은 Azure Arc 지원 Kubernetes에 대한 ID 및 액세스 관리를 참조하세요.

비밀 및 인증서 관리

Azure Key Vault를 사용하고 CSI(Container Storage Interface)를 통해 Azure Arc 지원 kubernetes 클러스터에 확장을 배포하여 비밀 및 인증서를 보호합니다.

데이터 보존

Azure Arc 지원 Kubernetes 클러스터를 프로비저닝할 Azure 지역을 생각합니다. 리소스에서 수집되는 데이터를 이해하고 조직의 데이터 상주 요구 사항에 따라 적절하게 계획을 수립합니다.

GitOps 구성 사용 및 보호

GitOps 구성은 원하는 시스템 상태를 적용하며 Arc 지원 Kubernetes 클러스터 규정 준수를 추적하는 중요한 도구입니다. GitOps 구성을 작업할 때, 적절한 네트워크 및 액세스 제어를 통해 소스 제어 시스템에 대한 액세스를 보호하는 것이 좋습니다.

정책 관리 및 보고

대규모로 조직 표준을 감사하고 적용하는 Azure 정책으로 변환되는 하이브리드 Kubernetes 클러스터에 대한 거버넌스 계획을 정의합니다. 예를 들어 kubernetes 클러스터에 sourceControlConfiguration 정책을 적용하여 클러스터가 정의된 git 리포지토리에서 워크로드 및 구성에 대한 신뢰할 수 있는 원본을 가져오고 Azure Policy를 사용하여 규정 준수를 추적하도록 할 수 있습니다.

로그 관리 전략

관리 분야의 중요한 디자인 영역 디자인 고려 사항 및 권장 사항을 검토하고 추가 분석 및 감사를 위해 하이브리드 리소스에서 Log Analytics 작업 영역으로 메트릭 및 로그를 수집할 계획을 수립합니다.

위협 방지 및 클라우드 보안 태세 관리

위협 방지를 적용하고 컨트롤을 도입하여 보안 구성 오류를 탐지하고 규정 준수를 추적합니다. Azure의 인텔리전스를 사용하여 위협으로부터 하이브리드 워크로드를 보호합니다. 컨테이너용 Microsoft Defender를 사용하도록 설정하여 Azure Arc 지원 Kubernetes를 포함하고 있는 모든 구독에 보안 기준 모니터링, 보안 태세 관리 및 위협 방지를 사용하도록 설정합니다.

클러스터 액세스 보호

Kubernetes API 액세스를 보호하는 계획을 수립합니다. Azure Arc 지원 Kubernetes 클러스터 연결 기능은 인바운드 포트를 사용하지 않고도 API 서버에 대한 연결을 제공합니다.

마이크로 서비스 가시성 및 보안 향상

서비스 메시를 구현하면 마이크로 서비스 기반 애플리케이션의 인증, 권한 부여, 보안 및 가시성에 도움이 될 수 있습니다. Azure Arc 지원 Kubernetes를 사용하면 간편하게 OSM(Open Service Mesh)을 확장으로 배포할 수 있습니다.

디자인 권장 사항

이 섹션에는 Azure Arc 지원 Kubernetes 클러스터 리소스의 보안 및 거버넌스를 계획할 때 준수해야 하는 디자인 고려 사항이 포함되어 있습니다.

에이전트 프로비저닝

  • 대량 등록을 위한 자동화 방법을 포함하여 클러스터를 Azure Arc에 온보딩하는 전략을 정의합니다. 배포 범위를 고려하고 목표, 선택 기준, 성공 조건, 학습 계획, 롤백 및 위험이 포함된 공식 계획을 수립합니다.

  • 서비스 주체를 사용하여 CI/CD(연속 통합 및 지속적인 배포) 파이프라인에 에이전트 프로비저닝을 통합할 수 있습니다. 이 서비스 주체는 프로세스 실행 취소 또는 리소스 삭제가 아닌 Kubernetes 온보딩에만 사용할 수 있으므로 이 서비스 주체의 권한을 제한하고 Kubernetes를 Azure에 온보딩하는 데 필요한 역할("Kubernetes 클러스터 - Azure Arc 온보딩" 역할)만 할당해야 합니다.

에이전트 관리

Azure Arc 에이전트는 Azure Arc 지원 Kubernetes의 주요 구성 요소이며 보안, 거버넌스 및 관리 작업에서 역할을 하는 여러 가지 논리적 구성 요소를 포함하고 있습니다.

에이전트가 Azure에 하트비트 전송을 중지하거나, 오프라인으로 전환되거나, Azure에 대한 연결이 끊어지면 에이전트에서 운영 작업을 수행할 수 없습니다. 이러한 시나리오가 발생할 때 알림을 받는 방법과 조직의 대응 방법에 대한 계획을 수립합니다.

Azure 활동 로그를 사용하여 리소스 상태 경고를 설정하고 에이전트 Pod의 현재 및 과거 상태에 대한 정보를 지속적으로 받을 수 있습니다. 에이전트를 제대로 관리하는 방법을 이해하려면 관리 중요 디자인 영역을 검토하세요.

서비스에서 15분 동안 에이전트 하트비트를 받지 못하면 Azure Arc 지원 Kubernetes 클러스터가 오프라인으로 표시됩니다. 에이전트가 Azure Arc 엔드포인트에 안전하게 연결할 수 있게 하려면 Azure Arc 지원 Kubernetes 연결 중요한 디자인 영역을 검토하세요.

RBAC(역할 기반 액세스 제어)

Kubernetes 클러스터를 온보딩한 후에는 Azure Arc 지원 Kubernetes 클러스터 리소스에 Azure RBAC를 할당할 수 있습니다.

"ClusterAdmin"으로 작업을 수행하고 클러스터 전체에 영향을 미치는 확장 배포와 같은 작업을 수행할 수 있는 "기여자" 또는 "소유자"와 같은 역할을 할당할 때에는 최소 권한 원칙을 따릅니다. 이러한 역할은 "폭발 반경"을 제한하도록 주의해서 사용하거나 결국에는 사용자 지정 역할로 대체해야 합니다.

Azure Monitor Log Analytics 작업 영역으로 전송되는 중요한 데이터에도 동일한 RBAC 원칙을 적용해야 합니다. Azure Arc 지원 Kubernetes는 Log Analytics 에이전트가 수집하고 클러스터가 등록된 Log Analytics 작업 영역에 저장된 로그 데이터에 대한 RBAC 액세스를 제공합니다. 세밀한 Log Analytics 작업 영역 액세스를 구현하는 방법을 알아보려면 Azure Monitor 로그 배포 디자인을 검토하세요.

Azure Arc 지원 Kubernetes 클러스터를 Microsoft Entra ID 와 통합하면 Azure Arc 지원 Kubernetes 클러스터 리소스에 대한 액세스 권한 및 권한이 있는 사용자를 보다 세부적으로 제어하기 위해 Azure 역할 할당을 사용할 수 있습니다.

참고 항목

이 통합은 기본적으로 Kubernetes ClusterRoleBindingRoleBinding 개체 형식에서 작동하며 Microsoft Entra ID를 중앙 ID 및 액세스 관리 서비스로 사용하여 Kubernetes 클러스터에 대한 권한 부여를 효과적으로 통합합니다. Microsoft Entra ID를 사용하면 클러스터의 변경 내용과 모든 권한 부여 이벤트를 완전히 감사하고 추적할 수 있습니다.

Microsoft Entra ID와 통합하면 다음을 구성하는 데 사용해야 하는 고급 보안 기능에 액세스할 수도 있습니다.

  • Microsoft Entra ID를 사용한 조건부 액세스 조건부 액세스에 대한 자세한 내용은 조건부 액세스 개요에서 찾을 수 있습니다.
  • 상승된 권한이 필요한 작업에 대한 JIT(Just-In-Time) 액세스 규칙. Kubernetes에서 일부 사용자가 중요한 정보 또는 중요한 네트워크 구성 설정에 대한 액세스 권한을 지속적으로 보유하면 손상된 계정 또는 내부 위협 활동에 대한 잠재적인 경로가 생성됩니다. 권한 있는 액세스 관리는 규정 위반으로부터 조직을 보호하고 중요한 데이터에 대한 지속적인 액세스 또는 중요한 구성 설정에 대한 액세스를 제한하여 규정 준수 모범 사례를 충족하는 데 도움이 될 수 있습니다.

비밀 및 인증서 관리

비밀 또는 인증서를 애플리케이션 코드나 파일 시스템에 저장하지 마세요. 비밀은 키 저장소에 저장하고, 필요에 따라 런타임에 컨테이너에 제공해야 합니다.

Azure Key Vault 확장을 사용하여 Azure Arc 지원 Kubernetes 클러스터에서 비밀 및 인증서를 관리하는 것이 좋습니다. Key Vault 확장을 사용하면 다음 다이어그램과 같이 Kubernetes 배포에서 인증서 수명 주기를 관리할 수 있습니다.

Diagram showing Azure Arc-enabled Kubernetes and Key Vault integration.

GitOps 구성 사용 및 보호

GitOps는 운영을 완전 자동화하는 접근 방식을 선택하는 모든 IT 전략의 필수 구성 요소입니다. GitOps는 모든 배포에 스케일링, 일관성, 추적 및 감사 기능을 제공합니다.

GitOps를 사용하면 Git을 사용하여 시스템의 원하는 상태를 선언적으로 추적하고 적용하면서도 클러스터 및 환경에서 여러 애플리케이션의 배포를 간소화할 수 있습니다. Git을 진실의 단일 소스이자 모든 배포의 중앙 도구로 사용하면 클러스터 상태를 추적하고, 시간에 따른 변경 및 승인을 고려하고, 오류 조사를 용이하게 하고, 분산 환경에서 자동화를 사용하는 가장 좋은 방법이 됩니다.

GitOps 구성을 추가할 때 리포지토리 및 리포지토리의 키에 대한 액세스를 보호하고 분기 권한을 설정해야 합니다. 자세한 내용은 GitOps의 중요한 디자인 영역을 검토하세요.

정책 관리 및 보고

정책 기반 거버넌스는 Azure에 대한 클라우드 네이티브 운영 및 Microsoft 클라우드 채택 프레임워크 기본 원칙입니다. Azure Policy는 대규모로 회사 표준을 적용하고 규정 준수를 평가하는 메커니즘을 제공합니다. Azure Policy를 통해 배포 일관성, 규정 준수, 제어 비용, 보안 태세에 대한 거버넌스를 구현할 수 있습니다. 규정 준수 대시보드에서 대규모로 환경의 전체 상태에 대한 집계 보기를 살펴보고 클러스터 수준 수정 기능을 찾을 수 있습니다.

Azure Arc 지원 Kubernetes는 Azure 리소스 관리 계층에서 Azure Policy를 지원하며, 뿐만 아니라 Gatekeeper for Open Policy Agent를 확장하여 클러스터 내 정책 적용을 지원합니다. 기본 제공 정책을 구현하여 대규모 규정 준수 및 적용을 신속하게 달성할 수 있습니다. 다음 다이어그램에서는 Azure Policy가 Azure Arc 지원 Kubernetes 클러스터에 대규모로 정책을 적용하여 보호하는 방법을 보여줍니다.

Diagram showing Azure Arc-enabled Kubernetes Policy.

Azure 정책 범위와 정책을 적용할 수 있는 위치(관리 그룹, 구독, 리소스 그룹 또는 개별 리소스 수준)를 이해합니다. Azure Policy 기본 제공 라이브러리를 Azure Arc 지원 Kubernetes에 사용합니다. 클라우드 채택 프레임워크 엔터프라이즈 규모 지침에 설명된 권장 사례에 따라 관리 그룹 디자인을 작성합니다.

  • Azure Arc 지원 Kubernetes에 대한 조직의 비즈니스, 규정 및 보안 요구 사항을 대규모로 충족하려면 필요한 Azure 정책을 결정합니다.
  • 태그 지정을 적용하고 수정 작업을 구현합니다.
  • Azure Policy를 사용하여 GitOps를 적용하고 구성을 대규모로 적용합니다.
  • Azure Arc 지원 Kubernetes에 대한 Azure Policy 기본 제공 정의를 이해하고 평가합니다.
  • Azure Policy의 DeployIfNotExists 정책은 Azure Monitor를 비롯한 확장/관리 서비스 에이전트를 프로그래밍 방식으로 Arc 지원 클러스터에 대규모로 배포합니다.
  • Azure Arc 지원 Kubernetes 클러스터의 규정 준수 및 운영 모니터링에 Azure Monitor Container Insights를 사용하도록 설정합니다.

로그 관리 전략

데이터가 수집, 집계되고 나중에 분석되는 스토리지인 Log Analytics 작업 영역 배포를 디자인하고 계획합니다. Log Analytics 작업 영역은 데이터의 지리적 위치를 나타내므로 데이터 보존과 같은 구성에 대한 격리 수준 및 범위를 지원하려면 필요한 작업 영역의 수와 작업 영역을 조직 구조에 매핑하는 방법을 결정해야 합니다.

클라우드 채택 프레임워크의 관리 및 모니터링 모범 사례에 설명된 대로 단일 Azure Monitor Log Analytics 작업 영역을 사용하여 중앙 집중식 RBAC, 가시성 및 보고를 관리합니다.

자세한 내용은 Azure Monitor 로그 배포 디자인 모범 사례를 검토하세요.

위협 방지 및 클라우드 보안 태세 관리

  • 클라우드용 Microsoft Defender는 CSPM(클라우드 보안 태세 관리) 및 CWPP(클라우드 워크로드 보호 플랫폼)로 분할된 통합 보안 관리 플랫폼을 제공합니다. 하이브리드 랜딩 존의 보안을 강화하려면 Azure 및 다른 곳에 호스트되는 데이터와 자산을 보호해야 합니다.
  • 컨테이너용 Microsoft Defender는 클라우드용 Microsoft Defender의 기능을 Azure Arc 지원 Kubernetes로 확장합니다. 하이브리드 랜딩 존의 보안을 강화하려면 다음을 고려하세요.
    • Azure Arc 지원 Kubernetes 확장을 사용하여 클라우드용 Microsoft Defender에서 Arc 지원 Kubernetes 리소스를 온보딩합니다.
    • 모든 구독에 컨테이너용 Microsoft Defender 플랜을 사용하도록 설정합니다. 기본적으로 플랜은 동일한 구독에 온보딩된 Arc 지원 Kubernetes 클러스터에 Defender 확장을 자동으로 배포하도록 구성됩니다. 필요에 따라 이 구성을 수정할 수 있습니다.
    • Defender 확장이 클러스터에 배포되었는지 확인합니다.
    • SIEM(보안 정보 및 이벤트 관리)을 클라우드용 Microsoft Defender 및 Microsoft Sentinel과 통합합니다.

다음 다이어그램에서는 Azure Arc 지원 Kubernetes 클러스터 리소스의 클라우드용 Microsoft Defender에 대한 개념 참조 아키텍처를 보여줍니다.

A diagram depicting the Microsoft Defender for Azure Arc-enabled Kubernetes.

컨테이너 이미지를 저장하고 관리하는 중앙 프라이빗 Docker 레지스트리로 Microsoft Container Registry를 사용하는 경우 컨테이너용 Microsoft Defender를 사용하여 이미지의 취약성을 검사해야 합니다.

네트워크 토폴로지 및 연결 중요한 디자인 영역을 검토해야 합니다.

클러스터 액세스 보호

Kubernetes API는 클러스터에서 작업을 수행하기 위한 요청을 받습니다. 이는 클러스터와 상호 작용하고 클러스터를 관리하는 중심적인 방법이기 때문에 Kubernetes API는 보호해야 하는 핵심 요소입니다. Azure Arc 지원 Kubernetes 클러스터 연결을 사용하면 방화벽에서 인바운드 포트를 사용하도록 설정할 필요 없이 어디서나 Azure Arc 지원 Kubernetes 클러스터에 안전하게 연결할 수 있습니다. Azure Arc 지원 Kubernetes의 API 서버에 액세스하면 다음과 같은 이점이 있습니다.

  • 대화형 디버깅 및 문제 해결이 가능합니다.
  • Azure Pipelines, GitHub Actions 또는 기타 호스트된 CI/CD 서비스의 호스트된 에이전트/실행기를 사용할 수 있습니다. 자체 호스팅 에이전트가 필요 없습니다.
  • 사용자 지정 위치의 Azure 서비스와 그 위에 만들어진 다른 리소스에 대한 클러스터 액세스를 제공합니다.

마이크로 서비스 가시성 및 보안

서비스 메시를 구현하면 서비스 연결에 인증 및 권한 부여를 도입할 수 있으며, 이렇게 하면 최소 권한 원칙을 적용하고 보다 안전한 환경을 만들 수 있습니다. 기본적으로 Pod는 신뢰할 수 있는 플랫 네트워크에 있습니다. 서비스 메시 구현에서 네트워크 프록시 역할을 하는 사이드카 세트가 배포됩니다. 이러한 사이드카는 동서 통신을 관리하고, 트래픽을 암호화하고, 전반적인 트래픽 가시성을 향상합니다.

서비스 메시를 구현하면 다음으로부터 보호할 수 있습니다.

  • 무단 액세스
  • 스니핑 공격
  • 데이터 유출
  • 가장

자세한 내용은 개방형 서비스 메시 구현 중요한 디자인 영역을 검토하세요.

다음 단계

하이브리드 및 다중 클라우드 경험에 대한 자세한 내용은 다음 문서를 참조하세요.