Azure Database for PostgreSQL은 기본 제공 고가용성, 자동화된 백업 및 크기 조정 기능을 제공하는 완전 관리형 데이터베이스 서비스입니다. PostgreSQL 데이터베이스 배포를 보호하면 중요한 데이터를 보호하고 규정 준수 요구 사항을 충족할 수 있습니다.
이 문서에서는 Azure Database for PostgreSQL 유연한 서버 배포를 보호하는 방법을 안내합니다.
이 문서의 보안 권장 사항은 제로 트러스트 원칙인 "명시적으로 확인", "최소 권한 액세스 사용" 및 "위반 가정"을 구현합니다. 포괄적인 제로 트러스트 지침은 제로 트러스트 지침 센터를 참조하세요.
네트워크 보안
네트워크 보안 제어를 사용하면 공용 노출을 줄이고 Azure Database for PostgreSQL 유연한 서버를 분할된 가상 네트워크 아키텍처에 통합할 수 있습니다.
공용 네트워크 액세스 사용 안 함: 프라이빗 연결을 사용할 수 있는 경우 PostgreSQL 유연한 서버에 대한 공용 연결을 차단하여 인터넷 노출을 방지합니다. 자세한 내용은 Private Link를 사용하는 Azure Database for PostgreSQL 네트워킹을(를) 참조하세요.
프라이빗 엔드포인트 사용: 데이터베이스 트래픽이 가상 네트워크의 개인 IP 주소에 유지되도록 Azure Private Link 통해 PostgreSQL 유연한 서버에 연결합니다. 자세한 내용은 Private Link를 사용하는 Azure Database for PostgreSQL 네트워킹을 참조하세요.
가상 네트워크 통합 사용: 종속 Azure 서비스에 대한 클라이언트 액세스 및 아웃바운드 연결을 위해 가상 네트워크 수준 격리가 필요한 경우 프라이빗 액세스를 통해 PostgreSQL 유연한 서버를 배포합니다. 자세한 내용은 Azure Database for PostgreSQL에 대한 프라이빗 액세스 권한이 있는 네트워크를 참조하세요.
공용 방화벽 액세스 제한: 배포에 공용 액세스가 필요한 경우 필요한 클라이언트 IP 주소만 허용하고 광범위한 방화벽 규칙을 방지합니다. 자세한 내용은 Azure Database for PostgreSQL 대한 방화벽 규칙을 사용하여 공용 액세스를 참조하세요.
공용 네트워킹 동작 검토: 연결 모델을 선택하기 전에 공용 액세스, 방화벽 규칙 및 허용된 IP 주소가 노출에 미치는 영향을 이해합니다. 자세한 내용은 공용 액세스 권한이 있는 Azure Database for PostgreSQL 대한 네트워킹 개요를 참조하세요.
ID 및 액세스 관리
ID 및 액세스 제어를 사용하면 인증을 중앙 집중화하고 자격 증명 노출을 줄이며 Azure 관리 및 PostgreSQL 데이터베이스 액세스에서 최소 권한을 적용할 수 있습니다.
Microsoft Entra 인증 사용: PostgreSQL 유연한 서버에 대한 Microsoft Entra 인증을 선호하여 ID 제어를 중앙 집중화하고 로컬 데이터베이스 암호에 대한 종속성을 줄입니다. 자세한 내용은 Azure Database for PostgreSQL Microsoft Entra 인증을 참조하세요.
Microsoft Entra 보안 주체 관리: 데이터베이스 액세스가 최소 권한을 따르도록 PostgreSQL 유연한 서버에 대한 Microsoft Entra 관리자, 사용자 및 그룹을 할당하고 검토합니다. 자세한 내용은 Azure Database for PostgreSQL Microsoft Entra 역할 관리를 참조하세요.
애플리케이션 액세스에 관리 ID 사용: 애플리케이션 코드 또는 구성에 자격 증명을 저장하는 대신 관리 ID를 사용하여 PostgreSQL 유연한 서버에 Azure 호스팅된 애플리케이션을 인증합니다. 자세한 내용은 Azure Database for PostgreSQL 관리 ID를 참조하세요.
PostgreSQL 관리자에 조건부 액세스 적용: PostgreSQL 유연한 서버 및 관련 Azure 리소스를 관리하는 ID에 다단계 인증 및 규격 디바이스 요구 사항과 같은 조건부 액세스 정책을 적용합니다. 자세한 내용은 Common Conditional Access policy: Require MFA for Azure Management를 참조하세요.
로컬 인증에 SCRAM 사용: 로컬 PostgreSQL 사용자가 필요한 경우 SCRAM 인증 및 강력한 암호 사례를 사용하여 암호 손상 위험을 줄입니다. 자세한 내용은 Azure Database for PostgreSQL SCRAM 인증을 참조하세요.
로컬 데이터베이스 역할 관리: PostgreSQL 역할 및 권한을 사용하여 각 사용자에게 필요한 개체 및 작업에 대한 데이터베이스 수준 액세스를 제한합니다. 자세한 내용은 Azure Database for PostgreSQL 사용자 관리를 참조하세요.
AZURE RBAC(역할 기반 액세스 제어) 구현: postgreSQL 유연한 서버 리소스를 생성, 구성, 모니터링 또는 삭제해야 하는 ID에만 Azure RBAC 역할을 할당합니다. 자세한 내용은 Azure 역할 기반 액세스 제어를 참조하세요.
데이터 보호
Azure Database for PostgreSQL 서비스 관리형 키를 사용하여 주 서버, 복제본, 특정 시점 복구 데이터 및 미사용 백업을 암호화합니다. 워크로드에 더 강력한 암호화 거버넌스 또는 데이터 사용 보호가 필요한 경우 다음과 같은 고객 구성 가능한 컨트롤을 사용합니다.
TLS 연결 확인: PostgreSQL 클라이언트를 구성하여 서버 인증서 체인 및 호스트 이름을 사용하여
sslmode=verify-full유효성을 검사하거나sslmode=verify-ca불가능한 경우verify-full를 확인합니다. 자세한 내용은 Azure Database for PostgreSQL 전송 계층 보안을 참조하세요.신뢰할 수 있는 루트 인증서 유지 관리: Azure 루트 인증 기관을 클라이언트 신뢰 저장소에 유지하고 인증서 순환이 연결을 중단하지 않도록 중간 인증서 또는 개별 서버 인증서를 신뢰하지 않도록 합니다. 자세한 내용은 Azure Database for PostgreSQL 전송 계층 보안을 참조하세요.
지원되는 경우 TLS 1.3 사용 필수: 최신 보안 프로토콜 버전을 지원하는 클라이언트의 경우
TLSv1.3서버 매개변수를ssl_min_protocol_version로 설정하고ssl_max_protocol_version는 설정하지 마세요. 자세한 내용은 Azure Database for PostgreSQL 전송 계층 보안을 참조하세요.암호화 거버넌스에 고객 관리형 키 사용: 키 수명 주기 제어 또는 업무 분리가 필요한 경우 Azure Key Vault 또는 Azure 관리형 HSM에서 고객 관리형 키를 구성합니다. 문서화된 요구 사항을 충족하는 미리 보기 시나리오에 대해서만 테넌트 간 고객 관리형 키를 사용합니다. 자세한 내용은 Azure Database for PostgreSQL 미사용 데이터 암호화 및 Azure Database for PostgreSQL 데이터 암호화 구성을 참조하세요.
자동 키 회전 구성: 고객 관리형 키를 사용하는 경우 Azure Key Vault 또는 Azure 관리형 HSM에서 키 자동 회전을 사용하도록 설정하고 자동 키 버전 업데이트를 사용하도록 PostgreSQL 유연한 서버를 구성합니다. 자세한 내용은 고객 관리형 키 암호화 구성을 참조하세요.
매우 중요한 워크로드에 기밀 컴퓨팅 사용: 사용 중인 데이터에 대한 하드웨어 기반 보호가 필요한 경우 지원되는 지역에서 지원되는 기밀 컴퓨팅 SKU에 PostgreSQL 유연한 서버를 배포합니다. 자세한 내용은 Azure Database for PostgreSQL의 Azure 기밀 컴퓨팅을(를) 참조하세요.
중요한 PostgreSQL 데이터에 대한 데이터 익명화 적용: 데이터베이스 수준 데이터 익명화 도구가 필요한 경우 확장을 사용하고
anon사용하기 전에 필요한 공유 미리 로드 라이브러리를 구성합니다. 자세한 내용은 Azure Database for PostgreSQL 유연한 서버의 이름별 확장 및 모듈 목록을 참조하세요.
로깅 및 모니터링
로깅 및 모니터링 컨트롤을 사용하면 의심스러운 활동을 감지하고, 인시던트를 조사하고, PostgreSQL 감사 증거를 운영 및 규정 준수 워크플로에 사용할 수 있도록 유지할 수 있습니다.
진단 로그 수집 사용: 감사 범주 그룹에 대한 진단 설정 및 Azure Policy 할당을 사용하여 PostgreSQL 유연한 서버 감사 로그를 Log Analytics 보냅니다. 자세한 내용은 Azure Database for PostgreSQL 대한 Azure Policy 기본 제공을 참조하세요.
감사 로깅 사용: 조사 및 규정 준수 검토를 위해 데이터베이스 활동을 캡처하도록 확장으로
pgauditPostgreSQL 감사 로깅을 구성합니다. 자세한 내용은 Azure Database for PostgreSQL의 감사 로깅을 참조하세요.Microsoft Entra 인증 이벤트 감사: PostgreSQL 유연한 서버에 대한 Microsoft Entra 인증 활동을 모니터링하여 ID 기반 액세스 및 로그인 패턴을 조사합니다. 자세한 내용은 Azure Database for PostgreSQL에서 Microsoft Entra 인증 감사를 참조하세요.
오픈 소스 관계형 데이터베이스에 Microsoft Defender 사용: 클라우드용 Microsoft Defender 사용하여 비정상적인 PostgreSQL 액세스 패턴, 무차별 암호 대입 시도, 의심스러운 데이터베이스 활동 및 PostgreSQL 관련 구성 위험을 검색합니다. 자세한 내용은 Azure Database for PostgreSQL 유연한 서버의 클라우드용 Microsoft Defender를 참조하세요.
규정 준수 및 거버넌스
규정 준수 및 거버넌스 제어를 사용하면 일관된 구성을 적용하고, PostgreSQL 배포를 규정 요구 사항에 매핑하고, 보안 소유권을 대규모로 표시할 수 있습니다.
Azure Policy PostgreSQL 보안 구성 적용: 프라이빗 엔드포인트, 공용 액세스 제한, 진단 로깅, TLS, 고객 관리형 키 및 지역 중복 백업과 같은 PostgreSQL 유연한 서버 컨트롤에 대한 기본 제공 정책을 할당합니다. 자세한 내용은 Azure Database for PostgreSQL 대한 Azure Policy 기본 제공을 참조하세요.
PostgreSQL에 대한 규정 준수 제품 검토: 규제된 데이터를 처리하기 전에 Azure Database for PostgreSQL 유연한 서버를 관련 규정 준수 인증 및 증명에 매핑합니다. 자세한 내용은 Azure Database for PostgreSQL 규정 준수를 참조하세요.
프로덕션 서버에 리소스 잠금 적용: 프로덕션 PostgreSQL 유연한 서버 및 종속 리소스에 대한 관리 잠금을 사용하여 실수로 인한 삭제 또는 중단 구성 변경을 줄입니다. 자세한 내용은 잠금을 사용하여 Azure 리소스 보호를 참조하세요.
거버넌스를 위한 PostgreSQL 리소스 태그: 정책, 인벤토리 및 비용 관리 워크플로가 보호된 데이터베이스를 식별할 수 있도록 워크로드, 환경, 데이터 분류, 소유자 및 규정 준수 범위와 같은 태그를 PostgreSQL 유연한 서버 및 관련 리소스에 적용합니다. 자세한 내용은 태그를 사용하여 Azure 리소스 구성을 참조하세요.
백업 및 복구
백업 및 복구 컨트롤을 사용하면 워크로드 복구 목표를 충족하는 동안 실수로 삭제, 손상 또는 지역 중단이 발생한 후 PostgreSQL 데이터를 복원할 수 있습니다.
자동화된 백업 보존 구성: 특정 시점 복구 요구 사항에 따라 백업 보존 기간을 7~35일로 설정하고 보존 기간이 워크로드 복구 요구 사항과 일치하는지 확인합니다. 자세한 내용은 Azure Database for PostgreSQL의 백업 및 복원을 참조하세요.
지역 복구에 지역 중복 백업 사용: 재해 복구 계획에 Azure 쌍을 이루는 지역에서 복원 기능이 필요한 경우 서버를 만들 때 지역 중복 백업을 구성합니다. 자세한 내용은 Azure Database for PostgreSQL 지역 재해 복구를 참조하세요.
중요한 워크로드에 대한 고가용성 구성: 고가용성 구성을 사용하여 대기 복제본을 프로비전하고 영역 또는 인프라 오류 시 가동 중지 시간을 줄입니다. 자세한 내용은 Azure Database for PostgreSQL 대한 고가용성 구성을 참조하세요.
복구 계획에 읽기 복제본 사용: 읽기 복제본을 사용하여 읽기 트래픽을 오프로드하고 승격된 복제본이 필요한 복구 시나리오를 지원합니다. 자세한 내용은 “Azure Database for PostgreSQL의 읽기 복제본”을 참조하세요.
고객 관리형 키를 사용하여 백업 데이터 보호: 백업 및 복원 데이터가 조직의 키 관리 요구 사항을 따라야 하는 경우 고객 관리형 키 암호화를 사용합니다. 자세한 내용은 Azure Database for PostgreSQL Azure Database for PostgreSQL 백업 및 복원 및 데이터 암호화 구성을 참조하세요.
비즈니스 연속성 목표 계획: 백업 보존, 고가용성, 읽기 복제본 및 지역 복원 옵션을 워크로드 복구 시간 목표 및 복구 지점 목표에 맞춥니다. 자세한 내용은 Azure Database for PostgreSQL 비즈니스 연속성을 참조하세요.