SET ENCRYPTION PASSWORD

SET ENCRYPTION PASSWORD ステートメントは、 暗号化および暗号化解除の機能で使用されるデフォルトのパスワードおよびヒントを設定します。 このパスワードは認証に関するものではなく、 データの暗号化および暗号化解除にのみ使用されます。

このステートメントの使用について詳しくは、ENCRYPT_AESENCRYPT_RC2ENCRYPT_TDESDECRYPT_BIT、DECRYPT_BINARY、 DECRYPT_CHAR、および DECRYPT_DB を参照してください。

呼び出し

このステートメントは、アプリケーション・プログラムに組み込むことも、 あるいは対話式に実行することもできます。 これは、動的に準備できる実行可能ステートメントです。

権限

ステートメント内のグローバル変数を参照する場合は、ステートメントの権限 ID が保持する特権に、少なくとも次のいずれか 1 つが含まれなければなりません。

  • ステートメント内で識別された、それぞれのグローバル変数ごとに、
    • そのグローバル変数に対する READ 特権
    • グローバル変数が含まれるスキーマに対する USAGE 特権
  • データベース管理者権限

構文

構文図を読む構文図をスキップする
                             .-␠=␠-.   
>>-SET--ENCRYPTION PASSWORD--+-----+---------------------------->

>--+-password-variable--------+--------------------------------->
   '-password-string-constant-'   

>--+--------------------------------------------+--------------><
   |            .-=-.                           |   
   '-WITH HINT--+---+--+-hint-variable--------+-'   
                       '-hint-string-constant-'     

説明

password-variable
暗号化パスワードを含む変数を指定します。

変数は、次の条件に合っていなければなりません。

  • CHAR、VARCHAR、Unicode GRAPHIC、または Unicode VARGRAPHIC 変数でなければなりません。 変数の内容の実際の長さは、6 以上 127 以下であるか、または空ストリングでなければなりません。 空ストリングを指定する場合、デフォルトの暗号化パスワードは値なしに設定されます。
  • NULL 値とすることはできません。
  • すべての文字には大文字小文字の区別があり、 大文字に変換されることはありません。
password-string-constant
文字定数。 この定数の長さは、6 以上 127 以下であるか、または空ストリングでなければなりません。 空ストリングを指定する場合、デフォルトの暗号化パスワードは値なしに設定されます。 リテラル形式のパスワードは、静的 SQL または REXX では許可されていません。
WITH HINT
データ所有者がパスワードを思い出すための値 ('Pacific' を思い出すための 'Ocean' など) が 指定されていることを示します。 ヒント値が指定されている場合、そのヒントは暗号化関数のデフォルトとして使用されます。 暗号値のヒントは、後に GETHINT 関数を使用して検索できます。 この文節を指定しない場合、および暗号化関数に対してヒントを明示的に指定しない場合には、 出力される暗号化データにヒントは組み込まれません。
hint-variable
暗号化パスワードのヒントを含む変数を指定します。

変数は、次の条件に合っていなければなりません。

  • CHAR、VARCHAR、Unicode GRAPHIC、または Unicode VARGRAPHIC 変数でなければなりません。 変数の内容の実際の長さは、32 を超えてはなりません。 空ストリングを指定する場合、デフォルトの暗号化パスワード・ヒントは値なしに設定されます。
  • NULL 値とすることはできません。
  • すべての文字には大文字小文字の区別があり、 大文字に変換されることはありません。
hint-string-constant
文字定数。 この定数の長さは、32 よりも大きくすることはできません。 空ストリングを指定する場合、デフォルトの暗号化パスワード・ヒントは値なしに設定されます。

パスワード保護: 暗号化されたパスワードに不注意によりアクセスすることのないように、 プログラム、プロシージャー、または関数のソースにはパスワード・ストリング定数 を指定しないでください。 その代わりに、変数を使用してください。

リモート・リレーショナル・データベースに接続しているとき、 指定されたパスワード自体は「平文で」送信されます。 つまり、パスワード自体は暗号化されません。 このようなケースでパスワードを保護するには、 IPSEC (または IBM® i 製品同士の接続の場合は SSL) などの通信暗号化メカニズムを使用することを考慮してください。

トランザクションに関する考慮事項: SET ENCRYPTION PASSWORD ステートメントは、 コミット可能な操作ではありません。 ROLLBACK は、デフォルトの暗号化パスワードまたはデフォルトの暗号化パスワード・ヒントには 影響を与えません。

暗号化パスワードの初期値: デフォルトの暗号化パスワード およびデフォルトの暗号化パスワード・ヒントの初期値は、どちらも空ストリング ('') です。

暗号化パスワードの有効範囲: デフォルトの暗号化パスワード およびデフォルトの暗号化パスワード・ヒントの有効範囲は、活動化グループおよび接続です。

ENCRYPTION PASSWORD を :hv1 の値に設定します。

SET ENCRYPTION PASSWORD :hv1