ユーザーへの暗号化特権の付与

このタスクは、ローカル・データ暗号化のメインタスクの一部です。このステップを完了したら、ローカル・データ暗号化の概要に戻ります。

手順

表の暗号化を初めて行う前に、アプリケーションはユーザーに暗号化特権を付与しなければなりません。 例えば、アプリケーションは以下の SQL ステートメントを発行することができます。

 rc = SQLExecDirect(..., "GRANT ENCRYPT ON DATABSE TO ¥" user1¥"" +
                          " using ¥"pwd1¥" new ¥"pwd1¥"", SQL_NTS)

この SQL ステートメントを実行する際、DB2 Everyplace は DB2eSYSUSERS という名前のシステム・カタログ表を作成し、この表に行を挿入します。 これは、ユーザー "user1 が、対応するパスワードとともに登録され、 暗号化された表の作成やその表へのアクセスなどのすべての暗号化特権が付与されたことを意味します。

この表はデータベースおよび暗号化されたデータに緊密にバインドされており、 暗号化されたデータにアクセスするために別の DB2 Everyplace データベースへ移動することはできません。 これは、異なるデータベースは、暗号化および暗号化解除用に別の鍵を持っているためです。 結果として、あるデータベースの暗号化された表にアクセス可能なユーザーが、 同じユーザー ID とパスワードを使用して別のデータベースにアクセスすることはできません。 他のシステム・カタログ表と同様、アプリケーションは SQL の SELECT ステートメントを使用して行を取り出すことができますが、 この表にあるデータを INSERT、DELETE、UPDATE、CREATE、または DROP の各ステートメントを使用して変更することはできません。

関連した概念

関連したタスク