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 で送信ファイアウォール規則を設定する
Azure SQL Database の[ファイアウォールと Virtual Network] ウィンドウの[送信ネットワーク]セクションに移動し、[送信ネットワーク制限の構成]を選択します。
右側に次のウィンドウを開きます。
[Restrict outbound networking](送信ネットワークの制限) というチェック ボックスをオンにし、 [Add domain](ドメインの追加) ボタンを使用して Storage アカウント (または SQL Database) の FQDN を追加します。
完了すると、以下のような画面が表示されます。 [OK] を選択して、これらの設定を適用します。
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
次のステップ
- Azure SQL Database のセキュリティの概要については、データベースの保護に関する記事を参照してください。
- Azure SQL Database 接続の概要については、「Azure SQL の接続アーキテクチャ」を参照してください。
- Azure SQL Database と Azure Synapse Analytics のネットワーク アクセスの制御の詳細を確認します。
- Azure SQL Database と Azure Synapse Analytics に対する Azure Private Linkを確認します。