Azure MySQL で TLS 接続の強制が無効

Azure MySQL への接続に TLS を必須とし、クライアントでサーバー証明書を検証します。

説明

Azure MySQL で TLS 接続を強制しない場合、暗号化されていないデータベース接続が許可されるおそれがあります。旧 Single Server の enforce_ssl と、現在の Flexible Server の require_secure_transport は別の設定です。

想定される影響

暗号化されていない接続では、クエリや結果データをネットワーク上で盗み見られたり改ざんされたりするおそれがあります。

対処方法

Flexible Server の require_secure_transport を ON にし、クライアントでも TLS とサーバー証明書の検証を使用してください。

例

変更前はサポートが終了した Single Server の過去の設定です。変更後は、準備済みの Flexible Server testserver で TLS を必須にする例であり、サーバーやデータを移行するものではありません。

変更前

yaml
- name: MySQL 서버 생성
  azure.azcollection.azure_rm_mysqlserver:
    resource_group: myResourceGroup
    name: testserver
    location: eastus
    storage_mb: 5120
    enforce_ssl: false
    version: "5.6"
    admin_username: cloudsa
    admin_password: "{{ mysql_admin_password }}"
  no_log: true

変更後

yaml
- name: MySQL TLS 설정
  azure.azcollection.azure_rm_mysqlflexibleconfiguration:
    resource_group: myResourceGroup
    server_name: testserver
    name: require_secure_transport
    value: "ON"

参考資料