다음을 통해 공유


Azure에서 PaaS 데이터베이스를 보호하기 위한 모범 사례

이 문서에서는 PaaS(Platform-as-a-Service) 웹 및 모바일 애플리케이션을 보호하기 위한 Azure SQL DatabaseAzure Synapse Analytics 보안 모범 사례 모음에 대해 설명합니다. 이러한 모범 사례는 Azure에 대한 Microsoft와 고객의 경험에서 비롯된 것입니다.

Azure SQL Database 및 Azure Synapse Analytics는 인터넷 기반 애플리케이션에 대한 관계형 데이터베이스 서비스를 제공합니다. PaaS 배포에서 Azure SQL Database 및 Azure Synapse Analytics를 사용할 때 애플리케이션 및 데이터를 보호하는 데 도움이 되는 서비스를 살펴보겠습니다.

  • Microsoft Entra 인증(SQL Server 인증 대신)
  • Azure SQL 방화벽
  • TDE(투명한 데이터 암호화)

중앙 집중식 ID 리포지토리 사용

다음 두 가지 인증 유형 중 하나를 사용하도록 Azure SQL Database를 구성할 수 있습니다.

  • SQL 인증 은 사용자 이름과 암호를 사용합니다. 데이터베이스에 대한 서버를 만들 때 사용자 이름과 암호를 사용하여 "서버 관리자" 로그인을 지정했습니다. 이러한 자격 증명을 사용하여 해당 서버의 모든 데이터베이스에 데이터베이스 소유자로 인증할 수 있습니다.

  • Microsoft Entra 인증 은 Microsoft Entra ID에서 관리하는 ID를 사용하며 관리 및 통합 도메인에 대해 지원됩니다. Microsoft Entra 인증을 사용하려면 Microsoft Entra 사용자 및 그룹을 관리할 수 있는 "Microsoft Entra 관리자"라는 다른 서버 관리자를 만들어야 합니다. 이 관리자는 일반 서버 관리자가 할 수 있는 모든 작업을 수행할 수도 있습니다.

Microsoft Entra 인증은 Microsoft Entra ID의 ID를 사용하여 Azure SQL Database 및 Azure Synapse Analytics에 연결하는 메커니즘입니다. Microsoft Entra ID는 데이터베이스 서버에서 사용자 ID의 확산을 중지할 수 있도록 SQL Server 인증에 대한 대안을 제공합니다. Microsoft Entra 인증을 사용하면 중앙 위치에서 데이터베이스 사용자 및 기타 Microsoft 서비스의 ID를 중앙에서 관리할 수 있습니다. 중앙 ID 관리는 데이터베이스 사용자 관리를 위한 단일 위치를 제공하며 권한 관리를 간소화합니다.

SQL 인증 대신 Microsoft Entra ID를 사용할 경우의 이점

  • 한 곳에서 암호를 회전할 수 있습니다.
  • 외부 Microsoft Entra 그룹을 사용하여 데이터베이스 권한을 관리합니다.
  • 통합 Windows 인증 및 Microsoft Entra ID에서 지원하는 다른 형태의 인증을 사용하도록 설정하여 암호 저장을 제거합니다.
  • 포함된 데이터베이스 사용자를 사용하여 데이터베이스 수준에서 ID를 인증합니다.
  • SQL Database에 연결하는 애플리케이션에 대한 토큰 기반 인증을 지원합니다.
  • 도메인 동기화 없이 로컬 Microsoft Entra ID에 대한 ADFS(Active Directory Federation Services) 또는 네이티브 사용자/암호 인증을 통한 도메인 페더레이션을 지원합니다.
  • MFA(Multi-Factor Authentication)를 포함하는 Active Directory 유니버설 인증을 사용하는 SQL Server Management Studio의 연결을 지원합니다. MFA에는 다양한 쉬운 확인 옵션을 사용하는 강력한 인증이 포함되어 있습니다. 확인 옵션은 전화 통화, 문자 메시지, 핀이 있는 스마트 카드 또는 모바일 앱 알림입니다. 자세한 내용은 SQL Database 및 Azure Synapse Analytics를 사용한 유니버설 인증을 참조하세요.

Microsoft Entra 인증에 대한 자세한 내용은 다음을 참조하세요.

비고

Microsoft Entra ID가 사용자 환경에 적합한지 확인하려면 Microsoft Entra 기능 및 제한 사항을 참조하세요.

IP 주소에 따라 액세스 제한

허용 가능한 IP 주소의 범위를 지정하는 방화벽 규칙을 만들 수 있습니다. 이러한 규칙은 서버 및 데이터베이스 수준 모두를 대상으로 지정할 수 있습니다. 보안 강화 및 데이터베이스 이식성을 높이기 위해 가능하면 데이터베이스 수준 방화벽 규칙을 사용하는 것이 좋습니다. 서버 수준 방화벽 규칙은 관리자에게 가장 적합하며, 액세스 요구 사항이 동일하지만 각 데이터베이스를 개별적으로 구성하는 데 시간을 할애하지 않으려는 데이터베이스가 많은 경우에 가장 적합합니다.

SQL Database 기본 원본 IP 주소 제한은 다른 구독 및 테넌트 등 모든 Azure 주소에서의 액세스를 허용합니다. IP 주소만 인스턴스에 액세스할 수 있도록 제한할 수 있습니다. SQL 방화벽 및 IP 주소 제한이 있더라도 강력한 인증이 여전히 필요합니다. 이 문서의 앞부분에서 권장 사항을 참조하세요.

Azure SQL 방화벽 및 IP 제한에 대한 자세한 내용은 다음을 참조하세요.

미사용 암호화 데이터

TDE(투명한 데이터 암호화) 는 기본적으로 사용하도록 설정되어 있습니다. TDE는 SQL Server, Azure SQL Database 및 Azure Synapse Analytics 데이터 및 로그 파일을 투명하게 암호화합니다. TDE는 파일 또는 해당 백업에 대한 직접 액세스의 손상으로부터 보호합니다. 이렇게 하면 기존 애플리케이션을 변경하지 않고 미사용 데이터를 암호화할 수 있습니다. TDE는 항상 사용 상태를 유지해야 합니다. 그러나 일반 액세스 경로를 사용하는 공격자가 중지되지는 않습니다. TDE는 다양한 산업에 설정된 많은 법률, 규정 및 지침을 준수할 수 있는 기능을 제공합니다.

Azure SQL은 TDE에 대한 주요 관련 문제를 관리합니다. TDE와 마찬가지로, 복구 가능성을 보장하고 데이터베이스를 이동할 때 온-프레미스에 특별히 주의해야 합니다. 보다 정교한 시나리오에서는 확장 가능한 키 관리를 통해 Azure Key Vault에서 키를 명시적으로 관리할 수 있습니다. EKM을 사용하여 SQL Server에서 TDE 사용을 참조하세요. 또한 Azure Key Vault BYOK 기능을 통해 BYOK(Bring Your Own Key)를 사용할 수 있습니다.

Azure SQL은 Always Encrypted를 통해 열에 대한 암호화를 제공합니다. 이렇게 하면 권한 있는 애플리케이션만 중요한 열에 액세스할 수 있습니다. 이러한 종류의 암호화를 사용하면 암호화된 열에 대한 SQL 쿼리가 같음 기반 값으로 제한됩니다.

애플리케이션 수준 암호화는 선택적 데이터에도 사용해야 합니다. 올바른 국가/지역에 보관된 키로 데이터를 암호화하여 데이터 주권 문제를 완화할 수 있습니다. 이렇게 하면 강력한 알고리즘(예: AES 256)이 사용되어 키 없이는 데이터의 암호를 해독할 수 없으므로 우발적인 데이터 전송으로 인해 문제가 발생하지 않습니다.

보안 시스템 설계, 기밀 자산 암호화 및 데이터베이스 서버 주변에 방화벽 빌드와 같은 추가 예방 조치를 사용하여 데이터베이스를 보호할 수 있습니다.

다음 단계

이 문서에서는 PaaS 웹 및 모바일 애플리케이션을 보호하기 위한 SQL Database 및 Azure Synapse Analytics 보안 모범 사례 컬렉션을 소개했습니다. PaaS 배포 보안 유지에 대한 자세한 내용은 다음을 참조하세요.