GCP Cloud SQLの外部スクリプト実行設定の確認

未使用のSQL Server外部スクリプト実行機能を無効にする

説明

SQL Serverの external scripts enabled は、対応する外部言語拡張でスクリプトを実行できるようにする設定です。実行には関連コンポーネントと権限も必要です。使用しない場合は無効にしてください。

想定される影響

外部スクリプトの実行権限が悪用されると、データベースを通じて追加のコードを実行したり、データにアクセスしたりする経路になる可能性があります。

対処方法

機能が不要なら、settings.database_flags の external scripts enabled を off に設定してください。依存するジョブを確認し、Cloud SQLで変更を反映するために必要な再起動を計画してください。

例

次の抜粋では、外部スクリプトを使用しないインスタンスの実行フラグを無効にしています。その他の必須インスタンス設定は省略しています。

変更前

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

  settings {
    database_flags {
      name  = "external scripts enabled"
      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  = "external scripts enabled"
      value = "off"
    }
  }
}

参考資料