Tip
Microsoft Fabric Data Warehouse は、将来のアーキテクチャ、組み込みの AI、および新機能を備えた、Data Lake 基盤上のエンタープライズ 規模のリレーショナル ウェアハウスです。 データ ウェアハウスを初めて使用する場合は、Fabric Data Warehouseから始めます。 既存の dedicated SQL プール ワークロードは、Fabric にアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。
- Fabric無料試用版を開始します。
- Fabric Data Warehouseの移行アシスタント。
たとえば、mysqlserver という名前のAzure Synapse Analyticsに新しい論理サーバーを作成すると、サーバー レベルのファイアウォールによって、logical server のパブリック エンドポイントへのすべてのアクセスがブロックされます。 Azure Synapseでは、サーバー レベルの IP ファイアウォール規則がサポートされます。 Azure Synapse Analytics ワークスペース内の専用 SQL プールは論理 SQL サーバーを使用せず、ワークスペース レベルのファイアウォールを備えています。
- Azure SQL Databaseのサーバーとデータベースの IP ファイアウォール規則の詳細については、「
Azure SQL Database IP ファイアウォール規則 - Azure SQL Managed Instanceのネットワーク構成の詳細については、「
アプリケーションを Azure SQL Managed Instance を参照してください。
ファイアウォールのしくみ
インターネットとAzureからの接続試行は、サーバーまたはデータベースに到達する前にファイアウォールを通過する必要があります
サーバーレベルの IP ファイアウォール規則
これらのルールにより、クライアントがサーバー全体、つまりサーバーで管理されているすべてのデータベースにアクセスできるようになります。 規則は、 master データベースに格納されます。 1 つのサーバーに対し、最大 256 個のサーバー レベルの IP ファイアウォール規則が許可されます。 このサーバーにアクセスするための Allow Azure Services とリソース 設定が有効になっている場合、これはサーバーの単一のファイアウォール規則としてカウントされます。
Azure ポータル、PowerShell、または Transact-SQL ステートメントを使用して、サーバー レベルの IP ファイアウォール規則を構成できます。
Note
Azure ポータルを使用して構成する場合、サーバー レベルの IP ファイアウォール規則の最大数は 256 に制限されます。
- ポータルまたは PowerShell を使用するには、サブスクリプション所有者またはサブスクリプション共同作成者である必要があります。
- Transact-SQLを使用するには、サーバー レベルのプリンシパル ログインまたはMicrosoft Entra管理者として、
masterデータベースに接続する必要があります。 (サーバー レベルの IP ファイアウォール規則は、まず、Azure レベルのアクセス許可を持つユーザーが作成する必要があります)。
Note
既定では、Azure ポータルから新しい論理 SQL サーバーを作成する際に、このサーバーにアクセスするための Azure サービスとリソース 設定は No に設定されます。
ファイアウォール規則の設定方法に関する推奨事項
サーバー レベルの IP ファイアウォール規則は、同じアクセス要件を持つ多数のデータベースがあり、各データベースを個別に構成したくない場合に使用します。
インターネットからの接続
コンピューターがインターネットからサーバーに接続しようとすると、ファイアウォールは最初に要求の送信元 IP アドレスを確認します。
- アドレスがサーバー レベルの IP ファイアウォール規則の範囲内にある場合は、接続が許可されます。
- サーバーレベルの IP ファイアウォール規則は、サーバーによって管理されているすべてのデータベースに適用されます。
- アドレスがサーバー レベルの IP ファイアウォール規則の範囲内にない場合、接続要求は失敗します。
アクセス許可
IP ファイアウォール規則を作成して管理するには、次のいずれかのロールが必要です。
- SQL Server 共同作成者ロール
- SQL セキュリティ管理者ロール
- リソースの所有者
IP ファイアウォール規則の作成および管理
最初のサーバー レベルのファイアウォール設定は、Azure ポータルを使用するか、Azure PowerShell、Azure CLI、または Azure REST API を使用してプログラムによって作成します。 これらの方法またはTransact-SQLを使用して、追加のサーバー レベルの IP ファイアウォール規則を作成して管理します。 Azure Synapse では、サーバー レベルの IP ファイアウォール規則のみがサポートされます。 データベース レベルの IP ファイアウォール規則はサポートされていません。
Tip
Azure Synapse AnalyticsのAuditingを使ってサーバーレベルおよびデータベースレベルのファイアウォール変更を監査できます。
Azure ポータルを使用してサーバー レベルの IP ファイアウォール規則を管理する
Azure ポータルでサーバー レベルの IP ファイアウォール規則を設定するには、論理サーバーの Overview ページに移動します。
[ネットワーク] ページに移動します。
[ファイアウォール規則] セクションに規則を追加して、使用しているコンピューターの IP アドレスを追加し、[保存] を選択します。 現在の IP アドレスに対してサーバー レベルの IP ファイアウォール規則が作成されます。
Transact-SQLを使用して IP ファイアウォール規則を管理する
| カタログ ビューまたはストアド プロシージャ | Level | 説明 |
|---|---|---|
| sp_set_firewall_rule | [サーバー] | サーバー レベルの IP ファイアウォール規則を作成または更新する |
| sp_delete_firewall_rule | [サーバー] | サーバー レベルの IP ファイアウォール規則を削除する |
サーバー レベルの IP ファイアウォール規則を追加します。
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 ストアド プロシージャを実行します。 次の例では、ルールの ContosoFirewallRuleを削除します。
EXECUTE sp_delete_firewall_rule @name = N'ContosoFirewallRule'
PowerShell を使用してサーバー レベルの IP ファイアウォール規則を管理する
Note
この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「 Azure PowerShell を AzureRM から Az に移行する」を参照してください。
Important
PowerShell Azure Resource Manager (AzureRM) モジュールは、2024 年 2 月 29 日に非推奨になりました。 今後のすべての開発では、Az.Sql モジュールを使用する必要があります。 ユーザーは、引き続きサポートと更新を行うために、AzureRM から Az PowerShell モジュールに移行することをお勧めします。 AzureRM モジュールは維持またはサポートされなくなりました。 Az PowerShell モジュールと AzureRM モジュールのコマンドの引数は、ほぼ同じです。 互換性の詳細については、「新しい Az PowerShell モジュールの概要」を参照してください。
| コマンドレット | Level | 説明 |
|---|---|---|
| Get-AzSynapseFirewallRule | [サーバー] | Synapse Analytics ファイアウォール規則を返します。 |
| New-AzSynapseFirewallRule | [サーバー] | Synapse Analytics ファイアウォール規則を作成します。 |
| Remove-AzSynapseFirewallRule | [サーバー] | Synapse Analytics ファイアウォール規則を削除します。 |
| Update-AzSynapseFirewallRule | [サーバー] | Synapse Analytics ファイアウォール規則を更新します。 |
CLI を使用してサーバー レベルの IP ファイアウォール規則を管理する
| コマンドレット | Level | 説明 |
|---|---|---|
| Az Synapse SQL | SQL プールを管理します。 | |
| az synapse workspace firewall-rule | ワークスペースのファイアウォール規則を管理します。 |
ワークスペース レベルのファイアウォール規則については、次を参照してください。
| コマンドレット | Level | 説明 |
|---|---|---|
| az synapse workspace firewall-rule create | [サーバー] | ファイアウォール規則を作成する |
| az synapse workspace firewall-rule delete | [サーバー] | ファイアウォール規則を削除する |
| az synapse workspace firewall-rule list | [サーバー] | すべてのファイアウォール規則を表示する |
| az synapse workspace firewall-rule show | [サーバー] | ファイアウォール規則の取得 |
| az synapse workspace firewall-rule Update | [サーバー] | ファイアウォール規則を更新する |
| az synapse workspace firewall-rule wait コマンドは、Synapse ワークスペースのファイアウォールルールが適用されるまで待機するために使用されます。 | [サーバー] | ファイアウォール規則の条件が満たされるまで CLI を待機状態にします。 |
次の例では、CLI を使用して、Azure Synapseでサーバー レベルの IP ファイアウォール規則を設定します。
az synapse workspace firewall-rule create --name AllowAllWindowsAzureIps --workspace-name $workspacename --resource-group $resourcegroupname --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
REST API を使用してサーバー レベルの IP ファイアウォール規則を管理する
| 命令 | 説明 |
|---|---|
| SQL プール | Synapse SQL プールの管理。 |
| IP ファイアウォール ルール | Synapse Ip ファイアウォール規則の管理。 |
ファイアウォールの更新遅延を理解する
データベースが含まれていてフェールオーバー パートナーがいない場合を除き、サーバー認証モデルのセキュリティ設定に対するすべての変更の待機時間は 5 分です。 フェールオーバー パートナーなしで包含データベースに加えられた変更は瞬時に行われます。 フェールオーバー パートナーを含む包含データベースの場合、各セキュリティ更新プログラムはプライマリ データベースで瞬時に行われますが、セカンダリ データベースが変更を反映するまでに最大 5 分かかる場合があります。
次の表では、データベースの種類とフェールオーバーの構成に基づくセキュリティ設定の変更の待機時間について説明します。
| 認証モデル | フェールオーバーの構成 | セキュリティ設定の変更の待機時間 | 潜在インスタンス |
|---|---|---|---|
| サーバー認証 | はい | 5 分 | すべてのデータベース |
| サーバー認証 | いいえ | 5 分 | すべてのデータベース |
| コンテインド・データベース | はい | 5 分 | セカンダリ データベース |
| コンテインド・データベース | いいえ | なし | なし |
ファイアウォール規則を手動で更新する
ファイアウォールルールを5分の遅延よりも早く更新したい場合は、手動でファイアウォールルールを更新できます。 ルール更新が必要なデータベースインスタンスにサインインし、DBCC FLUSHAUTHCACHEを実行してください。 このコマンドはデータベースインスタンスにローカルキャッシュをフラッシュし、ファイアウォールルールを更新させます。
DBCC FLUSHAUTHCACHE[;]
ファイアウォールのトラブルシューティング
アクセスが期待どおりに動作しない場合は、次の点を考慮してください。
ローカル ファイアウォールの構成:
コンピューターが専用 SQL プールにアクセスする前に、TCP ポート 1433 のファイアウォール例外をコンピューターに作成することが必要になる場合があります。 Azure クラウド境界内に接続するには、追加のポートを開く必要がある場合があります。
ネットワーク アドレス変換:
ネットワーク アドレス変換 (NAT) により、コンピューターがAzure Synapse Analyticsに接続するために使用する IP アドレスは、コンピューターの IP 構成設定の IP アドレスとは異なる場合があります。 コンピューターが Azure への接続に使用している IP アドレスを表示するには、次のようにします。
- ポータルにサインインします。
- データベースをホストするサーバーの [構成] タブに移動します。
- [現在のクライアント IP アドレス] が [許可された IP アドレス] セクションに表示されます。 [許可された IP アドレスの追加] を選択して、このコンピューターがサーバーにアクセスできるようにします。
許可リストに対する変更はまだ有効になっていません。
Azure Synapse Analyticsファイアウォール構成の変更が有効になるまで、最大 5 分の遅延が発生する可能性があります。
ログインが承認されていないか、正しくないパスワードが使用されました。
ログインでのサーバーに対するアクセス許可がないか、パスワードが正しくない場合、サーバーへの接続は拒否されます。 ファイアウォール設定を作成すると、クライアントは サーバーへの接続 を試みるだけになります。 クライアントには、必要なセキュリティ資格情報の提供が依然として必要です。 詳細については、「Azure Synapse Analytics接続設定」を参照してください。
動的 IP アドレス:
動的 IP アドレス指定を使用するインターネット接続があり、ファイアウォールの通過に問題が発生している場合は、次の解決策のいずれかをお試しください。
- サーバーにアクセスするクライアント コンピューターに割り当てられている IP アドレス範囲について、インターネット サービス プロバイダーに問い合わせます。 その IP アドレス範囲を IP ファイアウォール規則として追加します。
- クライアント コンピューターの静的 IP アドレス指定を代わりに取得します。 それらの IP アドレスを IP ファイアウォール規則として追加します。