問題タブ [database-permissions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 一部のテーブルでの SQL Server テーブル操作 (INSERT および DELETE) の防止
データベースでランダムな sql クエリを使用しているときに、名前を誤って入力しただけで、一部のデータベース テーブルにアイテムを挿入または削除したくない場合があります。では、安全に作業できるように、それらを「編集」にロックする方法。
ありがとう。
orm - データベースのアクセス許可とORM
私は最近.NETのEntityFrameworkを頻繁に使用しており、ストアドプロシージャの使用に戻ることは絶対に望んでいません。私がこのプロジェクトを構築している会社には、ストアドプロシージャにアクセスするためのアクセス許可しか持たないアカウントのみがアプリケーションに与えられるというポリシーがあったことに、ショックを受けました。
どうやら、彼らは、アプリケーションがテーブル/ビューに直接アクセスできるようにすることにはセキュリティリスクがあると信じています。わかりません。
- 私の最初の質問は、データベースに直接アクセスできるアプリケーションがどのような種類のセキュリティリスクをもたらす可能性があるかについて誰かに教えてもらえますか?と
- その場合、割り当てられるユーザーアカウントの制限を回避できる、これに対する回避策を提供できる他のORMソリューションはありますか(論理的な可能性のあるATMは考えられません)。または、テーブルとビューに対する直接のアクセス許可が必要であるという私の理解は間違っていますか?
security - ASP.Net ユーザー データベースの保護
クライアントのサーバーでホストされる Web アプリに取り組んでいます。
さまざまな制限/セキュリティ対策が実施されており、クライアントが SSMS を介して ASP.Net ユーザー データベースに直接アクセスできるため、これらが「ハッキング」される可能性があることを懸念しています。
ユーザーがこれを行うのを止める方法はいくつか考えられますが、従うべき特定の基準があるかどうかを知りたいですか?
sql-server - SQLサーバーの実行権限。権限の適用の失敗
SQL2000からSQL2008に移行したばかりで、sp_OACreateを使用するストアドプロシージャで実行権限の問題が発生し始めました。
システムの残りの部分は、セットアップされてデータベースに追加されたdbログインで正常に動作します。
私はもう試した:
しかし、これは次のエラーで失敗します。
メッセージ15151、レベル16、状態1、行1ユーザー'dbuser'が存在しないか、権限がないため、ユーザー'dbuser'が見つかりません。
私は完全な権限でsaとしてサーバーにログインしています。同様のSQLステートメントを実行して、サーバーの役割にアクセス許可を適用できますが、ログイン/ユーザーは適用できません。
特定のユーザー/ログインに変更を適用するにはどうすればよいですか?
パブリックロールに権限を適用すると、問題が解決します。ただし、これはセキュリティの問題のようで、ライブサーバーには適用したくありません。
oracle - sqlplusを使用してOracleデータベースにビューを作成できません(権限が不十分です)
私はこのSQLを実行しています:
ビューを作成しようとすると、次のエラーが発生します。
1行目のエラー:
ORA-01031:権限が不十分です
何故ですか?sysmanを使用してsqlplusにログインしています
mysql - MySQLビューのみを表示し、他には何も表示しないようにするユーザー権限を付与します
この質問は元々MySQL5.1.44を使用していましたが、MySQL8.0以降にも当てはまります。
アプリケーションのさまざまなユーザーによって挿入されたレコードを含むテーブルがあるとします。特定のユーザーに、そのテーブル内の自分のレコードのみを表示するためのアクセス権を与えるにはどうすればよいですか?彼/彼女のレコードを使用してを作成することを考えましたVIEW
が、それしか表示できないMySQLユーザーを作成する方法がわかりませんVIEW
。
では、単一のアクセス権しか持たないMySQLユーザーを作成することは可能VIEW
ですか?このユーザーは、読み取り専用でアクセスできるようにすることもできますVIEW
か?
ありがとう!
PS:私の例でユーザーと呼んでいるのは、実際には、独自のアプリケーションを使用してレコードにアクセスしたい子会社です。
sql-server - SQL Server:データベースが直接変更されないように保護します
このプログラムには、SQLServer2005データベースとSQLServer2005Expressが付属しています。通常、SQLServer2005の独自のインスタンスをクライアントのコンピューターにインストールします。
次に、プログラム内からのみコンテンツを更新する必要があるテーブルをいくつか追加する必要があります。たとえば、Management Studioを使用して、これらのテーブルが直接変更されないようにする必要があります。
どうすればこれを達成できますか?ユーザー権限を設定する必要がありますか?暗号化を使用できますか?SQL Serverインスタンスにアクセスするために独自の「sa」パスワードを設定し、プログラム内からのみ使用することを考えましたが、それによってWindows認証によるアクセスが無効になることはありません。
[編集]私がやろうとしていることのいくつかの説明。プログラムは、時間と出席のプログラムです。従業員の時計はタイムレコーダーから収集され、データベースに保存されます。一度収集されると、これらのクロッキングを削除したり、日付と時刻の値を変更したりすることはできません。したがって、ユーザーがデータベース内でこれらの値を直接操作できないようにする方法が必要です。
お客様の大多数はSQLの経験がないため、プログラムのインストール時にこれらのアクセス許可を設定する必要があることに注意してください。
[編集2]ご回答ありがとうございます。このテーマに関連してさらに2つの質問をしたいと思います。
1-Windows認証を介してDBにアクセスするユーザーにSELECT権限のみを付与できますか?
2-ハッシュシステムを介してテーブルを変更から保護することは可能/実行可能ですか?ハッシュ列を追加して各行のハッシュを計算し、行データをハッシュと比較して変更を確認するようなものですか?
sql-server - 1つのビューだけを読み取る権限を持つSQLServerユーザーを作成しますが、システムビューとプロシージャは表示できますか?
私の会社は私たちのために小さなプロジェクトを行うために請負業者を雇いました。彼は私たちのメインデータベースの単一のビューからデータを選択する必要があります(SQL Server 2005
)。
SQL Server
私は彼のためにロックダウンされたログインを作成したかったのですがSELECT
、「彼の」ビューからのアクセス許可だけで...他には何もありませんでした。
そこで、サーバー上に新しいユーザーを作成し、次の1つのビューでのみユーザーにアクセス許可を与えました。
基本的に、これは機能します。彼は、テーブルとストアドプロシージャを表示できず、「自分の」ビュー以外のビューも表示できません。
だが:
- 彼はすべてのシステムビューにアクセスできます
- 彼はすべてのシステムストアドプロシージャにアクセスできます。
どうやら彼のパーミッションは自動的にロックダウンされています(sys.objects
彼がパーミッションを持っているオブジェクトのみをsp_who
表示し、彼自身のプロセスのみを表示します)。
だから、私の質問は:
システムビューとストアドプロシージャにアクセスせずにユーザーを作成することは可能ですか?
(もしそうなら、私は何を間違っているのですか?)
または、ロックダウンされたユーザーでさえシステムビューとストアドプロシージャにアクセスする必要がある理由はありますか?
編集:
kevchadders、ユーザーはマスター、モデル、またはmsdbにアクセスできません-表示されるはずのビューを持つデータベースにのみアクセスできます。
ただし、明確にするために、ユーザーが表示できるシステムビュー/プロシージャはデータベースにあり、「彼の」ビューは...マスターデータベースにはありません。したがって、彼は同じデータベース内の1つのビューから選択する必要があるため、すべてのアクセスを無効にすることはできません。
重要なのは、彼が表示するはずの単一のビューに対してのみ明示的にアクセス許可を設定したとしても、なぜ彼はシステムビュー/プロシージャも表示するのでしょうか。
sql-server - 依存関係を表示するための SQL Server 2008 権限
DB への読み取り専用アクセスを持つ SQL サーバー ユーザーが、オブジェクトの依存関係を表示できるようにしたいと考えています。システム管理者として、SSMS でテーブルを選択し、依存オブジェクト (ビュー、SPROC など) を表示できます。私の読み取り専用ユーザーは、これらの依存関係をほとんどまたはまったく見ることができません。私はすでにビュー定義を許可していますが、それはできませんでした。
これに対するSQLサーバーのアクセス許可があるかどうかは誰にもわかりませんか?
ありがとう。
mysql - Mysqlクロステーブル更新権限の問題
次のような MySQL クエリを実行しています。
問題は、categorylinks
テーブルに対する UPDATE 権限がない (私には に対する権限があるmy_articles
) ため、クエリが失敗し、次のメッセージが表示されることです。
どうすればこれを回避できますか?