ファイアウォール規則について
ファイアウォールは、保護されたリソースへの承認されていないアクセスをブロックするために不可欠です。 各 Azure SQL Database には、Microsoft によって管理されるパブリック IP が割り当てられます。 各 Azure リージョンには、データベース ゲートウェイへのエントリ ポイントとして機能する 1 つ以上のパブリック IP があり、そこからデータベースに移動されます。
ファイアウォールのしくみ
インターネットおよび Azure からの接続試行は、まずファイアウォールを通過した後で、サーバーまたはデータベースに到達する必要があります。
Azure には、アクセスを制限し、データベースとデータを保護するための組み込みのファイアウォールが用意されています。 Azure SQL Database には、サーバー レベルのファイアウォール規則とデータベース レベルのファイアウォール規則という、2 つのタイプの IP ファイアウォール規則があります。
サーバーレベルの IP ファイアウォール規則
Azure SQL Database のサーバー レベルとデータベース レベルの両方のファイアウォールでは、SQL Server ログインではなく IP アドレス規則が使用されます。 この方法では、同じパブリック IP (通常は会社の送信 IP アドレス) のすべてのユーザーが SQL Server にアクセスできます。
サーバー レベルのファイアウォール規則を使用すると、ユーザーはサーバー上のすべてのデータベースに接続できます。一方、データベース レベルのファイアウォール規則は、特定の IP アドレスが個々のデータベースにアクセスすることを許可またはブロックするために使用されます。
サーバー レベルのファイアウォール規則は、Azure portal を使用するか、マスター データベース内から sp_set_firewall_rule ストアド プロシージャを使用して構成できます。 この柔軟性により、アクセスを効率的かつ安全に管理できます。
注
[Azure サービスおよびリソースにこのサーバーへのアクセスを許可する] のサーバー設定は、有効にされている場合、1 つのファイアウォール規則としてカウントされます。
データベース レベルの IP ファイアウォール規則
データベース レベルの IP ファイアウォール規則を使用すると、マスター データベースを含む各データベースの規則を作成することで、クライアントが特定のデータベースにアクセスできます。 これらの規則は、最初のサーバー レベルのファイアウォールを構成した後、Transact-SQL ステートメントを使用して管理されます。 データベース内から sp_set_database_firewall_rule ストアド プロシージャを使用する必要があります。
データベース レベルのファイアウォール規則が有効になっているデータベースに接続する場合、Azure SQL Database では、接続文字列内のデータベース名と一致するデータベース レベルのファイアウォール規則が最初にチェックされます。 そのような規則がない場合は、サーバー上のすべてのデータベースに適用されるサーバー レベルの IP ファイアウォール規則がチェックされます。 いずれかのルールが見つかった場合は、接続が完了します。
どちらも存在しない場合、ユーザーが SQL Server Management Studio 経由で接続している場合は、次に示すようにファイアウォール規則を作成するように求められます。
仮想ネットワーク エンドポイント
仮想ネットワーク エンドポイントにより、特定の Azure Virtual Network からのトラフィックが許可されます。 これらの規則は、データベース レベルではなく、サーバー レベルで適用されます。
さらに、サービス エンドポイントは、基になるエンドポイントのリージョンである 1 つのリージョンにのみ適用されます。
別の考慮事項は、Azure SQL Database に接続している仮想ネットワークに、Azure SQL Database のパブリック IP アドレスへの発信アクセスが必要であることです。これは Azure SQL Database のサービス タグを使用して構成できます。
この懸念事項に対処するには、Azure SQL Database に接続する仮想ネットワークに、Azure SQL Database のパブリック IP への送信アクセス権があることを確認します。 さらに、ネットワーク セキュリティ グループ (NSG) を使用して送信トラフィックルールを定義および制御し、必要なトラフィックのみが Azure SQL Database に到達できるようにすることができます。
プライベート リンク
プライベート リンク機能を使用すると、プライベート エンドポイントを使用して、Azure SQL Database および他の PaaS オファリングに接続できます。
プライベート エンドポイントを使用すると、パブリック インターネット経由ではなく、Azure のバックボーン ネットワークのみを介して Azure SQL データベースへの接続を行うことができます。
この機能により、Virtual Network 上にプライベート IP アドレスが提供されます。 プライベート リンクのもう 1 つの機能は、その回線を通じて Azure Express Route 接続を可能にすることです。
プライベート リンクには、リージョン間のプライベート接続や、特定のリソースへの接続のみを許可することによるデータ漏洩からの保護など、いくつかの利点があります。