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

適用対象: はいAzure SQL Database はいAzure Synapse Analytics (SQL DW)APPLIES TO: yesAzure SQL Database yesAzure Synapse Analytics (SQL DW)

たとえば、Azure SQL Database または Azure Synapse 内に mysqlserver という名前の新しいサーバーを作成すると、サーバー レベルのファイアウォールによって、そのサーバー (mysqlserver.database.windows.net でアクセス可能) のパブリック エンドポイントへのすべてのアクセスがブロックされます。When you create a new server in Azure SQL Database or Azure Synapse 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 (旧称 Azure SQL Data Warehouse) の両方を言い表します。For simplicity, SQL Database is used to refer to both SQL Database and Azure Synapse (formerly Azure SQL Data Warehouse).

重要

この記事は、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. 1 つのサーバーに対し、最大 128 個のサーバー レベルの IP ファイアウォール規則を作成できます。You can have a maximum of 128 server-level IP firewall rules for a server. [Azure サービスおよびリソースにこのサーバーへのアクセスを許可する] の設定を有効にしてある場合、これはサーバーに対する 1 つのファイアウォール規則としてカウントされます。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.

サーバー レベルの IP ファイアウォール規則を構成するには、Azure portal、PowerShell、または Transact-SQL ステートメントを使用します。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 管理者として "マスター" データベースに接続する必要があります。To use Transact-SQL, you must connect to the master database as the server-level principal login or as the Azure Active Directory administrator. (サーバー レベルの IP ファイアウォール規則は、Azure レベルのアクセス許可を持つユーザーが最初に作成する必要があります。)(A server-level IP firewall rule must first be created by a user who has Azure-level permissions.)

データベース レベルの 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.

  • master データベースとユーザー データベースのデータベース レベルの IP ファイアウォール規則は、Transact-SQL ステートメントを使うことによって、最初のサーバー レベルのファイアウォール規則を構成した後でのみ、作成および管理できます。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 ファイアウォール規則を構成するには、データベース レベルで少なくとも CONTROL DATABASE 権限が必要です。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 ファイアウォール規則を使用する場合でも、データベース レベルの IP ファイアウォール規則の監査が必要になることもあります。これは、データベースに対する CONTROL 権限を持つユーザーがデータベース レベルの 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 ファイアウォール規則とデータベース レベルの 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 からアプリケーションがサーバーに接続しようとした場合、ファイアウォールは、Azure の接続が許可されていることを確認します。When an application from Azure tries to connect to your server, the firewall verifies that Azure connections are allowed. これは、ファイアウォール ルールを設定し、 [ファイアウォールと仮想ネットワーク] 設定で [Azure サービスおよびリソースにこのサーバーへのアクセスを許可する][オン] に切り替えることで Azure portal から直接オンにすることができます。This can be turned on directly from the Azure portal blade by setting Firewall rules, as well as switching the Allow Azure Services and resources to access this server to ON in the Firewalls and virtual networks settings. 接続が許可されていない場合、要求はサーバーに到達しません。If the connection isn't allowed, the request doesn't reach the server.

重要

このオプションでは、他のお客様のサブスクリプションからの接続を含む、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.

IP ファイアウォール規則の作成および管理Create and manage IP firewall rules

最初のサーバー レベルのファイアウォール設定は、Azure portal を使用するか、プログラムで Azure PowerShellAzure 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. 追加のサーバー レベルの IP ファイアウォール規則を作成して管理するには、これらの方法または Transact-SQL を使用します。You create and manage additional server-level IP firewall rules by using these methods or Transact-SQL.

重要

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

ヒント

チュートリアルについては、Azure portal を使用したデータベースの作成に関するページをご覧ください。For a tutorial, see Create a database using the Azure portal.

データベースの概要ページから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 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 development is now for the Az.Sql module. これらのコマンドレットについては、「AzureRM.Sql」を参照してください。For these cmdlets, see AzureRM.Sql. Az モジュールと AzureRm モジュールのコマンドの引数は実質的に同じです。The arguments for the commands in the Az and 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 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 の例については、DB の作成 - PowerShell に関するページと 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

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

次の例では、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 の例については、DB の作成 - Azure CLI に関するページと 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. 詳細については、SQL Database の外部と内部に関するセクションを、ADO.NET 4.5 と Azure SQL Database における 1433 以外のポートに関する記事で参照してください。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) が原因で、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