Azure PipelinesからAzure SQL Serverに接続ときのFirewall設定
Azure Pipelinesとは言ってもMicrosoft hosted agentの話です。
Azure SQL Serverの設定を見てたら Allow Azure services and resources to access this server
という項目があったのでこれを有効にしてみたらできた。
そもそもAllow Azure services and resources to access this server
ってどんな設定なんだろう?
ふーん・・と見てたんだけど、以下の文が気になった
Switching the setting to ON creates an inbound firewall rule for IP 0.0.0.0 - 0.0.0.0 named AllowAllWindowsAzureIps.
あれ?これはAllow Allな設定なんじゃないのかな?
確認してみたらAllowAllWindowsAzureIpsで0.0.0.0が設定されてた。
これは・・と思ってClient IP address
を設定せず自分の端末からアクセスをしてみたら・・・接続できず。とりあえず全てのIPアドレスからの許可ではない。
設定名通りAzureのサービスやリソースだけから許可なんだろう。
一応調べてみたら、以下の記事を見つけた。多分ここに書いてあるとおりAllow Azure services and resources to access this server
を有効にしたらAzureのサービス・リソースからは許可、それ以外はClient IP addressを設定する必要があるんだろう。
Machines/Services running in Azure Environment will be able to connect.For Azure outside connections you need to specify the public IP.
ちなみにこの記事にも書いてあるけど、Deny Public Network Access
を有効にしたら、多分接続できなくなる。(private linkが必要
- Azure PipelinesからAzure SQL Serverに接続するためには、Firewallの
Allow Azure services and resources to access this server
を有効にする - AllowAllWindowsAzureIpsという名前で0.0.0.0が設定されるが、設定名通りAzureのサービス・リソースからの接続だけを許可する制限になっている
Discussion