Azure Database for MySQL을 안전하게 보호하십시오.

Azure Database for MySQL 고가용성, 자동화된 백업 및 확장 가능한 MySQL 호환 데이터베이스 호스팅을 제공하는 완전 관리형 관계형 데이터베이스 서비스입니다. 유연한 서버 배포를 보호하면 중요한 데이터를 보호하고 ID 및 네트워크 노출을 줄이며 규정 준수 요구 사항을 지원할 수 있습니다.

이 문서에서는 Azure Database for MySQL 배포를 보호하는 데 도움이 되는 보안 권장 사항을 제공합니다.

이 문서의 보안 권장 사항은 제로 트러스트 원칙인 "명시적으로 확인", "최소 권한 액세스 사용" 및 "위반 가정"을 구현합니다. 포괄적인 제로 트러스트 지침은 제로 트러스트 지침 센터를 참조하세요.

네트워크 보안

네트워크 보안 제어는 클라이언트가 Azure Database for MySQL 유연한 서버 인스턴스에 도달하는 방법을 제한하고 공용 인터넷 트래픽에 대한 노출을 줄이는 데 도움이 됩니다.

ID 및 액세스 관리

ID 및 액세스 제어는 인증을 중앙 집중화하고 자격 증명 노출을 줄이며 Azure 관리 작업 및 데이터베이스 액세스 모두에 대해 최소 권한을 적용하는 데 도움이 됩니다.

  • 데이터베이스 액세스에 Microsoft Entra 인증 사용: 사용자와 애플리케이션이 MySQL 암호에만 의존하는 대신 Microsoft Entra ID로 인증할 수 있도록 Azure Database for MySQL 유연한 서버에 대한 Microsoft Entra 인증을 구성합니다. 자세한 내용은 Azure Database for MySQL - 유연한 서버에 대한 Microsoft Entra 인증을 참조하세요.
  • 가능한 경우 Microsoft Entra 전용 인증 사용: 사용자 및 애플리케이션을 Microsoft Entra 인증으로 마이그레이션한 후 MySQL 네이티브 인증을 사용하지 않도록 설정하여 유연한 서버에 대한 암호 기반 액세스 경로를 줄입니다. 자세한 내용은 Azure Database for MySQL - 유연한 서버에 대한 Microsoft Entra 인증을 참조하세요.
  • 애플리케이션 연결에 관리 ID 사용: 애플리케이션이 포함된 데이터베이스 암호 대신 토큰을 사용하여 Azure Database for MySQL 연결할 수 있도록 Microsoft Entra 인증과 함께 관리 ID 또는 서비스 주체를 사용합니다. 자세한 내용은 Azure Database for MySQL - 유연한 서버에 대한 Microsoft Entra 인증을 참조하세요.
  • 최소 권한 데이터베이스 권한 할당: 각 애플리케이션 또는 관리 기능에 대해 전용 MySQL 사용자 또는 Microsoft Entra 매핑된 데이터베이스 사용자를 만들고 각 ID에 필요한 스키마, 테이블 및 작업 권한만 부여합니다. 자세한 내용은 Azure Database for MySQL에서 사용자 만들기를 참조하세요.
  • Azure Database for MySQL 관리자에 대한 조건부 액세스 적용: Azure Portal, Azure CLI, Azure PowerShell과 같은 Azure Resource Manager 도구를 통해 Flexible Server 리소스를 관리할 수 있는 ID에 대해 다단계 인증을 요구하는 조건부 액세스 정책을 적용합니다. 자세한 내용은 Azure 관리를 위한 MFA 필수 문서를 참조하세요.

데이터 보호

Azure Database for MySQL 기본적으로 서비스 관리형 키를 사용하여 미사용 데이터를 암호화합니다. 다음 컨트롤을 사용하면 암호화, 키 관리 및 암호화된 클라이언트 연결을 더 자세히 제어할 수 있습니다.

  • 암호화된 클라이언트 연결 필요: 클라이언트 연결에서 TLS 암호화를 Azure Database for MySQL 사용하고 데이터베이스 트래픽을 명확한 텍스트로 보내지 않도록 계속 require_secure_transport 사용하도록 설정합니다. 자세한 내용은 Azure Database for MySQL TLS(전송 계층 보안)를 참조하세요.
  • MySQL 8.0 서버에 TLS 1.3을 강제 적용: 클라이언트 애플리케이션 및 드라이버가 TLS 1.3을 지원하는지 확인한 후 Azure Database for MySQL 8.0 유연한 서버에서 tls_version를 TLS 1.3로 설정합니다. 자세한 내용은 Azure Database for MySQL TLS(전송 계층 보안)를 참조하세요.
  • 클라이언트에서 서버 인증서 유효성 검사: 클라이언트 애플리케이션을 구성하여 서버 인증서 체인의 유효성을 검사하고 루트 인증 기관만 신뢰하므로 일상적인 중간 CA 또는 서버 인증서 회전이 보안 연결을 중단하지 않습니다. 자세한 내용은 Azure Database for MySQL TLS(전송 계층 보안)를 참조하세요.
  • 키 제어에 고객 관리형 키 사용: 업무 분리, 고객 제어 키 수명 주기 관리 또는 미사용 데이터 암호화에 대한 규정 준수 제어가 필요한 경우 Azure Key Vault 또는 Azure Key Vault 관리형 HSM에 저장된 고객 관리형 키를 사용합니다. 자세한 내용은 Azure Database for MySQL에 대한 고객 관리 키를 사용한 데이터 암호화를 참조하세요.
  • 고객 관리형 키 종속성 보호: 고객 관리형 키를 저장하는 Key Vault 또는 관리형 HSM에서 일시 삭제 및 제거 보호를 사용하도록 설정하고, 서버의 사용자 할당 관리 ID에 필요한 키 권한을 할당하고, 키 액세스 손실로 인해 유연한 서버에 액세스할 수 없으므로 키 액세스를 모니터링합니다. 자세한 내용은 Azure Database for MySQL에 대한 고객 관리 키를 사용한 데이터 암호화를 참조하세요.

로깅 및 모니터링

로깅 및 모니터링 컨트롤을 사용하면 의심스러운 데이터베이스 활동을 검색하고, 관리 변경 내용을 조사하고, 규정 준수에 대한 감사 증거를 유지할 수 있습니다.

규정 준수 및 거버넌스

규정 준수 및 거버넌스 제어를 사용하면 Azure Database for MySQL 유연한 서버 플릿에서 일관된 보안 구성을 적용하고 프로덕션 리소스를 실수로 또는 무단으로 변경하지 않도록 보호할 수 있습니다.

  • Azure Policy 진단 로깅 적용: 로그를 Log Analytics, Event Hubs 또는 Storage로 라우팅하는 정책과 같이 진단 설정에 대한 microsoft.dbformysql/flexibleservers 기본 제공 Azure Policy 정의를 할당하여 유연한 서버 감사 데이터가 일관되게 수집되도록 합니다. 자세한 내용은 Azure Policy 기본 제공 정책 정의를 참조하세요.
  • 프로덕션 서버에 삭제 잠금 적용: 프로덕션 Azure Database for MySQL 유연한 서버 리소스에 잠금을 추가하여 CanNotDelete 정상적인 운영 변경을 유지하면서 실수로 삭제될 위험을 줄입니다. 자세한 내용은 인프라를 보호하기 위해 Azure 리소스 잠금을 참조하세요.
  • 거버넌스를 위한 데이터베이스 리소스 태그 지정: 워크로드, 환경, 데이터 분류, 소유자 및 비용 센터와 같은 태그를 적용하여 유연한 서버 리소스를 Azure Database for MySQL 정책 할당, 인벤토리 쿼리 및 비용 검토를 통해 프로덕션 및 중요한 데이터베이스 워크로드를 구분할 수 있습니다. 자세한 내용은 태그를 사용하여 Azure 리소스 및 관리 계층 구조 구성을 참조하세요.

백업 및 복구

백업 및 복구 컨트롤을 사용하면 실수로 인한 삭제, 데이터 손상, 지역 중단 및 위험한 변경 작업으로부터 복구할 수 있습니다.

다음 단계