Azure SQL Database 및 Azure Synapse IP 방화벽 규칙Azure SQL Database and Azure Synapse IP firewall rules

적용 대상: Azure SQL Database Azure Synapse Analytics

예를 들어 이름이 mysqlserver 인 Azure Synapse Analytics Azure SQL Database에서 새 서버를 만들 경우 서버 수준 방화벽은 서버에 대 한 공용 끝점 ( mysqlserver.database.windows.net 에서 액세스할 수 있음)에 대 한 모든 액세스를 차단 합니다.When you create a new server in Azure SQL Database or Azure Synapse Analytics named mysqlserver, for example, a server-level firewall blocks all access to the public endpoint for the server (which is accessible at mysqlserver.database.windows.net). 간단히 하기 위해 SQL Database 를 사용 하 여 SQL Database 및 Azure Synapse Analytics를 모두 참조 합니다.For simplicity, SQL Database is used to refer to both SQL Database and Azure Synapse Analytics.

중요

이 문서는 Azure SQL Managed Instance 에 적용되지 않습니다.This article does not apply to Azure SQL Managed Instance. 네트워크 구성에 대 한 자세한 내용은 AZURE SQL Managed Instance에 응용 프로그램 연결을 참조 하세요.For information about network configuration, see Connect your application to Azure SQL Managed Instance.

Azure Synapse는 서버 수준 IP 방화벽 규칙만 지원 합니다.Azure Synapse only supports server-level IP firewall rules. 데이터베이스 수준 IP 방화벽 규칙은 지원 하지 않습니다.It doesn't support database-level IP firewall rules.

방화벽 작동 방법How the firewall works

다음 다이어그램과 같이 인터넷 및 Azure의 연결 시도가 서버 또는 데이터베이스에 도달 하기 전에 방화벽을 통과 해야 합니다.Connection attempts from the internet and Azure must pass through the firewall before they reach your server or database, as the following diagram shows.

방화벽 구성 다이어그램

서버 수준 IP 방화벽 규칙Server-level IP firewall rules

이러한 규칙을 통해 클라이언트는 전체 서버, 즉 서버에서 관리하는 모든 데이터베이스에 액세스할 수 있습니다.These rules enable clients to access your entire server, that is, all the databases managed by the server. 규칙은 master 데이터베이스에 저장 됩니다.The rules are stored in the master database. 서버에 대해 최대 128개의 서버 수준 IP 방화벽 규칙을 사용할 수 있습니다.You can have a maximum of 128 server-level IP firewall rules for a server. Azure 서비스 및 리소스에서이 서버에 액세스 하도록 허용 설정을 사용 하도록 설정 하면 서버에 대 한 단일 방화벽 규칙으로 계산 됩니다.If you have the Allow Azure Services and resources to access this server setting enabled, this counts as a single firewall rule for the server.

Azure Portal, PowerShell 또는 Transact-sql 문을 사용 하 여 서버 수준 IP 방화벽 규칙을 구성할 수 있습니다.You can configure server-level IP firewall rules by using the Azure portal, PowerShell, or Transact-SQL statements.

  • 포털 또는 PowerShell을 사용 하려면 구독 소유자 또는 구독 참가자 여야 합니다.To use the portal or PowerShell, you must be the subscription owner or a subscription contributor.
  • Transact-sql을 사용 하려면 서버 수준 보안 주체 로그인 또는 Azure Active Directory 관리자로 master 데이터베이스에 연결 해야 합니다.To use Transact-SQL, you must connect to the master database as the server-level principal login or as the Azure Active Directory administrator. 먼저 Azure 수준 사용 권한이 있는 사용자가 서버 수준 IP 방화벽 규칙을 만들어야 합니다.(A server-level IP firewall rule must first be created by a user who has Azure-level permissions.)

참고

기본적으로 Azure Portal에서 새 논리 SQL server를 만드는 동안 이 서버에 액세스할 수 있는 Azure 서비스 및 리소스 설정이 아니요 로 설정 됩니다.By default, during creation of a new logical SQL server from the Azure portal, the Allow Azure Services and resources to access this server setting is set to No.

데이터베이스 수준 IP 방화벽 규칙Database-level IP firewall rules

데이터베이스 수준 IP 방화벽 규칙을 사용 하면 클라이언트가 특정 (보안) 데이터베이스에 액세스할 수 있습니다.Database-level IP firewall rules enable clients to access certain (secure) databases. 각 데이터베이스 ( master 데이터베이스 포함)에 대 한 규칙을 만들어 개별 데이터베이스에 저장 합니다.You create the rules for each database (including the master database), and they're stored in the individual database.

  • 첫 번째 서버 수준 방화벽을 구성한 후에만 Transact-sql 문을 사용 하 여 master 및 사용자 데이터베이스에 대 한 데이터베이스 수준 IP 방화벽 규칙을 만들고 관리할 수 있습니다.You can only create and manage database-level IP firewall rules for master and user databases by using Transact-SQL statements and only after you configure the first server-level firewall.
  • 서버 수준 IP 방화벽 규칙의 범위를 벗어나는 데이터베이스 수준 IP 방화벽 규칙의 IP 주소 범위를 지정 하면 데이터베이스 수준 범위에서 IP 주소가 있는 클라이언트만 데이터베이스에 액세스할 수 있습니다.If you specify an IP address range in the database-level IP firewall rule that's outside the range in the server-level IP firewall rule, only those clients that have IP addresses in the database-level range can access the database.
  • 데이터베이스에 대해 최대 128개의 데이터베이스 수준 IP 방화벽 규칙을 가질 수 있습니다.You can have a maximum of 128 database-level IP firewall rules for a database. 데이터베이스 수준 IP 방화벽 규칙을 구성 하는 방법에 대 한 자세한 내용은이 문서의 뒷부분에 나오는 예제를 참조 하 고 sp_set_database_firewall_rule (Azure SQL Database)를 참조 하세요.For more information about configuring database-level IP firewall rules, see the example later in this article and see sp_set_database_firewall_rule (Azure SQL Database).

방화벽 규칙을 설정 하는 방법에 대 한 권장 사항Recommendations for how to set firewall rules

가능 하면 항상 데이터베이스 수준 IP 방화벽 규칙을 사용 하는 것이 좋습니다.We recommend that you use database-level IP firewall rules whenever possible. 이 방법을 사용하면 보안을 강화하고 데이터베이스의 이식성을 높일 수 있습니다.This practice enhances security and makes your database more portable. 관리자에 대해 서버 수준 IP 방화벽 규칙을 사용 합니다.Use server-level IP firewall rules for administrators. 동일한 액세스 요구 사항을 가진 데이터베이스가 많고 각 데이터베이스를 개별적으로 구성 하지 않으려는 경우에도이를 사용 합니다.Also use them when you have many databases that have the same access requirements, and you don't want to configure each database individually.

참고

비즈니스 연속성의 맥락에서 휴대용 데이터베이스에 대한 자세한 내용은 재해 복구를 위한 인증 요구 사항을 참조하세요.For information about portable databases in the context of business continuity, see Authentication requirements for disaster recovery.

서버 수준 및 데이터베이스 수준 IP 방화벽 규칙 비교Server-level versus database-level IP firewall rules

한 데이터베이스의 사용자가 다른 데이터베이스에서 완전히 분리되어야 하나요?Should users of one database be fully isolated from another database?

그렇다면 데이터베이스 수준 IP 방화벽 규칙을 사용 하 여 액세스 권한을 부여 합니다.If yes, use database-level IP firewall rules to grant access. 이 방법은 모든 데이터베이스에 대 한 방화벽을 통한 액세스를 허용 하는 서버 수준 IP 방화벽 규칙을 사용 하지 않습니다.This method avoids using server-level IP firewall rules, which permit access through the firewall to all databases. 그러면 방어 수준이 줄어듭니다.That would reduce the depth of your defenses.

IP 주소에서 사용자가 모든 데이터베이스에 액세스 해야 하나요?Do users at the IP addresses need access to all databases?

그렇다면 서버 수준 ip 방화벽 규칙을 사용 하 여 ip 방화벽 규칙을 구성 해야 하는 횟수를 줄입니다.If yes, use server-level IP firewall rules to reduce the number of times that you have to configure IP firewall rules.

IP 방화벽 규칙을 구성 하는 개인 이나 팀은 Azure Portal, PowerShell 또는 REST API을 통해서만 액세스할 수 있나요?Does the person or team who configures the IP firewall rules only have access through the Azure portal, PowerShell, or the REST API?

이 경우 서버 수준 IP 방화벽 규칙을 사용 해야 합니다.If so, you must use server-level IP firewall rules. 데이터베이스 수준 IP 방화벽 규칙은 Transact-sql을 통해서만 구성할 수 있습니다.Database-level IP firewall rules can only be configured through Transact-SQL.

IP 방화벽 규칙을 구성 하는 개인 이나 팀이 데이터베이스 수준에서 높은 수준의 사용 권한을 갖지 못하도록 허용 되나요?Is the person or team who configures the IP firewall rules prohibited from having high-level permission at the database level?

그렇다면 서버 수준 IP 방화벽 규칙을 사용 합니다.If so, use server-level IP firewall rules. Transact-sql을 통해 데이터베이스 수준 IP 방화벽 규칙을 구성 하려면 데이터베이스 수준에서 최소 제어 데이터베이스 권한이 있어야 합니다.You need at least CONTROL DATABASE permission at the database level to configure database-level IP firewall rules through Transact-SQL.

IP 방화벽 규칙을 구성 하거나 감사 하는 개인 이나 팀이 수천 개의 데이터베이스에 대 한 IP 방화벽 규칙을 중앙에서 관리 하나요?Does the person or team who configures or audits the IP firewall rules centrally manage IP firewall rules for many (perhaps hundreds) of databases?

이 시나리오에서 모범 사례는 요구 사항 및 환경에 따라 결정 됩니다.In this scenario, best practices are determined by your needs and environment. 서버 수준 IP 방화벽 규칙이 구성하기 더 쉬울 수 있지만 스크립팅은 데이터베이스 수준에서 규칙을 구성할 수 있습니다.Server-level IP firewall rules might be easier to configure, but scripting can configure rules at the database-level. 서버 수준 ip 방화벽 규칙을 사용 하는 경우에도 데이터베이스에 대 한 CONTROL 권한이 있는 사용자가 데이터베이스 수준 ip 방화벽 규칙을 만들 수 있는지 확인 하기 위해 데이터베이스 수준 ip 방화벽 규칙을 감사 해야 할 수 있습니다.And even if you use server-level IP firewall rules, you might need to audit database-level IP firewall rules to see if users with CONTROL permission on the database create database-level IP firewall rules.

서버 수준 및 데이터베이스 수준 IP 방화벽 규칙을 함께 사용할 수 있나요?Can I use a mix of server-level and database-level IP firewall rules?

예.Yes. 관리자와 같은 일부 사용자에 게는 서버 수준 IP 방화벽 규칙이 필요할 수 있습니다.Some users, such as administrators, might need server-level IP firewall rules. 데이터베이스 애플리케이션 사용자와 같은 경우는 데이터베이스 수준 IP 방화벽 규칙이 필요할 수 있습니다.Other users, such as users of a database application, might need database-level IP firewall rules.

인터넷에서 연결Connections from the internet

컴퓨터에서 인터넷을 통해 서버에 연결 하려고 하면 먼저 방화벽은 연결에서 요청 하는 데이터베이스에 대 한 데이터베이스 수준 IP 방화벽 규칙에 대해 요청의 원래 IP 주소를 확인 합니다.When a computer tries to connect to your server from the internet, the firewall first checks the originating IP address of the request against the database-level IP firewall rules for the database that the connection requests.

  • 주소가 데이터베이스 수준 IP 방화벽 규칙에 지정 된 범위 내에 있는 경우 해당 규칙을 포함 하는 데이터베이스에 대 한 연결이 부여 됩니다.If the address is within a range that's specified in the database-level IP firewall rules, the connection is granted to the database that contains the rule.
  • 주소가 데이터베이스 수준 IP 방화벽 규칙의 범위 내에 없는 경우 방화벽은 서버 수준 IP 방화벽 규칙을 확인 합니다.If the address isn't within a range in the database-level IP firewall rules, the firewall checks the server-level IP firewall rules. 주소가 서버 수준 IP 방화벽 규칙의 범위 내에 있는 경우 연결이 허용 됩니다.If the address is within a range that's in the server-level IP firewall rules, the connection is granted. 서버 수준 IP 방화벽 규칙은 서버에서 관리 하는 모든 데이터베이스에 적용 됩니다.Server-level IP firewall rules apply to all databases managed by the server.
  • 주소가 데이터베이스 수준 또는 서버 수준 IP 방화벽 규칙의 범위에 포함 되지 않은 경우 연결 요청이 실패 합니다.If the address isn't within a range that's in any of the database-level or server-level IP firewall rules, the connection request fails.

참고

로컬 컴퓨터에서 Azure SQL Database에 액세스 하려면 네트워크와 로컬 컴퓨터의 방화벽이 TCP 포트 1433에서 나가는 통신을 허용 하는지 확인 합니다.To access Azure SQL Database from your local computer, ensure that the firewall on your network and local computer allow outgoing communication on TCP port 1433.

Azure 내부에서 연결Connections from inside Azure

Azure 내에서 호스트 되는 응용 프로그램이 SQL server에 연결할 수 있도록 하려면 Azure 연결을 사용 하도록 설정 해야 합니다.To allow applications hosted inside Azure to connect to your SQL server, Azure connections must be enabled. Azure 연결을 사용 하도록 설정 하려면 시작 및 끝 IP 주소가 0.0.0.0으로 설정 된 방화벽 규칙이 있어야 합니다.To enable Azure connections, there must be a firewall rule with starting and ending IP addresses set to 0.0.0.0.

Azure의 응용 프로그램이 서버에 연결 하려고 하면 방화벽은이 방화벽 규칙이 있는지 확인 하 여 Azure 연결이 허용 되는지 확인 합니다.When an application from Azure tries to connect to the server, the firewall checks that Azure connections are allowed by verifying this firewall rule exists. 방화벽 및 가상 네트워크 설정에서이 서버에 액세스할 수 있는 Azure 서비스 및 리소스 허용 을 전환 하 여 Azure Portal 블레이드에서 직접 설정할 수 있습니다.This can be turned on directly from the Azure portal blade by switching the Allow Azure Services and resources to access this server to ON in the Firewalls and virtual networks settings. ON으로 설정 하면 이름이 AllowAllWindowsIP 인 IP 0.0.0.0-0.0.0.0에 대 한 인바운드 방화벽 규칙이 생성 됩니다.Setting to ON creates an inbound firewall rule for IP 0.0.0.0 - 0.0.0.0 named AllowAllWindowsIP. 포털을 사용 하지 않는 경우 PowerShell 또는 Azure CLI를 사용 하 여 시작 및 끝 IP 주소가 0.0.0.0으로 설정 된 방화벽 규칙을 만듭니다.Use PowerShell or the Azure CLI to create a firewall rule with start and end IP addresses set to 0.0.0.0 if you’re not using the portal.

중요

이 옵션은 다른 고객의 구독에서 연결을 포함 하 여 Azure의 모든 연결을 허용 하도록 방화벽을 구성 합니다.This option configures the firewall to allow all connections from Azure, including connections from the subscriptions of other customers. 이 옵션을 선택 하는 경우 로그인 및 사용자 권한이 권한 있는 사용자만 액세스할 수 있도록 제한 해야 합니다.If you select this option, make sure that your login and user permissions limit access to authorized users only.

권한Permissions

Azure SQL Server에 대한 IP 방화벽 규칙을 만들고 관리하려면 다음 중 하나에서 수행할 수 있습니다.To be able to create and manage IP firewall rules for the Azure SQL Server, you will need to either be:

IP 방화벽 규칙 만들기 및 관리Create and manage IP firewall rules

Azure Portal 를 사용 하거나 Azure PowerShell, Azure CLI또는 Azure REST API를 사용 하 여 프로그래밍 방식으로 첫 번째 서버 수준 방화벽 설정을 만듭니다.You create the first server-level firewall setting by using the Azure portal or programmatically by using Azure PowerShell, Azure CLI, or an Azure REST API. 이러한 메서드 또는 Transact-sql을 사용 하 여 추가 서버 수준 IP 방화벽 규칙을 만들고 관리 합니다.You create and manage additional server-level IP firewall rules by using these methods or Transact-SQL.

중요

Transact-sql을 사용 하 여 데이터베이스 수준 IP 방화벽 규칙을 만들고 관리할 수 있습니다.Database-level IP firewall rules can only be created and managed by using Transact-SQL.

성능 향상을 위해 서버 수준 IP 방화벽 규칙이 데이터베이스 수준에서 일시적으로 캐시됩니다.To improve performance, server-level IP firewall rules are temporarily cached at the database level. 캐시를 새로 고치려면 DBCC FLUSHAUTHCACHE를 참조하세요.To refresh the cache, see DBCC FLUSHAUTHCACHE.

데이터베이스 감사 를 사용 하 여 서버 수준 및 데이터베이스 수준 방화벽 변경을 감사할 수 있습니다.You can use Database Auditing to audit server-level and database-level firewall changes.

Azure Portal를 사용 하 여 서버 수준 IP 방화벽 규칙 관리Use the Azure portal to manage server-level IP firewall rules

Azure Portal에서 서버 수준 IP 방화벽 규칙을 설정 하려면 데이터베이스 또는 서버에 대 한 개요 페이지로 이동 합니다.To set a server-level IP firewall rule in the Azure portal, go to the overview page for your database or your server.

데이터베이스 개요 페이지에서From the database overview page

  1. 데이터베이스 개요 페이지에서 서버 수준 IP 방화벽 규칙을 설정 하려면 다음 그림과 같이 도구 모음에서 서버 방화벽 설정 을 선택 합니다.To set a server-level IP firewall rule from the database overview page, select Set server firewall on the toolbar, as the following image shows.

    서버 IP 방화벽 규칙

    서버에 대한 방화벽 설정 페이지가 열립니다.The Firewall settings page for the server opens.

  2. 도구 모음에서 클라이언트 Ip 추가 를 선택 하 여 사용 중인 컴퓨터의 IP 주소를 추가 하 고 저장 을 선택 합니다.Select Add client IP on the toolbar to add the IP address of the computer that you're using, and then select Save. 현재 IP 주소에 대한 서버 수준 IP 방화벽 규칙이 생성됩니다.A server-level IP firewall rule is created for your current IP address.

    서버 수준 IP 방화벽 규칙 설정

서버 개요 페이지에서From the server overview page

서버에 대 한 개요 페이지가 열립니다.The overview page for your server opens. 정규화 된 서버 이름 (예: mynewserver20170403.database.windows.net)을 표시 하 고 추가 구성을 위한 옵션을 제공 합니다.It shows the fully qualified server name (such as mynewserver20170403.database.windows.net) and provides options for further configuration.

  1. 이 페이지에서 서버 수준 규칙을 설정 하려면 왼쪽의 설정 메뉴에서 방화벽 을 선택 합니다.To set a server-level rule from this page, select Firewall from the Settings menu on the left side.

  2. 도구 모음에서 클라이언트 Ip 추가 를 선택 하 여 사용 중인 컴퓨터의 IP 주소를 추가 하 고 저장 을 선택 합니다.Select Add client IP on the toolbar to add the IP address of the computer that you're using, and then select Save. 현재 IP 주소에 대한 서버 수준 IP 방화벽 규칙이 생성됩니다.A server-level IP firewall rule is created for your current IP address.

Transact-sql을 사용 하 여 IP 방화벽 규칙 관리Use Transact-SQL to manage IP firewall rules

카탈로그 뷰 또는 저장 프로시저Catalog view or stored procedure LevelLevel 설명Description
sys.firewall_rulessys.firewall_rules 서버Server 현재 서버 수준 IP 방화벽 규칙을 표시합니다.Displays the current server-level IP firewall rules
sp_set_firewall_rulesp_set_firewall_rule 서버Server 서버 수준 IP 방화벽 규칙을 생성 및 업데이트합니다.Creates or updates server-level IP firewall rules
sp_delete_firewall_rulesp_delete_firewall_rule 서버Server 서버 수준 IP 방화벽 규칙을 제거합니다.Removes server-level IP firewall rules
sys.database_firewall_rulessys.database_firewall_rules 데이터베이스Database 현재 데이터베이스 수준 IP 방화벽 규칙을 표시합니다.Displays the current database-level IP firewall rules
sp_set_database_firewall_rulesp_set_database_firewall_rule 데이터베이스Database 데이터베이스 수준 IP 방화벽 규칙을 생성 및 업데이트합니다.Creates or updates the database-level IP firewall rules
sp_delete_database_firewall_rulesp_delete_database_firewall_rule 데이터베이스Databases 데이터베이스 수준 IP 방화벽 규칙을 제거합니다.Removes database-level IP firewall rules

다음 예에서는 기존 규칙을 검토 하 고, Contoso 서버에서 ip 주소 범위를 사용 하도록 설정 하 고, ip 방화벽 규칙을 삭제 합니다.The following example reviews the existing rules, enables a range of IP addresses on the server Contoso, and deletes an IP firewall rule:

SELECT * FROM sys.firewall_rules ORDER BY name;

다음으로 서버 수준 IP 방화벽 규칙을 추가합니다.Next, add a server-level IP firewall rule.

EXECUTE sp_set_firewall_rule @name = N'ContosoFirewallRule',
   @start_ip_address = '192.168.1.1', @end_ip_address = '192.168.1.10'

서버 수준 IP 방화벽 규칙을 삭제 하려면 sp_delete_firewall_rule 저장 프로시저를 실행 합니다.To delete a server-level IP firewall rule, execute the sp_delete_firewall_rule stored procedure. 다음 예에서는 에서는 contosofirewallrule 규칙을 삭제 합니다.The following example deletes the rule ContosoFirewallRule:

EXECUTE sp_delete_firewall_rule @name = N'ContosoFirewallRule'

PowerShell을 사용 하 여 서버 수준 IP 방화벽 규칙 관리Use PowerShell to manage server-level IP firewall rules

참고

이 문서는 Azure Az PowerShell 모듈을 사용하도록 업데이트되었습니다.This article has been updated to use the Azure Az PowerShell module. Az PowerShell 모듈은 Azure와 상호 작용하는 데 추천되는 PowerShell 모듈입니다.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. Az PowerShell 모듈을 시작하려면 Azure PowerShell 설치를 참조하세요.To get started with the Az PowerShell module, see Install Azure PowerShell. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

중요

PowerShell Azure Resource Manager 모듈은 Azure SQL Database에서 계속 지원 되지만 이제 Az. Sql 모듈에 대 한 모든 개발이 지원 됩니다.The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all development is now for the Az.Sql module. 이러한 cmdlet은 AzureRM.Sql을 참조하세요.For these cmdlets, see AzureRM.Sql. Az 및 AzureRm 모듈의 명령에 대 한 인수는 실질적으로 동일 합니다.The arguments for the commands in the Az and AzureRm modules are substantially identical.

CmdletCmdlet LevelLevel 설명Description
AzSqlServerFirewallRuleGet-AzSqlServerFirewallRule 서버Server 현재 서버 수준 방화벽 규칙 반환Returns the current server-level firewall rules
New-AzSqlServerFirewallRuleNew-AzSqlServerFirewallRule 서버Server 새 서버 수준 방화벽 규칙 만들기Creates a new server-level firewall rule
AzSqlServerFirewallRuleSet-AzSqlServerFirewallRule 서버Server 기존 서버 수준 방화벽 규칙 속성 업데이트Updates the properties of an existing server-level firewall rule
AzSqlServerFirewallRuleRemove-AzSqlServerFirewallRule 서버Server 서버 수준 방화벽 규칙 제거Removes server-level firewall rules

다음 예제에서는 PowerShell을 사용 하 여 서버 수준 IP 방화벽 규칙을 설정 합니다.The following example uses PowerShell to set a server-level IP firewall rule:

New-AzSqlServerFirewallRule -ResourceGroupName "myResourceGroup" `
    -ServerName $servername `
    -FirewallRuleName "ContosoIPRange" -StartIpAddress "192.168.1.0" -EndIpAddress "192.168.1.255"

$Servername에 대해 정규화 된 DNS 이름이 아닌 서버 이름을 지정 합니다. 예를 들어 mysqldbserver.database.windows.net 대신 mysqldbserver 를 지정 합니다.For $servername specify the server name and not the fully qualified DNS name e.g. specify mysqldbserver instead of mysqldbserver.database.windows.net

빠른 시작의 컨텍스트에서 PowerShell 예제를 보려면 PowerShell을 사용 하 여 DB 만들기-powershell단일 데이터베이스 만들기 및 서버 수준 IP 방화벽 규칙 구성을 참조 하세요.For PowerShell examples in the context of a quickstart, see Create DB - PowerShell and Create a single database and configure a server-level IP firewall rule using PowerShell.

CLI를 사용 하 여 서버 수준 IP 방화벽 규칙 관리Use CLI to manage server-level IP firewall rules

CmdletCmdlet LevelLevel 설명Description
az sql server firewall-rule createaz sql server firewall-rule create 서버Server 서버 IP 방화벽 규칙을 만듭니다.Creates a server IP firewall rule
az sql server firewall-rule listaz sql server firewall-rule list 서버Server 서버의 IP 방화벽 규칙을 나열합니다.Lists the IP firewall rules on a server
az sql server firewall-rule showaz sql server firewall-rule show 서버Server IP 방화벽 규칙의 세부 정보를 표시 합니다.Shows the detail of an IP firewall rule
az sql server firewall-rule updateaz sql server firewall-rule update 서버Server IP 방화벽 규칙을 업데이트 합니다.Updates an IP firewall rule
az sql server firewall-rule deleteaz sql server firewall-rule delete 서버Server IP 방화벽 규칙을 삭제 합니다.Deletes an IP firewall rule

다음 예제에서는 CLI를 사용 하 여 서버 수준 IP 방화벽 규칙을 설정 합니다.The following example uses CLI to set a server-level IP firewall rule:

az sql server firewall-rule create --resource-group myResourceGroup --server $servername \
-n ContosoIPRange --start-ip-address 192.168.1.0 --end-ip-address 192.168.1.255

$Servername에 대해 정규화 된 DNS 이름이 아닌 서버 이름을 지정 합니다. 예를 들어 mysqldbserver.database.windows.net 대신 mysqldbserver 를 지정 합니다.For $servername specify the server name and not the fully qualified DNS name e.g. specify mysqldbserver instead of mysqldbserver.database.windows.net

빠른 시작의 컨텍스트에서 CLI 예제는 Azure CLI를 사용 하 여 DB Azure CLI 만들기단일 데이터베이스 만들기 및 서버 수준 IP 방화벽 규칙 구성을 참조 하세요.For a CLI example in the context of a quickstart, see Create DB - Azure CLI and Create a single database and configure a server-level IP firewall rule using the Azure CLI.

REST API를 사용 하 여 서버 수준 IP 방화벽 규칙 관리Use a REST API to manage server-level IP firewall rules

APIAPI LevelLevel 설명Description
방화벽 규칙 나열List firewall rules 서버Server 현재 서버 수준 IP 방화벽 규칙을 표시합니다.Displays the current server-level IP firewall rules
방화벽 규칙 만들기 또는 업데이트Create or update firewall rules 서버Server 서버 수준 IP 방화벽 규칙을 생성 및 업데이트합니다.Creates or updates server-level IP firewall rules
방화벽 규칙 삭제Delete firewall rules 서버Server 서버 수준 IP 방화벽 규칙을 제거합니다.Removes server-level IP firewall rules
방화벽 규칙 가져오기Get firewall rules 서버Server 서버 수준 IP 방화벽 규칙을 가져옵니다.Gets server-level IP firewall rules

데이터베이스 방화벽 문제 해결Troubleshoot the database firewall

Azure SQL Database에 대 한 액세스가 예상과 다르게 작동 하는 경우 다음 사항을 고려 하세요.Consider the following points when access to Azure SQL Database doesn't behave as you expect.

  • 로컬 방화벽 구성:Local firewall configuration:

    컴퓨터가 Azure SQL Database에 액세스하려면 먼저 컴퓨터에서 TCP 포트 1433에 대한 방화벽 예외를 만들어야 하는 경우가 있습니다.Before your computer can access Azure SQL Database, you may need to create a firewall exception on your computer for TCP port 1433. Azure 클라우드 경계 내에서 연결을 만들려면 추가 포트를 열어야 할 수도 있습니다.To make connections inside the Azure cloud boundary, you may have to open additional ports. 자세한 내용은 ADO.NET 4.5 및 Azure SQL Database에 대해 1433를 초과하는 포트의 "SQL Database: 외부 vs 내부" 섹션을 참조 하세요.For more information, see the "SQL Database: Outside vs inside" section of Ports beyond 1433 for ADO.NET 4.5 and Azure SQL Database.

  • 네트워크 주소 변환:Network address translation:

    NAT (network address translation)로 인해 컴퓨터에서 Azure SQL Database에 연결 하는 데 사용 하는 IP 주소가 컴퓨터의 IP 구성 설정에 있는 IP 주소와 다를 수 있습니다.Because of network address translation (NAT), the IP address that's used by your computer to connect to Azure SQL Database may be different than the IP address in your computer's IP configuration settings. 컴퓨터에서 Azure에 연결 하는 데 사용 하는 IP 주소를 보려면 다음을 수행 합니다.To view the IP address that your computer is using to connect to Azure:

    1. 포털에 로그인합니다.Sign in to the portal.
    2. 데이터베이스를 호스트 하는 서버에서 구성 탭으로 이동 합니다.Go to the Configure tab on the server that hosts your database.
    3. 현재 클라이언트 Ip 주소허용 된 ip 주소 섹션에 표시 됩니다.The Current Client IP Address is displayed in the Allowed IP Addresses section. 허용 된 IP 주소 에 대해 추가 를 선택 하 여이 컴퓨터에서 서버에 액세스할 수 있도록 합니다.Select Add for Allowed IP Addresses to allow this computer to access the server.
  • 허용 목록에 대 한 변경 내용이 아직 적용 되지 않았습니다.Changes to the allow list haven't taken effect yet:

    Azure SQL Database 방화벽 구성에 대 한 변경 내용이 적용 되려면 최대 5 분 정도 걸릴 수 있습니다.There may be up to a five-minute delay for changes to the Azure SQL Database firewall configuration to take effect.

  • 로그인에 권한이 없거나 잘못 된 암호가 사용 되었습니다.The login isn't authorized, or an incorrect password was used:

    로그인에 서버에 대 한 사용 권한이 없거나 암호가 잘못 된 경우 서버에 대 한 연결이 거부 됩니다.If a login doesn't have permissions on the server or the password is incorrect, the connection to the server is denied. 방화벽 설정을 만들면 클라이언트에서 서버에 연결할 수 있는 기회가 제공 됩니다.Creating a firewall setting only gives clients an opportunity to try to connect to your server. 클라이언트는 여전히 필요한 보안 자격 증명을 제공 해야 합니다.The client must still provide the necessary security credentials. 로그인 준비에 대 한 자세한 내용은 데이터베이스 액세스 제어 및 권한 부여를 참조 하세요.For more information about preparing logins, see Controlling and granting database access.

  • 동적 IP 주소:Dynamic IP address:

    동적 IP 주소 지정을 사용 하는 인터넷 연결이 있고 방화벽을 통과 하는 데 문제가 있는 경우 다음 해결 방법 중 하나를 시도해 보세요.If you have an internet connection that uses dynamic IP addressing and you have trouble getting through the firewall, try one of the following solutions:

    • 인터넷 서비스 공급자에 게 서버에 액세스 하는 클라이언트 컴퓨터에 할당 된 IP 주소 범위를 요청 합니다.Ask your internet service provider for the IP address range that's assigned to your client computers that access the server. Ip 주소 범위를 IP 방화벽 규칙으로 추가 합니다.Add that IP address range as an IP firewall rule.
    • 클라이언트 컴퓨터에 대 한 고정 IP 주소 지정을 대신 가져옵니다.Get static IP addressing instead for your client computers. Ip 주소를 IP 방화벽 규칙으로 추가 합니다.Add the IP addresses as IP firewall rules.

다음 단계Next steps