注:ここでは 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