1

小さな製造会社で SAP Business One - Fourth Shift Edition を実行しています。インストール/実装を行うために入ってきたコンサルティング会社は、最初に「sa」ID/パスを使用してデータベースに接続し、会社のリストを取得します。それ以降は、クライアント ソフトウェアをデータベースに接続するために使用されている ID/パスであると想定する必要があります。これは適切ですか?このデータがどこに保存されているのかわかりません... ODBC接続として?どこかのレジストリに直接?安全ですか?データベース セキュリティでユーザーのネットワーク ID を設定し、代わりに「信頼できる接続」設定を使用する方がよいでしょうか? それとも、ほとんどの人はデータベースにユーザーごとに個別のログインを作成し、それをクライアント設定で使用しますか?

最も簡単な方法は、ユーザーのネットワークログインをSQLサーバーセキュリティに追加して、「信頼できる接続」を使用できるようにすることです...しかし、それでは、どのソフトウェアもそのマシンからデータベースに接続できませんか?

とにかく、これを設定するためのベストプラクティスは何ですか?

4

4 に答える 4

1

その使用法は災害のレシピのように聞こえます。

私が見たほとんどのセキュリティモデルでは、接続方法に関係なく、最初のルックアップSP、ビュー、またはテーブルは、認証されたすべてのユーザーが読み取りアクセスできます。アプリケーションに専用のログオンがある場合でも、それはsaではありません。

SAPの制限について詳しく知らなければ、確信が持てませんが、私たちは常にWindows認証とWindowsActiveDirectoryグループを使用する傾向があります。これらのグループは、SQLServerの役割で許可されています。したがって、すべての管理はADレベルで行われます。DBは、これらのロールに従ってロックダウンされます。アプリケーションにSQL Serverログインまたはドメインログインがある場合でも、DBは、適切に作成、名前付け、および権限を付与されたデータベースロールの1つになります。

于 2008-12-17T03:10:14.250 に答える
0

Cade... Windows で「アプリケーション」に役割を与えることができるとは思えません...

これは、ユーザーにロールを割り当ててから、アプリケーションでそのユーザー アカウントを使用させることを意味していると思います。

つまり、あなたが言っているのは、「MYDOMAIN/nick」のユーザー ID を持っている場合... AD では、この同じアプリを使用する他のユーザーと一緒にグループに MYDOMAIN/nick を割り当て、SQL Server ではそのグループをセキュリティに追加してロールを割り当てますか?

正しい。

私の懸念は、MYDOMAIN/nick を使用してマシンにサインインすると、マシン全体が (Windows 認証を介して) SQL サーバーに対して「信頼できる」ものとしてアクティブ化されることです。つまり、Visual Studio を起動して、任意のビルドを開始できます。必要なアプリで、データベースに直接接続して、好きなことを実行できる可能性があります...これは、ダウンロード/インストールできる他のアプリケーションがそのデータベースにアクセスできる可能性があることも意味します...正しいですか?

はい、そうです。あなた (MYDOMAIN/nick) は信頼されているからです。SQL Server は、PC で実行されているものを認識しません。

ただし、元の質問に戻ると、あなたが話しているプログラムは MYDOMAIN/nick に接続するべきではなく、ユーザー名 MYDOMAIN/mycustomprogram に接続する必要があります。これは、このプログラム専用のユーザー アカウントです。PC からプログラムを実行することもできますが、その場合でも MYDOMAIN/nick ではなく、ユーザー名 MYDOMAIN/mycustomprogram が使用されます。

次に、PC に 2 番目のプログラムを作成し、SQL サーバーへの認証に 2 番目のユーザー名を使用する必要があります (例: MYDOMAIN/mycustomprogram2)。

したがって、同じ PC では次のようになります。

  • MYDOMAIN/ニックネーム (AD)
  • MYDOMAIN/mycustomprogram (SQL または AD ユーザー)
  • MYDOMAIN/mycustomprogram2 (SQL または AD ユーザー)

これらのカスタム ユーザー名をアプリケーション レベルで使用すると、AD 認証が上書きされます。

また、2 つのプログラムのいずれかに問題がある場合、またはプログラムがユーザー アカウントをロックしている場合など、診断が容易であることも意味します。

SAP クライアントは接続情報を暗号化し、レジストリに保存することを知りました。

接続のどの部分について話しているのですか? このような方法で保存されているものは認識していません。

これはあなたの質問に答えていますか?

役立つ回答に投票してください;-)

于 2008-12-19T10:14:31.100 に答える
0

それは、提供/維持するセキュリティのレベルに大きく依存すると思います。SAP Business One では、新しいログインを作成するには、データベースと SBO-Common に対する db_creator パーミッション、またはテーブルの読み取り/書き込みへのアクセスとストアド プロシージャへの特定のアクセスへのアクセスなど、特定の権限を追加する必要がありますが、これは面倒です。

いずれにせよ、ユーザーの sa ログインを維持するのは本当に悪い習慣ですが、他のユーザーを作成して、アプリケーションの起動時にログイン ユーザーを変更することはできます。ソフトウェア CD にはインストール ガイドがあり、そのためのステップバイステップ ガイドでその情報を確認できます。持っていないなら、パートナーに聞いてください!

于 2008-12-28T17:07:17.463 に答える
0

それは非常に間違っています。sa アカウントは一般的な用途には使用しないでください。

次のように、別の (「アプリケーション」固有の) ユーザー アカウントを使用する必要があります。

  • セキュリティは、ユーザー (アプリケーション) レベルごとに適用できます
  • アプリケーションに問題が発生した場合 (ユーザー アカウントがロックされるなど)、その 1 つのアカウントだけが影響を受けるため、問題を簡単に診断できます。

私も Cade Roux のコメントに同意します。

于 2008-12-18T12:53:05.117 に答える