MySQL Shell 8.0  /  ...  /  暗号化された接続の使用

このページは機械翻訳したものです。

4.3.3 暗号化された接続の使用

TLS (SSL とも呼ばれる) 対応の MySQL サーバーに接続する場合は、暗号化された接続を使用できます。 MySQL Shell の構成の多くは、MySQL サーバーで使用されるオプションに基づいています。詳細は、暗号化された接続の使用 を参照してください。

MySQL Shell の起動時に暗号化された接続を構成するには、次のコマンドオプションを使用します:

  • --ssl : 非推奨。将来のバージョンで削除されます。 --ssl-mode の使用。 このオプションは、暗号化された接続を有効または無効にします。

  • --ssl-mode : このオプションは、サーバーへの接続の目的のセキュリティー状態を指定します。

  • --ssl-ca=file_name: 信頼できる SSL 認証局のリストを含む PEM 形式のファイルへのパス。

  • --ssl-capath=dir_name: PEM 形式の信頼できる SSL 認証局証明書を含むディレクトリへのパス。

  • --ssl-cert=file_name: 暗号化された接続の確立に使用する PEM 形式の SSL 証明書ファイルの名前。

  • --ssl-cipher=name: 暗号化された接続の確立に使用する SSL 暗号の名前。

  • --ssl-key=file_name: 暗号化された接続の確立に使用する PEM 形式の SSL キーファイルの名前。

  • --ssl-crl=name: PEM 形式の証明書失効リストを含むファイルへのパス。

  • --ssl-crlpath=dir_name: PEM 形式の証明書失効リストを含むファイルを含むディレクトリへのパス。

  • --tls-version=version: 暗号化された接続に許可される TLS プロトコル。カンマ区切りリストで指定します。 たとえば、--tls-version=TLSv1.1,TLSv1.2 です。

  • --tls-ciphersuites=suites: 暗号化された接続に許可される TLS 暗号スイート。TLS 暗号スイート名のコロン区切りリストで指定します。 たとえば、--tls-ciphersuites=TLS_DHE_PSK_WITH_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256 です。 バージョン 8.0.18 に追加されました。

または、SSL オプションを URI のような接続文字列の一部としてクエリー要素の一部としてエンコードできます。 使用可能な SSL オプションは、前述のオプションと同じですが、前のハイフンなしで記述されます。 たとえば、ssl-ca--ssl-ca と同等です。

URI のような文字列で指定するパスは、パーセントエンコードする必要があります。次に例を示します:

ssluser@127.0.0.1?ssl-ca%3D%2Froot%2Fclientcert%2Fca-cert.pem%26ssl-cert%3D%2Fro\
ot%2Fclientcert%2Fclient-cert.pem%26ssl-key%3D%2Froot%2Fclientcert%2Fclient-key
.pem

詳しくはURI 類似文字列またはキーと値のペアを使用したサーバーへの接続をご覧ください。

JavaScript または Python モードでスクリプトセッションの暗号化された接続を確立するには、connectionData ディクショナリに SSL 情報を設定します。 例:

mysql-js> var session=mysqlx.getSession({host: 'localhost',
                                             user: 'root',
                                             password: 'password',
                                             ssl_ca: "path_to_ca_file",
                                             ssl_cert: "path_to_cert_file",
                                             ssl_key: "path_to_key_file"});

ssl-mode が指定されておらず、ssl-cassl-capath も指定されていない場合、mysqlx.getSession()mysql.getSession() または mysql.getClassicSession() を使用して作成されたセッションでは ssl-mode=REQUIRED がデフォルトとして使用されます。 ssl-mode が提供されておらず、ssl-ca または ssl-capath が提供されている場合、作成されるセッションは ssl-mode=VERIFY_CA にデフォルト設定されます。

詳しくはキーと値のペアを使用した接続をご覧ください。