次の方法で共有


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

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

送信ファイアウォール規則では、 Azure SQL Database 論理サーバーから、お 客様が定義した Azure Storage アカウントと Azure SQL Database 論理サーバーの一覧へのネットワーク トラフィックが制限されます。 この一覧にないストレージ アカウントまたはデータベースにアクセスしようとすると、拒否されます。 この機能をサポートする 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. [セキュリティ][ネットワーク] を選択します。

  2. [接続] タブ 選択します。[ 送信ネットワーク] で、[ 送信ネットワークの制限を構成する] リンクを選択します。

    [送信ネットワーク] セクションと[送信ネットワーク制限の構成] リンクのスクリーンショット。

    これにより、次のウィンドウが開きます。

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

  3. [ 送信ネットワークの制限] というタイトルのチェック ボックスをオンにします。

  4. [ ドメインの追加 ] ボタンを選択し、ストレージ アカウント (または Azure SQL Database のデータベース) の完全修飾ドメイン名を指定します。

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

    完全修飾ドメイン名が追加された後の [送信ネットワーク] ウィンドウのスクリーンショット。

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

重要

PowerShell Azure Resource Manager (AzureRM) モジュールは、2024 年 2 月 29 日に非推奨になりました。 今後のすべての開発では、Az.Sql モジュールを使用する必要があります。 ユーザーは、引き続きサポートと更新を行うために、AzureRM から Az PowerShell モジュールに移行することをお勧めします。 AzureRM モジュールは維持またはサポートされなくなりました。 Az PowerShell モジュールと AzureRM モジュールのコマンドの引数は、ほぼ同じです。 互換性の詳細については、「新しい Az PowerShell モジュールの概要」を参照してください。

次のスクリプトは 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