Oracle Cloud Infrastructure(以下 OCI)上のMySQL HeatWave Service(以下 MHS)は、Bring Your Own Certificate(以下BYOC)機能の一般提供を開始しました。
デフォルトでは、MHSへの接続は MHS 側で定義された証明書によって保護されます。BYOCは、ユーザが MySQL サーバへの接続に独自の証明書を使う選択肢を提供します。数回のクリックだけで簡単に、MHS へのセキュアな接続を設定できます。このサービスは、クライアントに接続ウォレットが必要な相互 TLS 認証と、ウォレットを必要とせずにクライアントを接続できる一方向 TLS 認証の両方をサポートしています。後者はウォレットにサポートさせるための変更が困難な、レガシーアプリケーションへの対応に有益です。
信頼できる認証局(以下 CA)によって署名された証明書は、クライアント・アプリケーションにさらなる信頼性を提供し、意図したデータベース・ホストと通信していることを保証し、中間者攻撃(Man-in-the-Middle Attack, 以下 MITM)に対するセキュリティを強化します。
主なハイライト
DB システムの作成フロー
DB システムの初期セットアップ中に、ユーザー定義証明書を求める要件に合わせて設定するオプションを最初から選択しておきます。
更新オプション
すでに利用中の DB システムがあり、ユーザー定義証明書を導入してセキュリティを強化したい場合には、後半で述べる更新オプションが役立ちます。
始めてみよう
セキュリティ証明書を用いた DB システムの作成
OCI コンソールで、ハンバーガーメニューを開いてデータベースを選択、次に中央ペインの MySQL HeatWave に移動します。さらにDB システムページで、DB システムの作成ボタンをクリックし、DB システムを作成する手順に進みます。セキュアな接続を設定するには、ページを一番下までスクロールし、Show advanced options をクリックします。
接続タブで、MHSにセキュリティ証明書を定義させるか、自分で指定するかを選択します。ユーザー定義のセクションでは、リストから証明書を選択するか、証明書の Oracle Cloud Identifier(以下 OCID)を入力します。
サービス定義
サービス定義を選択すると、MHS は自己署名入りのセキュリティ証明書を使用して安全な接続を確立します。
ユーザー定義、リストから選択
セキュリティ証明書を選択しますをマークし、セキュリティ証明書の選択ボタンをクリックします。
モーダルウィンドウでは、コンパートメントごとに証明書をブラウズして選択できます。
ユーザー定義、証明書の OCID を入力
最後に、リストから証明書を選択する代わりに、証明書の OCID を入力することもできます。ユーザー権限の制限により特定の区画で証明書をブラウズできない場合は、OCID を入力する方が早いか、唯一のオプションになることがあります。
セキュリティ証明書 OCID を入力するの選択肢を選び、フィールドに OCID を入力します。
Additional notes and pre-requisites
セキュリティ証明書は OCI 証明書サービスで管理され、適切なポリシーが設定されている必要があります。ダイナミック・グループを作成し、MHS でリソースプリンシパルをアクティブにし、必要な DB システムに必要なポリシーを作成し、有効化されたリソースプリンシパルを活用して OCI 証明書サービスから証明書を取得する必要があります。詳細については、以下を参照してください:
失効または期限切れの証明書を選択した場合、DB システムの作成は成功しますが、MySQL 接続は失敗します。既存の DB システムのセキュリティ証明書を更新するには、以下の「DB システムの更新」セクションを参照してください。
DB システムのセキュリティ証明書の更新
既存の DB システムのセキュリティ証明書を変更することができます。サービス定義からユーザー定義への変更、またはその逆も可能です。OCI コンソールでデータベース、MySQL HeatWave に移動し、DB システムページで目的の DB システムリソースをクリックし、DB システムの詳細ページに移動します。さらに接続タブを選択し、セキュリティ証明書の項で編集をクリックします。
編集リンクをクリックすると、DB システムの作成時に表示されたのと同じオプションが表示されます。サービス定義とユーザー定義のいずれかを選択でき、ユーザー定義の場合は、リストから証明書を選択するか、フィールドに証明書の OCID を入力できます。
完了したら、変更を保存します。この操作は DB システムを再起動するため、完了までに数分かかることがあります。
暗号化接続の設定
MySQL の利用環境によっては、たとえば規制上の要件を満たすために暗号化された接続を使用する必要があります。この段落では、この要件充足を容易にしてさまざまなレベルの制御を提供する、MHS で利用可能な設定オプションの概要を説明します。
個々のクライアント・プログラムに対して、サーバーが暗号化接続を許可しているかどうかに関係なく、暗号化接続を要求するよう指定することができます。
サーバーが暗号化を許可しているかどうかに関係なく、クライアント・プログラムに暗号化された接続の有効化を要求させるには、–ssl-mode オプションに REQUIRED、VERIFY_CA、またはVERIFY_IDENTITY の値を指定します。例えば、
mysql --ssl-mode=REQUIRED
mysqldump --ssl-mode=VERIFY_CA
mysqladmin --ssl-mode=VERIFY_IDENTITY
さらに、個々の MySQL アカウントに対し、暗号化された接続でのみ機能するように設定できます。
暗号化された接続でのみ使用できるように MySQL アカウントを設定するには、アカウントを作成する CREATE USER ステートメントに REQUIRE 句を含め、その句で必要な暗号化要件を指定します。例えば、暗号化接続と有効な X.509 証明書の使用を要求するには、REQUIRE X509 を指定します。
CREATE USER 'devuser'@'localhost' REQUIRE X509;
次の例は、–ssl-ca オプションを使用して MySQL クライアントから接続する方法を示しています。
mysql --host <DBSystemEndpointIPAddress> -u <Username> -p --ssl-ca=global-bundle.pem --ssl-mode=REQUIRED -P 3306
まとめ
この新機能により、お客様固有のセキュリティ要件に完全に適合するよう、データベースのセキュリティをカスタマイズできるようになりました。
新しいデータベースを作成する場合でも、既存のデータベースを更新する場合でも、日々要求が進化するセキュリティ要件に設定を適合させ、パーソナライズされた証明書設定でデータベースのセキュリティを強化し、潜在的な脅威に対する強固な防御を確保できます。
BYOC(Bring Your Own Certificate)が簡単に設定できるのです!
今すぐMySQL HeatWave Service with BYOCをお試しください。OCI アカウントをお持ちでない場合は、こちらから無料トライアルをお試しください。
MySQL HeatWaveの詳細については、こちらをご覧ください。
その他のリソース
- Hands-on Lab: Get Started with MySQL HeatWave and Feel the Difference (英語)
- ビデオ: Getting Started with MySQL HeatWave (英語)
- Blogs: MySQL HeatWave (英語・一部日本語に訳されています)
- ドキュメント: MySQL ヒートウェーブ


