Azure SQL Database と Azure Synapse Analytics の送信ファイアウォール ルール

適用対象: Azure SQL データベース Azure Synapse Analytics (専用 SQL プールのみ)

送信ファイアウォール規則により、Azure SQL 論理サーバーからのネットワーク トラフィックが、顧客が定義した Azure Storage アカウントおよび Azure SQL 論理サーバーの一覧に限定されます。 この一覧にないストレージ アカウントまたはデータベースにアクセスしようとすると、拒否されます。 この機能をサポートする Azure SQL Database 機能は次のとおりです。

重要

  • この記事は、Azure SQL Database と Azure Synapse Analytics の専用 SQL プール (以前の SQL DW) の両方に適用されます。 これらの設定は、このサーバーに関連するすべての SQL Database と専用 SQL プール (以前の SQL DW) データベースに適用されます。 単純にするために、"データベース" という言葉で Azure SQL Database と Azure Synapse Analytics の両方のデータベースを表すことにします。 同様に、"サーバー" という言葉は、Azure SQL Database と Azure Synapse Analytics の専用 SQL プール (以前の SQL DW) をホストする論理 SQL サーバーを表しています。 この記事は、Azure SQL Managed Instance または Azure Synapse Analytics ワークスペースの専用 SQL プールには適用 "されません"。
  • 送信ファイアウォール ルールは、論理サーバーで定義されます。 geo レプリケーションとフェールオーバー グループでは、プライマリとすべてのセカンダリで同じ規則セットを定義する必要があります。

Azure portal で送信ファイアウォール規則を設定する

  1. Azure SQL Database の[ファイアウォールと Virtual Network] ウィンドウの[送信ネットワーク]セクションに移動し、[送信ネットワーク制限の構成]を選択します。

    [Outbound networking]\(送信ネットワーク\) セクションのスクリーンショット

    右側に次のウィンドウを開きます。

    何も選択されていない送信ネットワーク ウィンドウのスクリーンショット

  2. [Restrict outbound networking](送信ネットワークの制限) というチェック ボックスをオンにし、 [Add domain](ドメインの追加) ボタンを使用して Storage アカウント (または SQL Database) の FQDN を追加します。

    FQDN の追加方法を示す送信ネットワーク ウィンドウのスクリーンショット

  3. 完了すると、以下のような画面が表示されます。 [OK] を選択して、これらの設定を適用します。

    FQDN を追加した後の送信ネットワーク ウィンドウのスクリーンショット

PowerShell を使用して送信ファイアウォール規則を設定する

重要

Azure SQL Database では、PowerShell Azure Resource Manager モジュールが引き続きサポートされていますが、今後の開発はすべて Az.Sql モジュールを対象に行われます。 これらのコマンドレットについては、「AzureRM.Sql」を参照してください。 Az モジュールと AzureRm モジュールのコマンドの引数は実質的に同じです。 次のスクリプトは Azure PowerShell モジュールを必要とします。

次の PowerShell スクリプトは、(RestrictOutboundNetworkAccess プロパティを使用して) 送信ネットワーク設定を変更する方法を示しています。

# Get current settings for Outbound Networking
(Get-AzSqlServer -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName>).RestrictOutboundNetworkAccess

# Update setting for Outbound Networking
$SecureString = ConvertTo-SecureString "<ServerAdminPassword>" -AsPlainText -Force

Set-AzSqlServer -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName> -SqlAdministratorPassword $SecureString  -RestrictOutboundNetworkAccess "Enabled"

これらの PowerShell コマンドレットを使用して、送信ファイアウォール規則を構成します

# List all Outbound Firewall Rules
Get-AzSqlServerOutboundFirewallRule -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName>

# Add an Outbound Firewall Rule
New-AzSqlServerOutboundFirewallRule -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName> -AllowedFQDN testOBFR1

# List a specific Outbound Firewall Rule
Get-AzSqlServerOutboundFirewallRule -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName> -AllowedFQDN <StorageAccountFQDN>

#Delete an Outbound Firewall Rule
Remove-AzSqlServerOutboundFirewallRule -ServerName <SqlServerName> -ResourceGroupName <ResourceGroupName> -AllowedFQDN <StorageAccountFQDN>

Azure CLI を使用して送信ファイアウォール規則を設定する

重要

このセクションのすべてのスクリプトには Azure CLI が必要です。

bash シェルでの Azure CLI

次の CLI スクリプトは、bash シェルで (restrictOutboundNetworkAccess プロパティを使って) 送信ネットワーク設定を変更する方法を示しています。

# Get current setting for Outbound Networking 
az sql server show -n sql-server-name -g sql-server-group --query "restrictOutboundNetworkAccess"

# Update setting for Outbound Networking
az sql server update -n sql-server-name -g sql-server-group --set restrictOutboundNetworkAccess="Enabled"

これらの CLI コマンドを使用して、送信ファイアウォール規則を構成します

# List a server's outbound firewall rules.
az sql server outbound-firewall-rule list -g sql-server-group -s sql-server-name

# Create a new outbound firewall rule
az sql server outbound-firewall-rule create -g sql-server-group -s sql-server-name --outbound-rule-fqdn allowedFQDN

# Show the details for an outbound firewall rule.
az sql server outbound-firewall-rule show -g sql-server-group -s sql-server-name --outbound-rule-fqdn allowedFQDN

# Delete the outbound firewall rule.
az sql server outbound-firewall-rule delete -g sql-server-group -s sql-server-name --outbound-rule-fqdn allowedFQDN

次のステップ