GCP Cloud SQLのサーバー間リモートプロシージャ実行の確認

未使用のSQL Serverサーバー間プロシージャ実行を無効にする

説明

SQL Serverの remote access は、サーバー間のストアドプロシージャ実行を制御する従来の設定です。通常のクライアントのネットワーク接続を遮断する設定ではありません。不要なサーバー間の実行経路は無効にしてください。

想定される影響

不要なリモートプロシージャ実行が許可されると、接続先サーバーの権限が悪用された場合の影響範囲が広がる可能性があります。

対処方法

リンクサーバーや関連ジョブの依存関係を確認し、不要なら settings.database_flags の remote access を off に設定してください。必要な再起動を計画し、通常の接続経路は別途ネットワークポリシーで管理してください。

例

次の抜粋は、サーバー間のリモートプロシージャ実行を必要としない構成です。その他の必須インスタンス設定は省略しています。

変更前

hcl
resource "google_sql_database_instance" "sqlserver_instance" {
  name             = "sqlserver-instance"
  database_version = "SQLSERVER_2017_STANDARD"
  region           = "us-central1"

  settings {
    database_flags {
      name  = "remote access"
      value = "on"
    }
  }
}

変更後

hcl
resource "google_sql_database_instance" "sqlserver_instance" {
  name             = "sqlserver-instance"
  database_version = "SQLSERVER_2019_STANDARD"
  region           = "us-central1"

  settings {
    database_flags {
      name  = "remote access"
      value = "off"
    }
  }
}

参考資料