Azure SQL を保護するためのセキュリティを実装する
移行中やその他の Azure SQL リソースを確実に保護するには、サーバーとデータベースのファイアウォール規則と Microsoft Defender for SQL を理解し、効果的に管理することが不可欠です。
サーバーとデータベースのファイアウォール規則を構成する
Azure SQL Database では、サーバー レベルとデータベース レベルの両方でファイアウォール規則を構成できます。
サーバー レベルのファイアウォール規則
サーバー レベルのファイアウォール規則、より広範なレベルで Azure SQL Database へのアクセスを制御し、サーバーに接続できる IP アドレスを決定します。 それに対して
サーバー レベルのファイアウォール規則を使用すると、ユーザーはすべてのサーバー データベースに接続できます。一方、データベース レベルのファイアウォールは、個々のデータベースへの特定の IP アドレスへのアクセスを制御します。
サーバー レベルのファイアウォール規則は、Azure portal を使用するか、マスター データベース内の sp_set_firewall_rule
ストアド プロシージャを使用して構成できます。
注
[Azure サービスおよびリソースにこのサーバーへのアクセスを許可する] のサーバー設定は、有効にされている場合、1 つのファイアウォール規則としてカウントされます。 既定では、すべてのアクセスをブロックし、必要な場合にのみ開きます。
データベース レベルのファイアウォール規則
データベース レベルのルールは、個々のデータベース内でより具体的な制御を提供します。 T-SQL を使用してデータベース レベルのファイアウォール規則を構成できるのは、ユーザー データベース内の sp_set_database_firewall_rule
ストアド プロシージャを使用する場合のみです。
接続時に、Azure SQL Database は、指定されたデータベース名に固有のデータベース レベルのファイアウォール規則をチェックします。 その規則が見つからない場合は、サーバー上のすべてのデータベースに適用されるサーバー レベルの IP ファイアウォール規則を確認します。 いずれかのルールが存在する場合は、接続が確立されます。
どちらの規則も存在しない場合、ユーザーが SQL Server Management Studio または Azure Data Studio を使用して接続している場合は、ファイアウォール規則の作成を求められます。
サーバー レベルのファイアウォール規則とデータベース レベルのファイアウォール規則の詳細については、「Azure SQL Database と Azure Synapse IP ファイアウォール規則を参照してください。
Microsoft Defender for SQL
Microsoft Defender for SQL は、Azure SQL Database、Azure SQL Managed Instance、および Azure VM 上の SQL Server 用の包括的なセキュリティ ソリューションです。 データベースのセキュリティを継続的に監視および評価し、それを強化するためのカスタマイズされた推奨事項を提供します。
また、SQL 脆弱性評価 や Advanced Threat Protection など、高度なセキュリティ機能を提供して、データの状態を事前に保護します。 このオールインワン ソリューションは、SQL 環境で高レベルのセキュリティを維持するのに役立ちます。
Microsoft Defender for SQL を有効にする方法は 2 つあります。
メソッド | 説明 |
---|---|
サブスクリプション レベル (推奨) | サブスクリプション レベルで有効にして、Azure SQL Database と Azure SQL Managed Instance 内のすべてのデータベースを包括的に保護します。 必要に応じて、個別に無効にすることができます。 |
リソース レベルの | または、特定のデータベースの保護を手動で管理する場合は、リソース レベルで有効にすることもできます。 |
SQL 脆弱性評価
SQL 脆弱性評価 は、Microsoft のベスト プラクティスに基づくルールのナレッジ ベースを使用します。 セキュリティの脆弱性、構成の誤り、過剰なアクセス許可、保護されていない機密データにフラグを設定します。
SQL 脆弱性評価には、次の 2 つの構成オプションがあります。
Express Configuration: これは既定のオプションであり、ベースラインとスキャンの結果に外部ストレージは必要ありません。
クラシック構成: ベースラインデータとスキャン結果データを格納するための Azure ストレージ アカウントを管理する必要があります。
高度な脅威保護
Advanced Threat Protection は、異常または潜在的に有害なデータベース アクセス試行を検出して対応することで、Azure SQL のセキュリティを強化します。
疑わしいデータベース アクティビティ、潜在的な脆弱性、SQL インジェクション攻撃、および Microsoft Defender for Cloud と統合された異常なアクセス パターンに対するセキュリティ アラートを提供します。 この統合により、脅威を調査および軽減するための分析情報と推奨されるアクションが提供され、セキュリティ専門家以外の専門家がアクセスできるようになります。
アラートの一覧については、Microsoft Defender for Cloud の SQL Database および Azure Synapse Analytics のアラートに関するセクションを参照してください。