1

私は、32 ビット アプリケーション サーバー上に常駐する、私が開発を手伝ったソフトウェアをテストしてきました。IBM DB2 v10.1 を使用する 64 ビット データベース サーバーに接続します。

DB2 をセットアップしたのは私でしたが、その後変更されたことは確かです。ユーザー名/パスワード db2admin/db2admin を使用して接続できなくなりました。

代わりに、Administrator/p@ssw0rd を使用する必要があります。そのユーザーを自分で作成したことは覚えていません。これはコンピューター自体のローカル アカウントですが、私の ODBC テストによると、データベースに接続できます。

ただし、権限はないようです。この「ユーザー」がどこで Data Studio 3.2.0 を使用しているかを確認する試みは失敗に終わりましたが、DB2 での経験 (経験がない) を考えると、これは驚くべきことではありません。

私の懸念は 2 つあります。

  • この「管理者」が存在する場所を見つけるため。
  • そして、その権限を変更して、データベース管理者である iirc である db2admin の権限を複製します。

ネットで問題を調査しようとした私の試みは失敗に終わりました - いわゆる解決策が機能しないか、複雑すぎて機能したかどうかを理解できませんでした (機能しませんでした)。

私は次のことを試しました:

  • Data Studio 3.2.0 を介してデータベースを直接変更します。データベースを右クリックし、Manage Privileges を選択して、見つけたすべてのものをチェックします。また、保存されていないようです。
  • 'Select * from SYSCAT.DBAUTH where GRANTEE = 'Administrator'; これにより、テーブルの長いリストが生成されると思います。それらをどうすればよいかわかりませんが、「Administrator」を「db2admin」に置き換えると、まったく同じ結果が得られます。
  • Data Studio を使用して「Administrator」という新しいユーザーを作成します。

どうか、これについていくつかの光を当ててください。DB2 は非常に苛立たしいデータベースです。DB2 v10.1、Data Studio 3.2.0、および Windows Server 2008 を使用しています。

4

3 に答える 3

4

DB2 認証は、OS セキュリティや LDAP などの外部メカニズムに依存しています。あなたの場合、それはWindowsのセキュリティのようです。

DB2 許可は内部的なものであるため、一部の例外を除いて、すべての許可はデータベース内にあります。

DB2 にはいくつかの権限があり、インスタンス レベルのものとデータベース レベルのものがあります。データベース レベルのものは、カタログを照会することでデータベース内で見つけることができ、ユーザーまたはグループに割り当てることができます。他の権限は、インスタンス レベルで、OS グループに関連付けられます (外部メカニズム)

データベースでの最高の権限は DBADM であり、インスタンス レベルでの最高の権限は SYSADM です。SYSAMD に関連付けられたグループ内のすべてのユーザーは、インスタンス内のすべてのデータベースで自動的に DBADM になります。

これは、DB2 のセキュリティーがどのようなものかを簡単に説明したにすぎません。これは、「管理者」ユーザーが「接続」権限を持っていることを意味します (「接続」権限が公開されている場合があります。これは、すべてのユーザーが接続できることを意味します) が、他の権限や権限を持っていないことを意味します。

最後に、Windows 環境には、ユーザーを 2 つのグループ DB2ADMNS および DB2USERS に関連付ける別のセキュリティー層があります。詳細については、このリンクを確認してくださいhttp://publib.boulder.ibm.com/infocenter/db2luw/v10r1/topic/com.ibm.db2.luw.admin.sec.doc/doc/c0023391.html

于 2013-06-02T10:54:04.510 に答える
1

TABLE の SELECT を USER に GRANT する必要があります。

GRANT SELECT、INSERT ON mytable TO USER ピーター

「db2はイライラしない!」

于 2013-05-28T12:29:23.320 に答える
1

まあ、私はそれを解決しましたが、そもそもなぜこれが起こったのかはまだわかっていません。

ユーザー「管理者」を作成した後、すべてをチェックして権限を変更しました。うまくいったようです。

于 2013-05-28T07:42:11.140 に答える