クラウド・データベース・サービス「MySQL Database Service」の登場によりOracle Cloud InfrastructureでMySQLを利用しやすくなりました。ですがまだクラウド・データベース・サービスのセキュリティに不安を感じる方もいるのではないでしょうか?
本稿ではMySQL Database Serviceのセキュリティ対策についてご紹介いたします。
クラウド・データベース・サービスのセキュリティは不安?
2020年9月に東京リージョンでも利用が開始された「MySQL Database Service(以下、MDS)」はOracle Cloud Infrastructure(以下、OCI)を基に開発され、MySQLの開発元であるオラクル社のMySQLチームが開発や管理、サポートを行うクラウド・データベース・サービスです。
これまでのOCIで利用できるデータベースと言えばOracle Autonomous Databaseが主流であり、MySQLを利用するためにはIaaS上に構成するなど少々複雑な方法を行う必要がありました。しかし、MDSが登場したことによって、これまでよりずっと簡単にOCI上でMySQLが利用できるようになりました。
これを機にオンプレミス環境で利用していたMySQLをOCIに移管してみてはいかがでしょうか!
……と言うのは簡単ですが、やはりこれまでオンプレミス環境で利用していたものを急にクラウド環境でというのは不安があるものです。
事実、総務省の調査によると、企業がクラウドサービスを導入しない理由の第2位は「情報漏洩などセキュリティに不安がある」であり、多くの方がクラウドサービスのセキュリティに不安を感じているようです。
出典:総務省「通信利用動向調査」
クラウドデータベースのセキュリティで不安となるのは、やはり大切なデータがしっかりと保護されるのかという点です。
一般的なクラウド・データベース・サービスの利用において、データが存在するのは下記の図のように
①クライアントと DBの通信接続時②MDSでのデータ格納場所
③MDSのデータバックアップ保管場所
の3ヵ所となります。
つまり、この3ヵ所全てで適切なセキュリティ対応がされているということが安全性の証明になると言えます。
本稿では、MDSにおいて、上記3ヵ所で担保されるセキュリティ機能と安全性について紹介していきます。
MySQL Database Serviceで保証されるデータセキュリティ
①クライアントとDBの通信接続時
クライアントとサーバ間で接続を行う際、MDSではトランスポート層セキュリティ(以下、TLS)を使用して暗号化されます。
このTLSによって、データの送受信時の通信が暗号化され、ネットワーク上の他の機器によるなりすましやデータの盗み見、改竄などを防ぐことができます。
このTLSはユーザ側での設定などは不要で、デフォルトで暗号化されます。
転送中の暗号化: MySQL Database Serviceでは、トランスポート層セキュリティ(TLS)を使用したクライアントとサーバー間の暗号化された接続がサポートされます。
参照:「Oracle Cloud Infrastructure Documentation」
②MDSでのデータ格納場所
MDSでは、データを格納するディスクとして「Oracle Cloud Infrastructure Block Volumes(以下、ブロックボリューム)」が採用されています。ブロックボリュームとはOCIのストレージサービスのことで、インスタンスと紐づけることでストレージを使用したり、ストレージ容量を拡張したりすることが可能となっています。
このブロックボリュームはオラクル提供の暗号化キーを使用してデフォルトで暗号化されています。また、明示的にボールト・サービスを使用して、ボリュームを自分が所有および管理するキーによって暗号化するように選択する事も可能です。
データを格納するブロックボリュームの年間耐久性は99.99%を提供するように設計されており、非常に高いレベルのデータ耐久性を提供しています。その上、ブロックボリュームは自動的にコピーが作成され、そのコピーは複数のストレージ・サーバ間で重複して保管されます。そのため、万が一、ブロックボリュームの破損が発生したとしても、データそのものの損失を未然に防ぐことができます。
このようにMDSのデータは暗号化された堅牢なブロックボリュームに格納されているため、高い耐久性と安全性を保持したままデータを運用する事が可能となっています。
③MDSのデータバックアップ保管場所
バックアップには物理バックアップと論理バックアップの2種類があります。それぞれのバックアップのセキュリティをご紹介していきます。
物理バックアップ
MDSで使用できる物理バックアップとして、「OCI提供の機能によるバックアップ」があります。
「OCI提供の機能によるバックアップ」では、バックアップファイルの出力先がブロックボリュームとなるため、AES256で自動的に暗号化されます。ただし、このバックアップファイルはユーザが直接触ることはできず、OCI提供の機能によるリストア及びバックアップからの新規DBシステム作成でのみ使用可能となっています。
論理バックアップ
MDSで使用できる論理バックアップとして「mysqldump」「mysqlpump」「MySQL Shellのダンプ機能によるバックアップ」の3種類があります。こちらはMySQLでもともと使用することが可能なクライアントツールであり、MDSでも変わらず使用することができます。
自動で暗号化される物理バックアップに対して、論理バックアップはユーザが手動でバックアップファイルをopensslコマンドにて暗号化する必要があります。下記に手動による暗号化の例を記載します。
- 暗号化
openssl aes-256-cbc -e -in バックアップファイル名 -out 暗号化したファイルのファイル名 - 復号化
openssl aes-256-cbc -d -in 暗号化したファイルのファイル名 -out バックアップファイル名
最後に
今回は、通信中や保管中のデータセキュリティという観点でMDSのセキュリティ対策についてご紹介しました。
MDSは基本的には特別な設定を明示的に行わずとも、自動的に高度なセキュリティを担保してくれます。データベースにおけるセキュリティは非常に重要だからこそ、MDSでもしっかりとした対策を行っていることが伺えます。
これを期に、Oracleの新サービスである「MySQL Database Service」の導入をご検討されてはいかがでしょうか?
- カテゴリ:
- OCI基礎知識
- キーワード:
- MDS セキュリティ データ