問題タブ [grant]

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.

0 投票する
6 に答える
1193 参照

database - オラクル付与の譲歩と副作用

大規模な Oracle 本番データベース (10g) で毎日作業していると、次のような操作に気付きました。

  • テーブルに対する読み取り権限をユーザーに付与する
  • テーブルにトリガーを作成する

そのテーブルをロックし、それを主張しているすべてのカーソルを無効にします。

テーブルが大きく (> 2000 万行)、多くのユーザーが作業している場合、これは非常に大きな結果をもたらします。

私の質問は次のとおりです。なぜ Oracle はテーブルをロックしているのですか (結局、構造を変更するのではなく、ユーザーに読み取り権限を与えるだけです)、なぜカーソルを無効にする必要があるのですか?

それらのようなアクションを「よりソフト」にする方法はありますか?

前もって感謝します。

別の質問: 無効化がそのオブジェクトに与える影響を最小限に抑えるために、特定のテーブルで開いているカーソルの数を知る方法はありますか?

0 投票する
5 に答える
97157 参照

mysql - MySQLビューのみを表示し、他には何も表示しないようにするユーザー権限を付与します

この質問は元々MySQL5.1.44を使用していましたが、MySQL8.0以降にも当てはまります。

アプリケーションのさまざまなユーザーによって挿入されたレコードを含むテーブルがあるとします。特定のユーザーに、そのテーブル内の自分のレコードのみを表示するためのアクセス権を与えるにはどうすればよいですか?彼/彼女のレコードを使用してを作成することを考えましたVIEWが、それしか表示できないMySQLユーザーを作成する方法がわかりませんVIEW

では、単一のアクセス権しか持たないMySQLユーザーを作成することは可能VIEWですか?このユーザーは、読み取り専用でアクセスできるようにすることもできますVIEWか?

ありがとう!

PS:私の例でユーザーと呼んでいるのは、実際には、独自のアプリケーションを使用してレコードにアクセスしたい子会社です。

0 投票する
2 に答える
34098 参照

java - Oracle: Java 許可はどこで照会できますか?

現在のユーザーの Java 許可を確認する必要があります。これは、次のように設定されています。

dbms_java.grant_permission('SCOTT','java.net.SocketPermission','*','connect');

これは、現在のアカウントのシステム権限なしで実行できますか? システム特権でそれを行う必要がある場合、どこを見ればよいですか?

それが違いを生むなら、10gR2。

0 投票する
2 に答える
23371 参照

mysql - 複数のデータベースに付与します。MySQL

複数のデータベースに付与する方法は? MySQL。

何かのようなもの

0 投票する
1 に答える
3024 参照

mysql - MySQL の一時テーブルの選択を付与

いくつかのテーブルにしかアクセスできないユーザーがいる MySQL DB があります。このユーザーはCREATE TEMPORARY TABLESこのデータベースに対して許可されており、クエリ ログを確認すると、一時テーブルが作成され、そこから選択しようとすると失敗することがわかります。その時点GRANT SELECT ON TABLE 'db'.'tmp_tbl' TO 'user'@'localhost';でテーブルが存在しないため、実行は機能しません。

このページのユーザーのコメントは、これを行うためのハックを示唆していますが、もっと良い方法があると期待していました.


これを使用するコードは、次のようなものです。

この場合、要点は、データ (または少なくともその一部) がライブであるということです。
最初の 2 つのクエリの結果と 3 番目の結合の値が同じである必要があるため、サブクエリを使用しても機能しません。

0 投票する
1 に答える
1916 参照

postgresql - EXECUTE を多くの PostGIS 関数に付与する

PostGIS を基になるデータベース拡張として使用する MapServer に基づく Web アプリケーションがあります。Postgres スーパーユーザー経由でデータベースにアクセスしたくないので、MapServer に使用される専用のデータベース ロールが必要です。このロールには、パブリック テーブルに対する SELECT 権限 (これは簡単に達成できます) と、パブリック PostGIS 関数に対する EXECUTE 権限のみが必要です。

いくつかの疑問が生じます: すべての PostGIS 関連関数はデータベースのパブリック スキーマに格納されていますか? それとも他に考慮すべきことはありますか?

データベースの information_schema または pg_catalog からすべての関数情報 (つまり、関数名、引数の数、名前) を抽出するにはどうすればよいですか?! GRANT EXECUTE on function(args) to MapServerUser ステートメントにこの情報が必要です!

前もって感謝します!!!

0 投票する
5 に答える
78462 参照

mysql - GRANT が MySQL で機能しないのはなぜですか?

MySQLユーザーを作成して権限を付与する方法を示すヘルパーWebサイトがたくさんあるのを見て、これに頭を悩ませていますが、何らかの理由でうまくいきません。最新の MySQL バージョンがインストールされた WinXP と MacBook Pro ラップトップの両方で試してみました。

以下は、WordPress で作業したときのほんの一例です。実際のデータベースは別のものですが、同じ問題です。

手順は次のとおりです。

クエリ OK、影響を受ける行は 0 (0.14 秒)

クエリ OK、影響を受ける行は 0 (0.00 秒)

クエリ OK、影響を受ける行は 0 (0.03 秒)

ご覧のとおり、「Insert_priv: N」は「Y」である必要があります。

助言がありますか?

前もって感謝します。

0 投票する
1 に答える
427 参照

java - アプレットを使用してデータベースを更新する

システムからファイルを検索するコードをJAVAで作成しました。ユーザーは、アプレット ウィンドウのテキスト入力でファイル名と拡張子を指定し、ボタン クリック コードでOracle データベースへの接続を確立し、データベース テーブルからディレクトリ名を検索します。検索はアプレットなしで正常に機能し、アプレットを使用するとエラーが検出されます

「アクセスが拒否されました (java.util.PropertyPermissionfile.encoding 読み取り)」

このアプレットにデータベースから読み取る権限を与えるにはどうすればよいですか?

0 投票する
3 に答える
8737 参照

sql - OracleCreateViewの問題

dbaアカウントとしてログインしており、User1のスキーマにビューを作成したいのですが、User2のスキーマからデータを選択しています。

次のクエリを使用しました。

次のエラーが発生します。

これを解決するには、User2.TableのUser1への選択アクセスを許可する必要がありました。私はすでにdbaとしてログインしているので、アクセスを許可せずにこれを行う方法はありますか?

0 投票する
2 に答える
448 参照

sql - 定義済みの機能のみを実行できるように、postgres でグループ/ユーザー ロールを作成できますか?

定義済みの関数 (login(pass, login)、get_users_you_are_in_charge_off(login, pass) など) を使用するデータベース ユーザーを作成したいと考えています。

これは誰にでも開かれている必要があるため、そのユーザーのみが事前定義された機能を実行できるようにする db ユーザー/グループ ロールを作成したいと考えています。

問題は、これらの関数が SELECT、UPDATE、INSERT を使用していることです。そして、関数を実行する権限のみを与えると、それを行う権限がないというエラーがスローされます。

何か案は?(たぶん、関数内の役割を静的に変更できますか?)

// コメントのいくつかに答えるには 1 番目のコメントへ: わかりました。ありがとう。OK、あなたの答えをありがとう、それはまさに私が必要としているものです. ユーザー「plundra」に感謝します!

2番目のコメントへ:すでにテーブルまたはユーザー(ログイン付き)があります。しかし、関数 checkLogin(name, pass) を作成すると、その関数はテーブル users から選択する必要があります。また、ユーザーに SELECTS を実行する権利を与えないと、機能しません。私が権利を与えた場合、ユーザーは SELECT * from users; を実行できます。パスワードが何であるかを確認します。

OK、回答ありがとうございます。最初のコメントはまさに私が必要としているものです。ユーザー「plundra」に感謝します!