公開ネットワークアクセスが有効な Azure MariaDB Server

旧 Azure MariaDB の公開アクセス設定を確認し、サポート対象のサービスへ移行してください。

説明

Azure MariaDB の公開ネットワークアクセスが有効な場合、ファイアウォールで許可されたクライアントは公開経路から接続できます。データへのアクセスには認証とデータベース権限も必要ですが、広すぎるファイアウォール規則や弱いアカウント保護はリスクを高めます。

Azure Database for MariaDB は 2025年9月19日に提供を終了しました。以下は既存構成を確認するための説明です。サポート対象のデータベースサービスへ移行し、必要なネットワーク制御を適用してください。

想定される影響

  • 許可された外部クライアントから、パスワードの推測や脆弱性を悪用する試行を受ける可能性があります。
  • アカウントの侵害や過剰な権限によって、データの読み取りや変更につながるおそれがあります。

対処方法

  • サポート対象のサービスへの移行を優先し、移行先のファイアウォール、TLS、アカウント権限を確認してください。
  • 公開アクセスが不要なら、移行先が対応するプライベート接続と DNS を先に構成し、アプリケーションの接続を試験してから公開アクセスを無効にしてください。
  • 旧 MariaDB 構成では public_network_access_enabled = false が公開アクセスを無効にする設定でした。管理者の公開 IP を限定して許可することは、プライベート接続とは異なります。

例

提供終了したサービスのネットワークオプションを比較する既存の抜粋です。新規デプロイの例ではなく、SKU、バージョン、TLS などの必須設定は省略しています。パスワードはコードに保存せず安全に供給し、Terraform の状態も保護してください。

変更前

hcl
resource "azurerm_mariadb_server" "app_db" {
  name                = "example-mariadb-server"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  administrator_login          = "mariadbadmin"
  administrator_login_password = var.administrator_password
  public_network_access_enabled = true
}

公開ネットワークアクセスを許可します。実際の接続にはファイアウォールと認証の条件も適用されます。

変更後

hcl
resource "azurerm_mariadb_server" "app_db" {
  name                = "example-mariadb-server"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name

  administrator_login          = "mariadbadmin"
  administrator_login_password = var.administrator_password
  public_network_access_enabled = false
}

公開アクセスを無効にするオプションです。この設定だけではプライベートエンドポイントや DNS は作成されません。

参考資料