0

プライベート/パブリック dblink を使用してセキュリティの問題を考えようとしています。

下の写真で私が話していることがわかります

画像

では、写真に示されているように (右のオプションはパブリック、左のオプションはプライベート)、どちらが安全だと思いますか?

4

1 に答える 1

2

プライベート データベース リンクを使用し、データベース リンク経由でアクセスする必要があるテーブルのビューを作成することをお勧めします。

したがって、別のデータベース db2 の table1 にアクセスする必要があるユーザー user1db1、user2db1、および user3db1 を持つデータベース db1 がある場合は、次のようにします。

  1. ユーザー linksdb1 を作成します。
  2. そのユーザーが db2 へのプライベート db リンクを所有できるようにします。
  3. table1@db2 のビュー linksdb1.table1 を作成します。
  4. ビューに user1db1、user2db1、および user3db1 権限を付与します。

これには 2 つの理由があります。

  • 安全。これにより、ビューへのアクセスが必要なため、データベース リンクを介してテーブルにアクセスできるユーザーを完全に制御できます。
  • 保守性。SQL に dblink を含める必要はありません。user1db1 の観点から見ると、彼は table1@db2 ではなく、linksdb1.table1 という名前のテーブルにアクセスしています。このようにして、テーブルをさらに別のデータベース db3 に移動する場合、すべての SQL を変更する必要はなく、ビューを変更するだけで済みます。
于 2013-04-24T18:33:25.363 に答える