ApsaraDB RDS for MySQLインスタンスの特定のデータを保護する場合は、ApsaraDB RDS for MySQLの常時機密機能を使用できます。 この機能は、データへの不正アクセスを防止し、データ保護規制への準拠を保証する暗号化ソリューションを提供します。 このトピックでは、ApsaraDB RDS for MySQLが提供する常時機密機能の利点について説明し、機密データを効率的に管理および保護するのに役立ちます。
すべてのSQL文をサポートし、コード変更なしでアプリケーションに適応します
いくつかのコマンドを実行して、既存のコードを変更することなく常に機密機能を使用できます。 この機能を使用する場合、クライアントで追加の暗号化および復号化操作を実行する必要はありません。
この機能はすべてのSQL文をサポートします。 機能が有効になっているRDSインスタンスで、SQL文を変更することなくSQL文を実行できます。 たとえば、SQLステートメントをプレーンテキストで実行して、ファジー一致を実行できます。
この機能は、既存のRDSインスタンスと互換性があります。 既存のRDSインスタンスに対してこの機能を有効にできます。 ロールバックを実行することもできます。
この機能は、Data Transmission Service (DTS) やData Management (DMS) などのツールをサポートし、コードを変更することなくアプリケーションのワークロードを移行します。
データ保護ルールを有効にした後、暗号文のすべてのデータを返します。
ビジネス要件に基づいてデータ保護ルールを設定できます。 ルールでは、保護するデータと、暗号化などのデータ保護方法を指定できます。 詳細については、「データ保護ルールの管理」をご参照ください。 このように、機能が有効になっているRDSインスタンスは、クエリ中に保護するデータを自動的に識別し、データ保護ルールに指定された保護方法に基づいて指定されたデータを処理し、クエリ結果を返します。 データベース開発者、O&M担当者、およびサードパーティパートナーを含むすべてのユーザーは、関連するアカウントの資格情報が漏洩した場合でも、保護されたデータをプレーンテキストでクエリ結果に表示することはできません。
この機能は、指定されたデータ保護ルールと関連するソースデータのセキュリティに基づいて、加算、減算、集計、JOIN操作など、保護されたデータに関連するさまざまな計算の結果を保護するかどうかを決定します。
テーブルレベルと列レベルでデータを暗号化
この機能を使用すると、データ保護ルールのテーブルレベルと列レベルで保護するデータを指定できます。
たとえば、列Aを保護列として指定し、暗号化方法を使用して列を保護する場合、機能は指定したキーを使用して列aのデータを自動的に暗号化します。
最小限のパフォーマンスオーバーヘッド
機能が有効になっているRDSインスタンスは、機能が無効になっているRDSインスタンスと同じくらいパフォーマンスオーバーヘッドが最小限に抑えられます。
この機能が有効になっているRDSインスタンスのクエリパフォーマンスは、暗号化されるデータのサイズに反比例します。 暗号化されたデータのサイズが大きい場合、RDSインスタンスのパフォーマンスが低下します。
機能を無効にすると、キーを指定して自動的にキーを破棄できます
信頼できるキー管理サービスまたはサードパーティのキー管理サービスを使用してキーを取得し、パラメーター設定またはその他の方法を使用してキーをEncJDBCに動的に渡すことができます。 EncJDBCは、常に機密機能のMySQL JDBCです。 EncJDBCから機能を使用する方法の詳細については、「EncJDBCから常に機密機能を使用する」をご参照ください。
データ所有者のみが利用可能なキーは、安全な配布メカニズムを介してクエリで有効になり、使用後に自動的に取り消され、盗まれる可能性を防ぎます。
キーは更新および回転できます。
クライアントからの複数の接続方法をサポート
Java、Go、Pythonなどのプログラミング言語でクライアントドライバーとSDKを使用して、クライアントからこの機能を使用できます。
クライアントドライバは、アプリケーションの構成を変更する必要なしに、自動的に復号化を完了する。
この機能を使用するためのSDKが提供されています。 API操作を呼び出して、暗号文データを柔軟に処理できます。
データ保護ルールで指定できるデータ保護方法は暗号化です。
クライアントはクエリ結果の暗号文の復号化をサポートしていますが、SQL文の暗号化はサポートしていません。