Azure SQL Database のセキュリティ基礎

注:ここでは VNet (仮想ネットワーク) への接続は考慮していません

Azure SQL Database のセキュリティ制御として、以下がある (他にもあったらすいません。この辺り、あまり詳しくないです)

SQL 認証については、オンプレミスの SQL Server と基本は同様なので、説明しない。Azure AD 認証は詳しくないので、説明できない。 ここでは、ファイアウォールによる IP 制限についてもう少し詳しく説明する。

  • ファイアウォールの考え方について
  • 制御する通信の種類は下記 2 種類
    • Azure サービスからのアクセス (Azure 全体)
    • 個別 IP
  • SQL Database を立てた直後の状態について
    • 個別 IP は登録なし
    • Azure サービスからのアクセスは、既定で許可されている。そのため、Azure 上のサービス、例えば Azure Web Apps, Functions などのアプリや、Azure ポータルなどからは初期状態でアクセス可能な状態となっている
  • 個別 IP の登録方法について
    • 個別 IP、IP 範囲のどちらでも登録可能
    • 注意点としては、当たり前だが、SQL Database への接続に使用されるパブリック IP を登録する必要があるので、この IP を把握している必要がある
    • とは言うものの、SQL Server Management Studio (SSMS) や Azure ポータルで当該 DB に接続しようとしてファイアウォール ルールに弾かれると、弾かれた IP が表示されるので、その IP を Azure ポータル画面の [サーバー ファイアウォールの設定] から追加すれば良い
  • 使用ポート
    • ポートは TCP ポートの 1433 を固定で使うので、このポートが許可されている必要がある
  • Azure サービスからのアクセスに関する注意点

    • この制御を行うボタンは、画面上は [Azure サービスへのアクセスを許可] という名称のボタン
    • 上述したように、アプリやポータルも含め、純粋に Azure サービス全体を表していることに注意。そのため、Azure 上に構築したアプリであれば、自分以外のアプリでもその対象になる (はず)
    • 厳密に自分の把握しているアプリやサービスのみにアクセス許可を与えたい場合は、[Azure サービスへのアクセスを許可] はオフにする必要がある (ここでオフにしても、Azure ポータルからこの設定すら行えなくなるわけではないので、その点は心配する必要無い)。その上で、個別 IP を登録する
    • Azure サービスからの全体アクセスをオフにした時の注意点としては、Azure ポータルのクエリ エディター機能については、[Azure サービスへのアクセスを許可] がオンになっている必要がある様子
    • ファイアウォール設定の変更については基本的に即時行なわれるが、設定が有効になるまで 数十分かかる事もあるので、少し注意
  • Azure SQL Database は、VNet 内に配置することは出来ないようなので、注意。ただ、VNet への接続は出来て、その場合はプライベート IP で通信できる、らしい (未検証)

参考 URL