다음을 통해 공유


Azure Database for PostgreSQL 서버 보호

Azure Database for PostgreSQL은 기본 제공 고가용성, 자동화된 백업 및 크기 조정 기능을 제공하는 완전 관리형 데이터베이스 서비스입니다. PostgreSQL 데이터베이스 배포를 보호하는 것은 중요한 데이터를 보호하고 업계 표준 준수를 유지하는 데 중요합니다.

이 문서에서는 Azure Database for PostgreSQL 서버 배포를 보호하는 방법을 안내합니다.

중요합니다

2025년 11월 11일부터 다음 목록의 Azure 지역은 새 중간 CA 인증서를 사용하는 TLS/SSL 인증서 회전에 대해 계획됩니다.

  • 미국 중서부
  • East Asia
  • UK South

2026년 1월 19일부터 이 회전은 Azure Government 및 다른 모든 지역을 포함하여 나머지 모든 Azure 지역으로 확장될 예정입니다.

문제 해결에 대한 자세한 내용은 인증서 고정 문제를 참조하세요.

네트워크 보안

네트워크 보안 섹션에서는 공용 액세스를 방지하고 네트워킹 기능을 사용하여 PostgreSQL을 안전한 분할된 클라우드 네트워크 아키텍처에 통합하는 방법을 안내합니다.

  • 공용 네트워크 액세스 사용 안 함: 인터넷에 노출되지 않도록 PostgreSQL에 대한 공용 네트워크 액세스를 사용하지 않도록 설정합니다. 이 작업을 수행하면 신뢰할 수 있는 네트워크만 데이터베이스에 액세스할 수 있습니다.

  • 프라이빗 엔드포인트: 프라이빗 엔드포인트를 사용하여 가상 네트워크 내에서 PostgreSQL에 안전하게 연결합니다.

  • 또는 가상 네트워크 통합을 사용합니다. 가상 네트워크 통합을 사용하여 PostgreSQL을 가상 네트워크에 연결합니다. 이 통합을 통해 Azure 리소스와 서버에서 사용되는 리소스(예: AI)에 안전하게 액세스할 수 있습니다.

  • 레거시 방화벽 규칙 및 서비스 엔드포인트: 특정 IP 주소에서 액세스를 허용해야 하는 경우 레거시 방화벽 규칙 및 서비스 엔드포인트를 사용합니다. 그러나 이 방법은 권장되지 않습니다. 대신 프라이빗 엔드포인트 또는 가상 네트워크 통합을 사용하는 것이 좋습니다.

네트워크 보안 문서는 네트워킹 섹션에 있습니다.

ID 관리

ID 관리 섹션에서는 중앙 집중식 ID 및 액세스 관리 시스템을 사용하여 인증, ID 보안 및 액세스 제어에 중점을 둡니다. 강력한 인증 메커니즘 및 애플리케이션에 대한 관리 ID와 같은 모범 사례를 다룹니다.

ID 관리 섹션에 대한 몇 가지 가능한 보안 서비스, 기능 및 모범 사례는 다음과 같습니다.

  • 데이터베이스 로컬 인증 대신 Entra 사용: PostgreSQL 서버에 대한 로컬 인증을 허용하지 않아야 합니다. 대신 Microsoft Entra 인증(혼합 모드 아님)만 사용하여 데이터베이스에 대한 액세스를 관리합니다. Microsoft Entra는 강력한 보안 제어 및 Defender for Identity 실시간 보호를 사용하여 중앙 집중식 인증을 제공합니다. 자세한 내용은 일반적으로 Microsoft EntraAzure Database for PostgreSQL을 사용한 Microsoft Entra 인증을 참조하세요.

  • 보안 애플리케이션 액세스를 위해 관리 ID 사용: Azure에서 관리 ID를 사용하여 자격 증명을 관리할 필요 없이 애플리케이션 및 서비스를 안전하게 인증합니다. 이렇게 하면 Azure Database for PostgreSQL과 같은 리소스에 액세스하는 안전하고 간소화된 방법을 제공합니다. 자세한 내용은 관리 ID를 방문하세요.

  • 조건부 액세스 정책을 통해 보안 적용: Microsoft Entra에서 조건부 액세스 정책을 설정하여 사용자, 위치 또는 디바이스 컨텍스트에 따라 보안 제어를 적용합니다. 이러한 정책을 사용하면 위험에 따라 보안 요구 사항을 동적으로 적용하여 전반적인 보안 태세를 강화할 수 있습니다. 자세한 내용은 Microsoft Entra 조건부 액세스를 참조하세요.

  • 로컬 인증은 SCRAM 인증을 사용해야 합니다. 로컬 인증을 사용해야 하는 경우 강력한 암호 정책이 적용되는지 확인합니다. 암호 복잡성 요구 사항 및 정기적인 암호 순환을 사용하여 손상된 계정의 위험을 최소화합니다. 자세한 내용은 Azure Database for PostgreSQL의 SCRAM 인증을 참조하세요.

접근 제어

액세스 제어 섹션에서는 최소 권한 원칙에 따라 액세스 수준을 보호하는 데 중점을 둡니다. 상승된 권한을 제한 및 관리하고, 다단계 인증을 적용하고, 권한 있는 작업이 기록 및 감사되도록 하여 중요한 리소스에 대한 무단 액세스 위험을 최소화하는 것을 강조합니다.

다음은 액세스 제어 섹션에 대한 몇 가지 가능한 보안 서비스, 기능 및 모범 사례입니다.

  • 액세스 제어에 Entra 역할을 사용합니다. Azure RBAC(역할 기반 액세스 제어)를 구현하여 Azure Database for PostgreSQL 리소스에 대한 액세스를 관리합니다. 최소 권한 원칙에 따라 역할을 할당하여 사용자와 애플리케이션이 필요한 권한만 부여받도록 합니다. 자세한 내용은 일반적으로 Azure RBAC(역할 기반 액세스 제어)를 방문하여 Azure Database for PostgreSQL에서 Microsoft Entra 역할을 관리합니다.

  • Entra 모범 사례 따르기: MFA, 조건부 액세스 정책, JIT(Just-In-Time) 액세스를 활용하여 사용자 및 데이터베이스를 보호합니다.

  • 로컬 데이터베이스 사용자, 역할 및 권한 관리: PostgreSQL의 기본 제공 역할 관리를 사용하여 데이터베이스 수준에서 액세스를 제어합니다. 최소 권한 원칙을 적용하기 위해 특정 권한이 있는 사용자 지정 역할을 만듭니다. 보안 정책의 준수를 보장하기 위해 이러한 역할을 정기적으로 검토하고 감사합니다. 자세한 내용은 Azure Database for PostgreSQL에서 사용자 만들기를 참조하세요.

데이터 보호

데이터 보호 섹션에서는 미사용 및 전송 중인 중요한 데이터를 보호하는 데 중점을 둡니다. 데이터가 암호화되고, 액세스가 제어되고, 중요한 정보가 무단 액세스로부터 보호되도록 합니다. 데이터 무결성 및 기밀성을 보호하기 위해 암호화, 보안 연결 및 데이터 마스킹의 사용을 강조합니다.

다음은 데이터 보호 섹션에 대한 몇 가지 가능한 보안 서비스, 기능 및 모범 사례입니다.

전송 중인 데이터 암호화

  • TLS 연결 확인: Azure PostgreSQL은 항상 SSL 또는 TLS를 사용하여 애플리케이션과 데이터베이스 간에 전송 중인 데이터를 암호화합니다. 루트 CA, 만료된 인증서, 호스트 이름 불일치 및 인증서 해지와 같이 사용된 인증서를 확인하도록 애플리케이션을 구성해야 합니다. 이 방법은 도청 및 중간자(man-in-the-middle) 공격으로부터 중요한 정보를 보호하는 데 도움이 됩니다. 자세한 내용은 Azure Database for PostgreSQL에서 TLS 및 SSL을 사용한 보안 연결을 참조하세요.

  • 클라이언트에 최신 TLS 인증서가 설치되어 있는지 확인합니다. 클라이언트 애플리케이션에 보안 연결을 지원하기 위해 최신 TLS 인증서가 설치되어 있는지 확인합니다. 이 방법은 연결 오류를 방지하고 애플리케이션이 PostgreSQL 서버와 보안 연결을 설정할 수 있도록 합니다. 자세한 내용은 루트 CA 인증서 다운로드 및 애플리케이션 클라이언트 업데이트를 참조하세요.

  • TLS 1.3 사용 필요: 모든 연결에 TLS 1.3이 필요하도록 PostgreSQL 서버를 구성합니다. 이 구성을 통해 가장 안전한 최신 버전의 프로토콜만 사용되므로 보안 및 성능이 향상됩니다. 자세한 내용은 TLS 버전을 참조하세요.

휴지 상태의 암호화

  • 데이터는 SMK를 사용하면 항상 투명하게 암호화됩니다. Azure Database for PostgreSQL은 SMK(서비스 관리형 키)를 사용하여 미사용 데이터를 자동으로 암호화합니다. 이 암호화를 사용하면 추가 구성 없이도 데이터가 보호됩니다. 기본 Azure Storage 인프라를 사용합니다. 주 서버, 복제본, PITR(특정 시점 복구) 및 백업을 다룹니다. 자세한 내용은 Azure Database for PostgreSQL의 데이터 암호화를 참조하세요.

  • 추가 제어를 위해 고객 관리형 키를 사용합니다. 암호화 키에 대한 제어를 강화해야 하는 경우 Azure Key Vault 또는 Azure HSM에 저장된 CMK(고객 관리형 키)를 사용합니다. 이 옵션을 사용하면 암호화 키를 관리할 수 있으며 더 많은 보안 및 규정 준수 옵션을 제공합니다. 자세한 내용은 Azure Database for PostgreSQL의 고객 관리형 키Azure Database for PostgreSQL에서 데이터 암호화 구성을 참조하세요.

  • KV 또는 관리되는 HSM에서 자동 키 순환 설정: 고객 관리형 키를 사용하는 경우 Azure Key Vault에서 자동 키 순환을 구성하여 암호화 키가 정기적으로 업데이트되도록 합니다. Azure Database for PostgreSQL은 키가 순환된 후 자동 키 버전 업데이트를 지원합니다. 자세한 내용은 Azure 관리되는 HSM에서 키 자동 순환 구성 또는 Azure Key Vault에서 자동 순환 이해를 방문하여 Key Vault에 대한 자세한 내용을 참조하세요. 자세한 내용은 서버 프로비전 중 고객 관리형 키를 사용하여 데이터 암호화 구성을 방문하여 자동 키 순환을 구성하는 방법에 대한 자세한 내용을 참조하세요.

  • 클라이언트 쪽 암호화를 사용하여 매우 중요한 데이터 암호화: 매우 중요한 데이터의 경우 클라이언트 쪽 암호화를 구현하는 것이 좋습니다. 이 방법은 데이터를 데이터베이스로 보내기 전에 암호화하여 암호화된 데이터만 데이터베이스에 저장되도록 하는 것입니다. 이 방법은 데이터베이스 자체와 데이터베이스 관리자가 암호화되지 않은 데이터에 엑세스할 수 없으므로 더 많은 보안 계층을 제공합니다.

기밀 컴퓨팅

ACC(Azure 기밀 컴퓨팅)를 사용하면 조직에서 개인 데이터 또는 PHI(민감 건강 정보)와 같은 중요한 데이터를 안전하게 처리하고 공동으로 작업할 수 있습니다. ACC는 TEE(신뢰 실행 환경)를 통해 사용 중인 데이터를 보호하는 방식으로 무단 액세스에 대한 보호 기능을 기본적으로 제공합니다.

  • SaaS 및 호스팅 공급자는 기밀 컴퓨팅 구성을 고려합니다. SaaS(Software as a Service) 또는 호스팅 공급자이고 PostgreSQL 워크로드에 중요한 데이터 처리가 포함되는 경우 Azure 기밀 컴퓨팅을 사용하여 사용 중인 데이터를 보호하는 것이 좋습니다. 이 솔루션은 안전한 환경에서 데이터가 처리되도록 하여 권한 있는 사용자의 무단 액세스를 방지함으로써 더 많은 보안 계층을 제공합니다. 자세한 내용은 Azure Database for PostgreSQL용 Azure 기밀 컴퓨팅을 참조하세요.

데이터 마스킹 및 편집

  • 데이터 마스킹 구현: PostgreSQL 익명성 도구 확장을 사용하여 다음을 지원합니다.

  • 익명 덤프: 마스킹된 데이터를 SQL 파일로 내보냅니다.

  • 정적 마스킹: 규칙에 따라 개인 데이터를 제거합니다.

  • 동적 마스킹: 마스킹된 사용자에 대해서만 개인 데이터를 숨깁니다.

  • 마스킹 보기: 마스킹된 사용자에 대한 전용 보기를 빌드합니다.

  • 데이터 래퍼 마스킹: 외부 데이터에 마스킹 규칙을 적용합니다.

로깅 및 위협 탐지

로깅 및 위협 탐지 섹션에서는 Azure 환경에서 위협을 감지하기 위한 컨트롤을 다룹니다. Azure 서비스에 대한 감사 로그를 사용하도록 설정, 수집 및 저장하는 방법을 다룹니다. 기본 위협 탐지 기능, 중앙 집중식 로그 관리 및 보안 조사 및 규정 준수를 위한 적절한 로그 보존의 사용을 강조합니다. 이 섹션에서는 고품질 경고를 생성하고, Azure 도구를 통해 보안 분석을 중앙 집중화하고, 정확한 시간 동기화를 유지 관리하고, 효과적인 로그 보존 전략을 보장하는 데 중점을 둡니다.

로깅 및 위협 탐지 섹션에 대한 몇 가지 가능한 보안 서비스, 기능 및 모범 사례는 다음과 같습니다.

백업 및 복구

백업 및 복구 섹션에서는 Azure 서비스 전반의 데이터 및 구성이 정기적으로 백업, 보호 및 오류 또는 재해에서 복구 가능하도록 하는 데 중점을 둡니다. 백업 자동화, 백업 데이터 보호, RTO(복구 시간 목표) 및 RPO(복구 지점 목표)를 충족하기 위해 복구 프로세스를 테스트하고 유효성을 검사하도록 하는 것을 강조합니다. 또한 이 섹션에서는 규정 준수 및 준비 상태를 보장하기 위한 백업 프로세스 모니터링 및 감사의 중요성을 강조합니다. 개요를 보려면 Azure Database for PostgreSQL을 사용한 비즈니스 연속성 개요를 참조하세요.

백업 및 복구 검색 섹션에 대한 몇 가지 가능한 보안 서비스, 기능 및 모범 사례는 다음과 같습니다.

  • 고가용성 활용: PostgreSQL 유연한 서버 인스턴스에 대한 HA(고가용성) 구성을 구현하여 가동 중지 시간을 최소화하고 데이터베이스에 대한 지속적인 액세스를 보장합니다. 자세한 내용은 Azure Database for PostgreSQL의 고가용성(안정성)고가용성 구성을 참조하세요.

  • 자동화된 백업 구성: Azure Database for PostgreSQL은 데이터베이스 파일의 일일 백업을 자동으로 수행하고 트랜잭션 로그를 지속적으로 백업합니다. 7일에서 최대 35일까지 백업을 보존할 수 있습니다. 백업 보존 기간 내의 어느 시점으로도 데이터베이스 서버를 복원할 수 있습니다. RTO는 복원할 데이터의 크기와 로그 복구를 수행하는 데 걸리는 시간에 따라 달라집니다. 몇 분에서 12시간까지 다양할 수 있습니다. 자세한 내용은 Azure Database for PostgreSQL의 백업 및 복원을 참조하세요.

  • 읽기 복제본 구성: 읽기 복제본을 사용하여 주 서버에서 읽기 작업을 오프로드하여 성능 및 가용성을 개선합니다. 재해 복구 시나리오에 읽기 복제본을 사용할 수도 있으므로 주 서버 오류가 발생한 복제본으로 빠르게 전환할 수 있습니다. 자세한 내용은 Azure Database for PostgreSQL의 읽기 복제본을 참조하세요.

  • 고객 관리형 키 암호화를 사용하여 백업 데이터 보호: 미사용 데이터 암호화를 사용하여 백업 데이터를 보호합니다.