방화벽 규칙 이해

완료됨

방화벽은 보호된 리소스에 대한 무단 액세스를 차단하는 데 필수적입니다. 각 Azure SQL Database에는 Microsoft에서 관리하는 공용 IP 주소가 할당됩니다. 각 Azure 지역에는 데이터베이스 게이트웨이의 진입점 역할을 하는 하나 이상의 공용 IP 주소가 있습니다. 이를 통해 데이터베이스로 이동합니다.

방화벽 작동 방식

인터넷 또는 Azure에서의 연결 시도는 서버 또는 데이터베이스에 도달하기 전에 방화벽을 통과해야 합니다.

Azure SQL Database에 대한 데이터베이스 및 서버 방화벽 아키텍처의 다이어그램

Azure는 액세스를 제한하고 데이터베이스 및 데이터를 보호하는 기본 제공 방화벽을 제공합니다. Azure SQL Database에는 서버 수준 IP 방화벽 규칙과 데이터베이스 수준 IP 방화벽 규칙, 두 가지 유형의 방화벽 규칙이 있습니다.

서버 수준 IP 방화벽 규칙

Azure SQL Database의 서버 수준 및 데이터베이스 수준 방화벽은 모두 SQL Server 로그인 대신 IP 주소 규칙을 사용합니다. 이 방법을 사용하면 동일한 공용 IP 주소(일반적으로 회사의 아웃바운드 IP 주소)의 모든 사용자가 SQL Server에 액세스할 수 있습니다.

서버 수준 방화벽 규칙은 사용자가 서버의 모든 데이터베이스에 연결할 수 있도록 허용하는 반면, 데이터베이스 수준 방화벽 규칙은 특정 IP 주소가 개별 데이터베이스에 액세스하지 못하도록 허용하거나 차단하는 데 사용됩니다.

Azure Portal을 사용하거나 master 데이터베이스 내의 sp_set_firewall_rule 저장 프로시저를 실행하여 서버 수준 방화벽 규칙을 구성할 수 있습니다. 이러한 유연성을 통해 액세스를 효율적이고 안전하게 관리할 수 있습니다.

참고

Azure 서비스 및 리소스가 이 서버 설정에 액세스하도록 허용하면 단일 방화벽 규칙으로 계산됩니다.

데이터베이스 수준 IP 방화벽 규칙

데이터베이스 수준 IP 방화벽 규칙을 사용하면 클라이언트가 마스터 데이터베이스를 포함하여 각 데이터베이스에 대한 규칙을 만들어 특정 데이터베이스에 액세스할 수 있습니다. 이러한 규칙은 첫 번째 서버 수준 방화벽을 구성한 후 Transact-SQL 문을 사용하여 관리됩니다. 데이터베이스 내에서 sp_set_database_firewall_rule 저장 프로시저를 사용해야 합니다.

데이터베이스 수준 방화벽 규칙을 사용하도록 설정된 데이터베이스에 연결할 때 Azure SQL Database는 먼저 연결 문자열의 데이터베이스 이름과 일치하는 데이터베이스 수준 방화벽 규칙을 확인합니다. 이러한 규칙이 없으면 서버의 모든 데이터베이스에 적용되는 서버 수준 IP 방화벽 규칙을 확인합니다. 두 규칙 중 하나가 발견되면 연결이 완료됩니다.

둘 다 존재하지 않고 사용자가 SQL Server Management Studio를 통해 연결하는 경우 아래와 같이 방화벽 규칙을 만들라는 메시지가 표시됩니다.

SQL Server Management Studio의 새 방화벽 규칙 대화 상자 스크린샷

가상 네트워크 엔드포인트

가상 네트워크 엔드포인트는 특정 Azure Virtual Network의 트래픽을 허용합니다. 이러한 규칙은 데이터베이스 수준뿐만 아니라 서버 수준에서 적용됩니다.

또한 서비스 엔드포인트는 기본 엔드포인트 영역인 한 영역에만 적용됩니다.

추가 문제는 Azure SQL Database에 연결하는 가상 네트워크에 Azure SQL Database의 공용 IP 주소에 대한 아웃바운드 액세스 권한이 있어야 한다는 것입니다. 이 권한은 Azure SQL Database의 서비스 태그를 사용하여 구성할 수 있습니다.

이 문제를 해결하려면 Azure SQL Database에 연결하는 가상 네트워크에 Azure SQL Database의 공용 IP 주소에 대한 아웃바운드 액세스 권한이 있는지 확인합니다. 또한 NSG(네트워크 보안 그룹)를 사용하여 아웃바운드 트래픽 규칙을 정의하고 제어하여 필요한 트래픽만 Azure SQL Database에 도달할 수 있도록 할 수 있습니다.

프라이빗 링크 기능을 사용하면 프라이빗 엔드포인트를 사용하여 Azure SQL Database 및 기타 PaaS 제품에 연결할 수 있습니다.

프라이빗 엔드포인트를 사용하면 퍼블릭 인터넷이 아니라 Azure 백본 네트워크를 통해 Azure SQL Database에 연결할 수 있습니다.

이 기능은 가상 네트워크에서 개인 IP 주소를 제공합니다. 프라이빗 링크의 또 다른 기능은 해당 회로를 통한 Azure Express Route에 연결을 허용하는 것입니다.

프라이빗 링크는 특정 리소스에 대한 연결만 허용하여 영역 간 프라이빗 연결 및 데이터 누출 방지를 포함하는 몇 가지 이점을 제공합니다.