Azure SQL Database と SQL Data Warehouse の IP ファイアウォール規則Azure SQL Database and SQL Data Warehouse IP firewall rules

Microsoft Azure SQL DatabaseSQL Data Warehouse は、Azure とその他のインターネット ベースのアプリケーション用のリレーショナル データベース サービスを提供します。Microsoft Azure SQL Database and SQL Data Warehouse provide a relational database service for Azure and other Internet-based applications. データを保護するため、ファイアウォールは、どのコンピューターに権限を持たせるかを指定するまで、データベース サーバーへのすべてのアクセスを遮断します。To help protect your data, firewalls prevent all access to your database server until you specify which computers have permission. ファイアウォールは、各要求の送信元 IP アドレスに基づいてデータベースへのアクセス権を付与します。The firewall grants access to databases based on the originating IP address of each request.

注意

この記事は Azure SQL サーバーのほか、その Azure SQL サーバーに作成される SQL Database と SQL Data Warehouse の両方に当てはまります。This article applies to Azure SQL server, and to both SQL Database and SQL Data Warehouse databases that are created on the Azure SQL server. わかりやすいように、SQL Database という言葉で SQL Database と SQL Data Warehouse の両方を言い表します。For simplicity, SQL Database is used when referring to both SQL Database and SQL Data Warehouse.

重要

この記事は、Azure SQL Database Managed Instance には "適用されません"。This article does not apply to Azure SQL Database Managed Instance. 必要なネットワーク構成について詳しくは、Managed Instance への接続に関する記事をご覧ください。Please see the following article on connecting to a Managed Instance for more information about the networking configuration needed.

IP 規則に代わる手段としての仮想ネットワーク規則Virtual network rules as alternatives to IP rules

IP 規則に加えて、ファイアウォールは仮想ネットワーク規則も管理します。In addition to IP rules, the firewall also manages virtual network rules. 仮想ネットワーク規則は、仮想ネットワーク サービス エンドポイントに基づいています。Virtual network rules are based on Virtual Network service endpoints. 仮想ネットワーク規則は、場合によっては IP 規則より望ましい場合があります。Virtual network rules might be preferable to IP rules in some cases. 詳細については、Azure SQL Database の仮想ネットワーク サービス エンドポイントと規則に関する記事をご覧ください。To learn more, see Virtual Network service endpoints and rules for Azure SQL Database.

概要Overview

最初は、Azure SQL サーバーへのすべてのアクセスが、SQL Database ファイアウォールによってブロックされます。Initially, all access to your Azure SQL server is blocked by the SQL Database firewall. データベース サーバーにアクセスするには、Azure SQL サーバーへのアクセスを有効にするサーバー レベルの IP ファイアウォール規則を、1 つまたは複数指定する必要があります。To access a database server, you must specify one or more server-level IP firewall rules that enable access to your Azure SQL server. IP ファイアウォール規則を使用すると、インターネットからのアクセスを許可する IP アドレス範囲、および Azure アプリケーションから Azure SQL サーバーへの接続を試みることができるかどうかを指定できます。Use the IP firewall rules to specify which IP address ranges from the Internet are allowed, and whether Azure applications can attempt to connect to your Azure SQL server.

Azure SQL サーバーにある 1 つのデータベースにのみ選択的にアクセス許可を付与するには、必要なデータベース用のデータベース レベルの規則を作成する必要があります。To selectively grant access to just one of the databases in your Azure SQL server, you must create a database-level rule for the required database. データベース IP ファイアウォール規則に対して、サーバー レベルの IP ファイアウォール規則で指定された IP アドレス範囲外の IP アドレスの範囲を指定し、クライアントの IP アドレス範囲が、データベース レベルの規則で指定された範囲内に確実に収まるようにします。Specify an IP address range for the database IP firewall rule that is beyond the IP address range specified in the server-level IP firewall rule, and ensure that the IP address of the client falls in the range specified in the database-level rule.

重要

SQL Data Warehouse では、サーバー レベルの IP ファイアウォール規則のみがサポートされており、データベース レベルの IP ファイアウォール規則はサポートされていません。SQL Data Warehouse only supports server-level IP firewall rules and does not support database-level IP firewall rules.

インターネットおよび Azure からの接続の試行は、次の図に示されるように、Azure SQL サーバーまたは SQL Database に到達する前にファイアウォールを通過する必要があります。Connection attempts from the Internet and Azure must first pass through the firewall before they can reach your Azure SQL server or SQL Database, as shown in the following diagram:

Diagram describing firewall configuration.

  • サーバーレベルの IP ファイアウォール規則:Server-level IP firewall rules:

    これらの規則により、クライアントは、Azure SQL サーバー全体、つまり、同じ SQL Database サーバー内のすべてのデータベースにアクセスできるようになります。These rules enable clients to access your entire Azure SQL server, that is, all the databases within the same SQL Database server. これらの規則は、 マスター データベースに保存されます。These rules are stored in the master database. サーバー レベルの IP ファイアウォール規則を構成するには、ポータルまたは Transact-SQL ステートメントを使用します。Server-level IP firewall rules can be configured by using the portal or by using Transact-SQL statements. Azure portal または PowerShell を使用してサーバー レベルの IP ファイアウォール規則を作成するには、サブスクリプション所有者またはサブスクリプション共同作成者である必要があります。To create server-level IP firewall rules using the Azure portal or PowerShell, you must be the subscription owner or a subscription contributor. Transact-SQL を使用してサーバー レベルの IP ファイアウォール規則を作成するには、サーバー レベルのプリンシパル ログインまたは Azure Active Directory 管理者として SQL データベース インスタンスに接続する必要があります (つまり、サーバー レベルの IP ファイアウォール規則は、最初に Azure レベルのアクセス許可を持つユーザーが作成する必要があります)。To create a server-level IP firewall rule using Transact-SQL, you must connect to the SQL Database instance as the server-level principal login or the Azure Active Directory administrator (which means that a server-level IP firewall rule must first be created by a user with Azure-level permissions).

  • データベース レベルの IP ファイアウォール規則:Database-level IP firewall rules:

    これらの規則により、クライアントは、同じ SQL Database サーバー内の特定の (セキュリティで保護された) データベースにアクセスできるようになります。These rules enable clients to access certain (secure) databases within the same SQL Database server. これらの規則は、データベースごと (master データベースを含む) に作成することができ、個々のデータベースに格納されます。You can create these rules for each database (including the master database) and they are stored in the individual databases. master データベースとユーザー データベースのデータベース レベルの IP ファイアウォール規則は、Transact-SQL ステートメントを使うことによって、最初のサーバーレベルのファイアウォール規則を構成した後でのみ、作成および管理できます。Database-level IP firewall rules for master and user databases can only be created and managed by using Transact-SQL statements and only after you have configured the first server-level firewall. サーバー レベルの IP ファイアウォール規則で指定された範囲外にあるデータベース レベルの IP ファイアウォール規則で IP アドレスの範囲を指定した場合、データベース レベルの範囲の IP アドレスを持つクライアントのみがデータベースにアクセスできます。If you specify an IP address range in the database-level IP firewall rule that is outside the range specified 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 on configuring database-level IP firewall rules, see the example later in this article and see sp_set_database_firewall_rule (Azure SQL Database).

推奨Recommendation

ただし、セキュリティを強化しデータベースの移植性を高めるため、可能な限りデータベース レベルの IP ファイアウォール規則を使用することをお勧めします。Microsoft recommends using database-level IP firewall rules whenever possible to enhance security and to make your database more portable. アクセス要件が同じデータベースが多数存在し、それぞれのデータベースの設定に時間を費やしたくない場合は、管理者向けのサーバー レベルの IP ファイアウォール規則を使用します。Use server-level IP firewall rules for administrators and when you have many databases that have the same access requirements and you don't want to spend time configuring each database individually.

重要

Windows Azure SQL Database では、最大 128 個の IP ファイアウォール規則がサポートされています。Windows Azure SQL Database supports a maximum of 128 IP firewall rules.

注意

ビジネス継続性のコンテキストにおける移植可能なデータベースについては、障害復旧の認証要件に関する記事を参照してください。For information about portable databases in the context of business continuity, see Authentication requirements for disaster recovery.

インターネットからの接続Connecting from the Internet

コンピューターがインターネットからデータベース サーバーに接続しようとすると、ファイアウォールは、最初に、接続を要求しているデータベースについて、データベース レベルの IP ファイアウォール規則に対する要求の送信元の IP アドレスを確認します。When a computer attempts to connect to your database 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 is requesting:

  • 要求の IP アドレスがデータベース レベルの IP ファイアウォール規則で指定されたいずれかの IP アドレス範囲内にある場合は、その規則を含む SQL Database への接続が許可されます。If the IP address of the request is within one of the ranges specified in the database-level IP firewall rules, the connection is granted to the SQL Database that contains the rule.
  • 要求の IP アドレスがデータベース レベルの IP ファイアウォール規則で指定されたいずれかの IP アドレス範囲内にない場合は、サーバー レベルの IP ファイアウォール規則が確認されます。If the IP address of the request is not within one of the ranges specified in the database-level IP firewall rule, the server-level IP firewall rules are checked. 要求の IP アドレスがサーバー レベルの IP ファイアウォール規則で指定されたいずれかの IP アドレス範囲内にある場合は、接続が許可されます。If the IP address of the request is within one of the ranges specified in the server-level IP firewall rules, the connection is granted. サーバー レベルの IP ファイアウォール規則は、Azure SQL Server 上のすべての SQL Database に適用されます。Server-level IP firewall rules apply to all SQL databases on the Azure SQL server.
  • 要求の IP アドレスがデータベース レベルの IP ファイアウォール規則またはサーバー レベルの IP ファイアウォール規則で指定された IP アドレス範囲内にない場合、接続要求は失敗します。If the IP address of the request is not within the ranges specified 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 the firewall on your network and local computer allows outgoing communication on TCP port 1433.

Azure からの接続Connecting from Azure

Azure のアプリケーションから Azure SQL Server に接続を許可するには、Azure の接続を有効にする必要があります。To allow applications from Azure to connect to your Azure SQL server, Azure connections must be enabled. Azure からアプリケーションがデータベース サーバーに接続しようとした場合、ファイアウォールは、Azure の接続が許可されていることを確認します。When an application from Azure attempts to connect to your database server, the firewall verifies that Azure connections are allowed. 開始アドレスと終了アドレスが 0.0.0.0 であるファイアウォール設定は、Azure 接続が許可されていることを示します。A firewall setting with starting and ending address equal to 0.0.0.0 indicates Azure connections are allowed. 接続試行が許可されていない場合、要求は、Azure SQL Database サーバーに到達しません。If the connection attempt is not allowed, the request does not reach the Azure SQL Database server.

重要

このオプションは、ファイアウォールを構成して、他のお客様のサブスクリプションからの接続を含むすべての接続を許可します。This option configures the firewall to allow all connections from Azure including connections from the subscriptions of other customers. このオプションを選択する場合は、ログインおよびユーザーのアクセス許可が、承認されたユーザーのみにアクセスを制限していることを確認してください。When selecting this option, make sure your login and user permissions limit access to only authorized users.

IP ファイアウォール規則の作成と管理Creating and managing IP firewall rules

最初のサーバー レベルのファイアウォール設定は、Azure ポータルを使用するか、プログラムで Azure PowerShellAzure CLI、または REST API を使用して作成できます。The first server-level firewall setting can be created using the Azure portal or programmatically using Azure PowerShell, Azure CLI, or the REST API. それ以降のサーバー レベルの IP ファイアウォール規則の作成と管理も、これらの方法や Transact-SQL を使用して実行できます。Subsequent server-level IP firewall rules can be created and managed using these methods, and through Transact-SQL.

重要

データベース レベルの IP ファイアウォール規則は、Transact-SQL でのみ作成と管理が可能です。Database-level IP firewall rules can only be created and managed 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.

ヒント

SQL Database 監査を使用して、サーバー レベルおよびデータベース レベルのファイアウォールの変更を監査できます。You can use SQL Database Auditing to audit server-level and database-level firewall changes.

Azure portal を使用してサーバー レベルの IP ファイアウォール規則を管理するManage server-level IP firewall rules using the Azure portal

Azure portal でサーバー レベルの IP ファイアウォール規則を設定するには、ご利用の Azure SQL データベースの [概要] ページまたはご利用の SQL Database サーバーの [概要] ページに移動します。To set a server-level IP firewall rule in the Azure portal, you can either go to the Overview page for your Azure SQL database or the Overview page for your SQL Database server.

ヒント

チュートリアルについては、「Create a DB using the Azure portal (Azure Portal を使用した DB の作成)」を参照してください。For a tutorial, see Create a DB using the Azure portal.

データベースの概要ページからFrom database overview page

  1. データベースの概要ページからサーバー レベルの IP ファイアウォール規則を設定するには、次の画像に示されているように、ツールバー上の [サーバー ファイアウォールの設定] をクリックします。SQL Database サーバーの [ファイアウォール設定] ページが開きます。To set a server-level IP firewall rule from the database overview page, click Set server firewall on the toolbar as shown in the following image: The Firewall settings page for the SQL Database server opens.

    サーバーの IP ファイアウォール規則

  2. ツールバーの [クライアント IP の追加] をクリックし、現在使用しているコンピューターの IP アドレスを追加したら、 [保存] をクリックします。Click Add client IP on the toolbar to add the IP address of the computer you are currently using and then click Save. 現在の IP アドレスに対してサーバー レベルの IP ファイアウォール規則が作成されます。A server-level IP firewall rule is created for your current IP address.

    サーバー レベルの IP ファイアウォール規則を設定する

サーバーの概要ページからFrom server overview page

サーバーの概要ページが開き、完全修飾サーバー名 (mynewserver20170403.database.windows.net など) や追加の構成オプションが表示されます。The overview page for your server opens, showing you 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 server overview page, click Firewall in the left-hand menu under Settings:

  2. ツールバーの [クライアント IP の追加] をクリックし、現在使用しているコンピューターの IP アドレスを追加したら、 [保存] をクリックします。Click Add client IP on the toolbar to add the IP address of the computer you are currently using and then click Save. 現在の IP アドレスに対してサーバー レベルの IP ファイアウォール規則が作成されます。A server-level IP firewall rule is created for your current IP address.

Transact-SQL を使って IP ファイアウォール規則を管理するManage IP firewall rules using Transact-SQL

カタログ ビューまたはストアド プロシージャ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 DatabaseDatabase 現在のデータベース レベルの IP ファイアウォール規則を表示するDisplays the current database-level IP firewall rules
sp_set_database_firewall_rulesp_set_database_firewall_rule DatabaseDatabase データベース レベルの 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 examples review the existing rules, enable 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 named ContosoFirewallRule:

EXECUTE sp_delete_firewall_rule @name = N'ContosoFirewallRule'

Azure PowerShell を使用してサーバー レベルの IP ファイアウォール規則を管理するManage server-level IP firewall rules using Azure PowerShell

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

重要

PowerShell Azure Resource Manager モジュールは Azure SQL Database で引き続きサポートされますが、今後の開発はすべて Az.Sql モジュールを対象に行われます。The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. これらのコマンドレットについては、「AzureRM.Sql」を参照してください。For these cmdlets, see AzureRM.Sql. Az モジュールと AzureRm モジュールのコマンドの引数は実質的に同じです。The arguments for the commands in the Az module and in the AzureRm modules are substantially identical.

コマンドレットCmdlet LevelLevel 説明Description
Get-AzSqlServerFirewallRuleGet-AzSqlServerFirewallRule サーバーServer 現在のサーバー レベルのファイアウォール規則を返すReturns the current server-level firewall rules
New-AzSqlServerFirewallRuleNew-AzSqlServerFirewallRule サーバーServer 新しいサーバー レベルのファイアウォール規則を作成Creates a new server-level firewall rule
Set-AzSqlServerFirewallRuleSet-AzSqlServerFirewallRule サーバーServer 既存のサーバー レベルのファイアウォール規則のプロパティを更新Updates the properties of an existing server-level firewall rule
Remove-AzSqlServerFirewallRuleRemove-AzSqlServerFirewallRule サーバーServer サーバー レベルのファイアウォール規則を削除Removes server-level firewall rules

次の例では、PowerShell を使用してサーバー レベルの IP ファイアウォール規則を設定します。The following example sets a server-level IP firewall rule using PowerShell:

New-AzSqlServerFirewallRule -ResourceGroupName "myResourceGroup" `
    -ServerName $servername `
    -FirewallRuleName "AllowSome" -StartIpAddress "0.0.0.0" -EndIpAddress "0.0.0.0"

ヒント

クイック スタートのコンテキストでの PowerShell の例については、DB の作成 - PowerShell に関するページと PowerShell を使用した単一データベースの作成と SQL Database のサーバー レベルの IP ファイアウォール規則の構成に関するページを参照してくださいFor PowerShell examples in the context of a quick start, see Create DB - PowerShell and Create a single database and configure a SQL Database server-level IP firewall rule using PowerShell

Azure CLI を使用してサーバー レベルの IP ファイアウォール規則を管理するManage server-level IP firewall rules using Azure CLI

コマンドレットCmdlet 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

次の例では、Azure CLI を使用してサーバー レベルの IP ファイアウォール規則を設定します。The following example sets a server-level IP firewall rule using the Azure CLI:

az sql server firewall-rule create --resource-group myResourceGroup --server $servername \
-n AllowYourIp --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

ヒント

クイック スタートのコンテキストでの Azure CLI の例については、DB の作成 - Azure CLI に関するページと Azure CLI を使用した単一データベースの作成と SQL Database の IP ファイアウォール規則の構成に関するページを参照してくださいFor an Azure CLI example in the context of a quick start, see Create DB - Azure CLI and Create a single database and configure a SQL Database IP firewall rule using the Azure CLI

REST API を使用してサーバー レベルの IP ファイアウォール規則を管理するManage server-level IP firewall rules using REST API

APIAPI LevelLevel 説明Description
ファイアウォール規則の一覧表示List Firewall Rules サーバーServer 現在のサーバー レベルの IP ファイアウォール規則を表示するDisplays the current server-level IP firewall rules
ファイアウォール規則の作成または更新Create or Update Firewall Rule サーバーServer サーバー レベルの IP ファイアウォール規則を作成または更新するCreates or updates server-level IP firewall rules
ファイアウォール規則の削除Delete Firewall Rule サーバーServer サーバー レベルの IP ファイアウォール規則を削除するRemoves server-level IP firewall rules
ファイアウォール規則の取得Get Firewall Rules サーバーServer サーバー レベルの IP ファイアウォール規則を取得するGets server-level IP firewall rules

サーバー レベルとデータベース レベルの IP ファイアウォール規則Server-level versus database-level IP firewall rules

Q.Q. 個々のデータベースのユーザーを別のデータベースから完全に分離する必要がありますか?Should users of one database be fully isolated from another database? 分離する必要がある場合は、データベース レベルの IP ファイアウォール規則を使用してアクセスを許可します。If yes, grant access using database-level IP firewall rules. これにより、サーバー レベルの IP ファイアウォール規則の使用を回避できます。サーバー レベルの IP ファイアウォール規則では、すべてのデータベースへのファイアウォール経由のアクセスが許可されるので、セキュリティが低下します。This avoids using server-level IP firewall rules, which permit access through the firewall to all databases, reducing the depth of your defenses.

Q.Q. 指定した IP アドレスのユーザーがすべてのデータベースにアクセスする必要がありますか?Do users at the IP address’s need access to all databases? サーバー レベルの IP ファイアウォール規則を使用すると、IP ファイアウォール規則を構成する回数を減らすことができます。Use server-level IP firewall rules to reduce the number of times you must configure IP firewall rules.

Q.Q. IP ファイアウォール規則を構成する個人またはチームが、Azure portal、PowerShell、または REST API からのみ、アクセスが許可されていますか?Does the person or team configuring the IP firewall rules only have access through the Azure portal, PowerShell, or the REST API? サーバー レベルの IP ファイアウォール規則を使用する必要があります。You must use server-level IP firewall rules. データベース レベルの IP ファイアウォール規則は、Transact-SQL でのみ構成できます。Database-level IP firewall rules can only be configured using Transact-SQL.

Q.Q. IP ファイアウォール規則を構成する個人またはチームが、データベース レベルでの高度なアクセス許可を持つことが禁止されていますか?Is the person or team configuring the IP firewall rules prohibited from having high-level permission at the database level? サーバー レベルの IP ファイアウォール規則を使用します。Use server-level IP firewall rules. Transact-SQL でデータベース レベルの IP ファイアウォール規則を構成するには、データベース レベルで少なくとも CONTROL DATABASE のアクセス許可が必要です。Configuring database-level IP firewall rules using Transact-SQL, requires at least CONTROL DATABASE permission at the database level.

Q.Q. IP ファイアウォール規則を構成または監査する個人またはチームが、多くの (数百の) データベースの IP ファイアウォール規則を一元的に管理していますか?Is the person or team configuring or auditing the IP firewall rules, centrally managing IP firewall rules for many (perhaps 100s) of databases? この場合はニーズや環境によって異なります。This selection depends upon 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 ファイアウォール規則を使用する場合でも、データベース レベルの IP ファイアウォール規則の監査が必要になることもあります。これは、データベースに対する CONTROL のアクセス許可を持つユーザーは、データベース レベルの IP ファイアウォール規則を作成できるためです。And even if you use server-level IP firewall rules, you might need to audit the database-level IP firewall rules, to see if users with CONTROL permission on the database have created database-level IP firewall rules.

Q.Q. サーバー レベルの IP ファイアウォール規則とデータベース レベルの IP ファイアウォール規則を混在させることはできますか?Can I use a mix of both 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.

データベース ファイアウォールのトラブルシューティングTroubleshooting the database firewall

Microsoft Azure SQL Database サービスへ期待どおりにアクセスできない場合は、次の点を検討してください。Consider the following points when access to the Microsoft Azure SQL Database service does not 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 クラウド境界内で接続を行う場合は、追加のポートをいくつか開かなければならない場合があります。If you are making connections inside the Azure cloud boundary, you may have to open additional ports. 詳細については、SQL Database の外部と内部に関するセクションを、ADO.NET 4.5 と SQL Database における 1433 以外のポートに関する記事で確認してください。For more information, see the SQL Database: Outside vs inside section of Ports beyond 1433 for ADO.NET 4.5 and SQL Database.

  • ネットワーク アドレス変換 (NAT):Network address translation (NAT):

    NAT が原因で、Azure SQL Database に接続するコンピューターで使用される IP アドレスが、コンピューターの IP 構成設定で表示される IP アドレスと異なっている場合があります。Due to NAT, the IP address used by your computer to connect to Azure SQL Database may be different than the IP address shown in your computer IP configuration settings. Azure に接続するためにコンピューターで使用している IP アドレスを表示するには、ポータルにログインし、データベースをホストしているサーバーの [構成] タブに移動します。To view the IP address your computer is using to connect to Azure, log in to the portal and navigate to the Configure tab on the server that hosts your database. [許可された IP アドレス] セクションに、現在のクライアント IP アドレスが表示されます。Under the Allowed IP Addresses section, the Current Client IP Address is displayed. [追加] をクリックして [使用できる IP アドレス] に追加し、このコンピューターのサーバーへのアクセスを許可します。Click Add to the Allowed IP Addresses to allow this computer to access the server.

  • 許可一覧に変更が反映されない:Changes to the allow list have not taken effect yet:

    Azure SQL Database ファイアウォールの構成に対する変更が反映されるまで最大 5 分間の遅延が発生する場合があります。There may be as much as a five-minute delay for changes to the Azure SQL Database firewall configuration to take effect.

  • ログインが許可されない、または正しくないパスワードが使用された:The login is not authorized or an incorrect password was used:

    Azure SQL Database サーバーでは、ログインのアクセス許可がないか、使用したパスワードが正しくない場合、Azure SQL Database サーバーへの接続は拒否されます。If a login does not have permissions on the Azure SQL Database server or the password used is incorrect, the connection to the Azure SQL Database server is denied. ファイアウォール設定の作成は、クライアントに対し、サーバーへの接続を試行する機会のみを提供します。それぞれのクライアントは、必要なセキュリティ資格情報を提供する必要があります。Creating a firewall setting only provides clients with an opportunity to attempt connecting to your server; each client must provide the necessary security credentials. ログインを準備する方法の詳細については、「データベースの管理」、「ログイン」、および「Azure SQL Database 内のユーザー」を参照してください。For more information about preparing logins, see Managing Databases, Logins, and Users in Azure SQL Database.

  • 動的 IP アドレス:Dynamic IP address:

    動的 IP アドレス指定によるインターネット接続を使用しており、ファイアウォールの通過に問題が発生している場合は、次の解決策のいずれかをお試しください。If you have an Internet connection with dynamic IP addressing and you are having trouble getting through the firewall, you could try one of the following solutions:

    • Azure SQL Database サーバーへアクセスするクライアント コンピューターに割り当てられている IP アドレス範囲について、インターネット サービス プロバイダー (ISP) に問い合わせ、IP ファイアウォール規則として、IP アドレス範囲を追加してください。Ask your Internet Service Provider (ISP) for the IP address range assigned to your client computers that access the Azure SQL Database server, and then add the IP address range as an IP firewall rule.
    • 代わりに、クライアント コンピューター用に静的 IP アドレスを取得し、IP ファイアウォール規則として、IP アドレスを追加してください。Get static IP addressing instead for your client computers, and then add the IP addresses as IP firewall rules.

次の手順Next steps