サーバへの接続時に utility_db をデータベース名として指定すると、データベース・サーバ上のユーティリティ・データベースを起動できます。-su サーバ・オプションを使用すると、DBA ユーザのユーティリティ・データベース・パスワードを設定したり、ユーティリティ・データベースへの接続を無効にしたりできます。-su オプションを指定しないでユーティリティ・データベースを起動すると、パーソナル・サーバの場合とネットワーク・サーバの場合では、ユーザ ID やパスワードの要件が変わります。
パーソナル・データベース・サーバの場合、-su オプションが指定されないと、ユーティリティ・データベースへの接続に関するセキュリティ上の制限はありません。パーソナル・サーバの場合、ユーザ ID として DBA を指定します。また、パスワードも指定する必要がありますが、どのようなパスワードでもかまいません。パーソナル・データベース・サーバに接続できるユーザであればファイル・システムに直接アクセスできると想定されているので、パスワードによるユーザの選別は行われません。
ユーティリティ・データベースのパスワードをプレーン・テキストで入力することを回避するには、-su オプションを使用してパスワードを含むファイルを作成し、dbfhide ユーティリティを使用してファイルの内容を難読化します。たとえば、ユーティリティ・データベースのパスワードを含むファイルの名前が util_db_pwd.cfg であるとします。dbfhide を使用してこのファイルを難読化し、util_db_pwd_hide.cfg という名前に変更します。
dbfhide util_db_pwd.cfg util_db_pwd_hide.cfg |
その後、util_db_pwd_hide.cfg ファイルを使用して、ユーティリティ・データベースのパスワードを指定できます。
dbsrv11 -su @util_db_pwd_hide.cfg -n my_server c:\mydb.db |
ファイル難読化ユーティリティ (dbfhide)を参照してください。
ネットワーク・サーバの場合、-su オプションが指定されないと、ユーザ ID として DBA を指定する必要があります。また、データベース・サーバの実行ファイルと同じディレクトリにある util_db.ini ファイルに格納されているパスワードも指定します。このディレクトリはサーバ上にあるため、ファイルへのアクセスを制御でき、パスワードを使用できるユーザも制御することができます。パスワードでは大文字と小文字が区別されます。
util_db.ini ファイルの使用は推奨されません。-su サーバ・オプションを使用して、ユーティリティ・データベースの DBA ユーザのパスワードを指定してください。-su サーバ・オプションを参照してください。
次のコマンドを使用してデータベース・サーバを起動します。
dbeng11 -n TestEng |
セキュリティを高めるため、-su オプションを使用して、ユーティリティ・データベース・パスワードを指定します。
Interactive SQL を起動します。
[接続] ウィンドウで、[ユーザ ID] に DBA と入力し、ブランク以外のパスワードを入力します。パスワード自体は確認されませんが、フィールドを空白にすることはできません。
[データベース] タブで、[データベース名] に utility_db と入力し、[サーバ名] に TestEng と入力します。
[OK] をクリックして接続します。
Interactive SQL は、TestEng というパーソナル・サーバ上のユーティリティ・データベースに接続します。
次のコマンドを使用してデータベース・サーバを起動します。
dbsrv11 -n TestEng -su 9Bx231K |
Interactive SQL を起動します。
[接続] ウィンドウで、[ユーザ ID] に DBA と入力し、-su オプションで指定したパスワードを入力します。
[データベース] タブで、[データベース名] に utility_db と入力し、[サーバ名] に TestEng と入力します。
[OK] をクリックして接続します。
Interactive SQL は、TestEng というネットワーク・サーバ上のユーティリティ・データベースに接続します。
SQL Anywhere データベース接続と-su サーバ・オプションを参照してください。
ユーティリティ・データベースに接続するときに REVOKE CONNECT FROM DBA を実行すると、以降のユーティリティ・データベースへの接続が無効になります。これは、REVOKE CONNECT を実行する前に確立していた接続を使用するか、データベース・サーバを再起動しないかぎり、以降はユーティリティ・データベースに接続できないことを意味します。REVOKE 文を参照してください。
util_db.ini ファイルの使用は廃止予定であるため、-su サーバ・オプションを使用して、ユーティリティ・データベースへの DBA ユーザのパスワードを指定することをおすすめします。
util_db.ini の使用は、データベース・サーバを実行するコンピュータの物理的なセキュリティに依存します。これは、テキスト・エディタを使用して util_db.ini ファイルを簡単に読み取れるからです。
ネットワーク・サーバの場合、デフォルトでは、-su オプションまたは util_db.ini を使用しないでユーティリティ・データベースに接続することはできません。util_db.ini を使用する場合、このファイルにパスワードが格納されています。このファイルは、データベース・サーバの実行プログラムと同じディレクトリに配置され、次のテキストを含んでいます。
[UTILITY_DB] PWD=password |
不用意な直接アクセスから util_db.ini ファイルの内容を保護するには、ファイル難読化ユーティリティ (dbfhide) を使って、ファイルに単純暗号化を追加します。オペレーティング・システムの機能を使用して、サーバのファイル・システムへのアクセスを制限することもできます。
.ini ファイルの難読化の詳細については、.ini ファイルの内容の非表示を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |