タグ付けされた質問 「permissions」

オペレーティングシステム、データベースマネージャー、またはその他のシステムのセキュリティメカニズムを通じてアカウントまたはロールに付与される特権。

2
ビューに権限を付与し、テーブルの選択を拒否する
MySQLユーザーがいて、データベース内の他のテーブルではなく、必要なビューのみを表示したい。次のように、特定のビューでのみこのユーザー権限を付与しました。 GRANT SHOW VIEW ON `myDatabase`.`awesome_view` TO 'thisUser'@'%' show grants;ステートメントを実行すると、期待どおりにこの権限しか表示されません。ただし、このユーザーに、これらのビューに関連するテーブルではなく、ビューだけをクエリしてもらいたいのですが、これを行う方法が見つかりません。ユーザーがビューで選択を行うようにしたい場合、テーブルに対しても選択を許可する必要がありますか、それとも間違っていますか? select残りのテーブルのステートメントを拒否し、コマンドラインで選択を実行しようとすると、次のようになります。 SELECT * FROM myDatabase.fordibenForYouTable; ERROR 1142 (42000): SELECT command denied to user 'thisUser'@'localhost' for table 'fordibenForYouTable' それが本当に欲しいことですが、ビューデータを選択した場合も拒否されました。 テーブルではなくビューのみをユーザーが利用できるようにする方法はありますか?

2
ドメイン管理者がSQL Serverに接続できない
Windows Server 2012 R2ドメインコントローラーとデータベースサーバー(W2K12R2 / SQL Server 2012)があります。 許可されたユーザーグループとして、「ドメイン管理者」グループにsysadmin権限を付与しました。 しかし、どういうわけか、ドメイン管理者はそのSQL Serverに接続できませんが、許可されたユーザーとしてドメイン管理者ユーザーを直接追加すると、機能します。Active Directoryは機能します。RDPログインが機能します。何か不足していますか? グループ「domain-admins」全体へのアクセスを許可する方法を誰かが知っていますか? エラーメッセージは次のとおりです。 サーバー名:SRV-DB エラー番号:18456 シュヴェレグラード:14 ステータス:1 コードの行:65536 イベントログには次のように書かれています(翻訳済み): インフラストラクチャ障害のあるトークンベースのサーバーアクセスのチェック中にエラーが発生しました。 状態は "1"です。domain-adminとしてRDPでそのdb-serverにログオンします。「管理者として実行」でSSMSを明示的に起動する必要があります。その後、「localhost」にアクセスできます。SSMSを管理者として開始しない場合、それはできません。「domain-admins」グループに参加するだけで十分だと思いました。

1
シリアル列のシーケンスを更新する権限を明示的に付与する必要がありますか?
最近、シリアルID列を含むテーブルをスーパーユーザーとして作成しました。 create table my_table ( id serial primary key, data integer ); スーパーユーザー以外のユーザーにそのテーブルへの書き込みアクセスを許可したいので、アクセス許可を付与しました。 grant select, update, insert, delete on table my_table to writer; ユーザーがmy_table_id_seqシリアル列に関連付けられたシーケンスを変更する権限を持っていなかったため、そうした後のランダムな時点で、そのユーザーによる挿入は失敗し始めました。残念ながら、現在のデータベースではそれを再現できません。 私はこのようにユーザーに必要な許可を与えることでこれを回避しました: grant all on table my_table_id_seq to writer; 誰かが私を理解するのに役立ちますか なぜ、ある時点で、以前は十分であった権限が失敗し始めるのでしょうか? シリアル列を持つテーブルに書き込み権限を付与する適切な方法は何ですか?

1
sysadmin以外、SQL Serverエージェントジョブの非所有者に実行を許可する
SSISパッケージを実行するジョブがあります。 現在、所有者はプロキシアカウントです。sys-adminアカウントからジョブを手動で実行できます。 当社のWebサービスは、制限付きアカウントを使用してログインします。ジョブを実行する必要があります。現在、ジョブをまったく表示できません(名前で実行しようとすると、存在しないと表示されます)。 オーナー限定のアカウントに変更してみました。これでジョブを表示できましたが、SSISパッケージを実行できなくなったため、ジョブは実行に失敗しました。 制限付きアカウントが別のアカウントが所有するジョブを実行できるようにする方法が必要ですか?

3
スキーマ内のすべてのテーブルに対するすべての権限をIBM DB2のユーザーに付与する方法は?
まず、データベースをIBM DB2 AIXからIBM DB2ウィンドウにエクスポートします。残念ながら、OSの問題により、BACKUPとRESTOREコマンドを使用できません。そのため、db2moveコマンドを使用する必要があります。 私は、エクスポートされたMYSCHEMAのからスキーマとテーブルのすべてをdbempのこのコマンドを使用してリモートIBM DB2 AIXでのデータベース: db2move dbemp export -sn myschema このコマンドを実行すると、dbuser1という名前のユーザーとしてログインしました。 現在のフォルダーにたくさんのファイルを生成します。IBM DB2 LUWがインストールされているローカルマシン(Windows)にファイルを取得します。 次に、ローカルマシンのIBM DB2で、IBM Data Studioを使用して、最初に既存のスキーマmyschemaを削除しました(ローカルdbempデータベースもありました)。 次に、次のコマンドを使用してファイルをインポートしました。 db2move dbemp import スキーマとテーブルをローカルのdbempデータベースに正常にインポートします。 上記のアクションを実行したとき、ユーザーwinuser1としてログインしていました。 ローカルマシン(Windows)にもdbuser1という名前のローカルユーザーがいます。IBM Data Studioで、dbuser1ユーザーを使用してローカルdbempに接続する接続プロファイルを作成しました。myschemaスキーマとテーブルを参照できますが、テーブルのデータを参照できません(特権エラーが発生しました)。ユーザーwinuser1はテーブルのデータを参照できますが、開発のために、ユーザーdbuser1を使用してデータベースに接続する必要があります。 そのため、次のようにテーブルのユーザーに特権を付与できることがわかりました。 GRANT ALL ON myschema.table1 TO USER dbuser1 問題は、100個のテーブルがあることです。テーブルごとにその行を入力したくありません。残念ながら、次のようなワイルドカードソリューションはありません。 GRANT ALL ON myschema.* TO USER dbuser1 -- this doesn't work したがって、問題は、スキーマ内のすべてのテーブルに対するすべての特権をユーザーにどのように付与するかということです。または、より良い代替ソリューションはありますか?多分からすべての権限をコピーしてwinuser1にdbuser1?

2
シングルユーザーから「REQUIRE SSL」を適切に削除するにはどうすればよいですか。
次のようにして、1人のユーザーにREQUIRE SSLを許可しました... mysql -u"${targetMySqlUser}" -p"${targetMySqlPass}" -e "GRANT USAGE ON dbname.* TO 'dbusername'@'%' REQUIRE SSL;" しかし、ユーザーからこのフラグをREMOVINGまたはREVOKINGして、取り消しを使用すると失敗します。私は構文と戦っているようです。権限全体を取り消さずに、「取り消し」コマンドでそれを削除する適切な方法はありますか? MySQL 5.5マニュアル、このサイト、およびインターウェブは、適切な反対方向を見つけるのにまだ役立ちませんでした。 このSQLステートメントは機能します。 UPDATE mysql.user SET ssl_type = '' WHERE ssl_type = 'any' ; FLUSH PRIVILEGES; しかし、私はどこにあると信じてGRANT REQUIRE SSL、私がしなければならないREVOKE REQUIRE SSL、ありませんか?

1
LocalSystemで以前に実行されている場合、NT SERVICE \ MSSQLSERVERアカウントでSQLサービスを実行する方法
最近、実験的なpuproseのために、サーバー設定のデフォルト(C:...)data \ logファイルパスを新しい場所(G:\ DBA)に再配置しました。 次に、既存のdbのdata \ logファイルを新しい場所(G:\ DBA)に移動し、SQLサービスを再起動しました。それ以来、私がDBを作成しているときはいつでも、期待どおりに機能しています。つまり、data \ logファイルが新しい場所(cool ...)に作成されています。 しかし、問題は、以前に存在していたすべてのDBがRecoveryPending状態であり、Access deniedのようなエラーが発生したことです。 SQLが実行されているサービスアカウント(NT SERVICE \ MSSQLSERVER)に新しい場所(G:\ DBA)へのアクセス権がないと考え、ログオンアカウントをコンピューターの管理コンソールでSQLサービスのローカルシステムとして変更しました。これで、すべてのdbが良好であることがわかります。 しかし、SQLサービスをNT SERVICE \ MSSQLSERVER(デフォルトのインスタンス)サービスアカウントで実行したいのですが。NT SERVICE \ MSSQLSERVERのG:\ DBA \へのフルアクセスを与えてみましたが、使用しませんでした。SQLサービスをNT SERVICE \ MSSQLSERVERサービスアカウントで実行する場合に必要なすべてのことを手伝ってください。私はこの分野の初心者です。私を助けてください。 前もって感謝します。。。

1
SQL Server 2000のすべてのテーブル、ビュー、プロシージャへのアクセス許可を付与する
T-SQLをSQL Server 2000構文で使用して、特定のデータベースのすべてのTABLESおよびVIEWSに対してGRANT SELECT、INSERT、UPDATE、DELETEを実行し、100を超えるオブジェクトのうち2つまたは3つを除外するかなり効率的な方法があるかどうか疑問に思いました。また、すべてのストアドプロシージャに対するEXEC権限を付与できるようにしたいと考えています。 現在、以下のコードを使用して、1つずつ変更しています。約100のテーブルと100のビューに対してこれを行うと、時間がかかりすぎ、GUIでさらに時間がかかります(私が間違っている場合を除きます)。 use [DATABASE_NAME] GO GRANT DELETE ON [dbo].[table_name]TO [user_name] GO use [DATABASE_NAME] GO GRANT INSERT ON [dbo].[table_name]TO [user_name] GO use [DATABASE_NAME] GO GRANT SELECT ON [dbo].[table_name]TO [user_name] GO use [DATABASE_NAME] GO GRANT UPDATE ON [dbo].[table_name]TO [user_name] GO T-SQLを使用して、すべてのユーザーテーブルとビューを循環させ、カップルオブジェクトを除外しながら特定の特権を付与するにはどうすればよいですか?


3
Oracleのロールには所有者がいますか?
ユーザーXを使用してoracleデータベースにログインし、ユーザーXがcreate roleコマンドを使用していくつかのロールを作成するとします。ユーザーXがロールの所有者であることを知りたいですか?ユーザーXが作成したすべてのロールを選択できますか?

1
sa、dbo、エンティティ所有者、information_schema、sys、または自分へのアクセス許可を付与、拒否、または取り消すことはできません
次のエラーが発生しました: Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself. これらのコマンドを試していたとき USE ASPState GO GRANT EXECUTE ON CreateTempTables TO [R2Server\AAOUser] GO GRANT EXECUTE ON DeleteExpiredSessions TO [R2Server\AAOUser] GO GRANT EXECUTE ON GetMajorVersion TO [R2Server\AAOUser] GO GRANT EXECUTE ON GetHashCode TO [R2Server\AAOUser] GO GRANT EXECUTE …

3
ユーザーがデータベースを削除できる理由を特定する
データベースを削除できるSQLサーバーユーザーがいます。以下のコードを実行して、SQL Serverでのユーザーの権限を確認しましたが、ユーザーがデータベースを削除する機能を特定できませんでした。このユーザーがdbを削除する方法を特定するのに役立つSQLスクリプトはありますか?データベースの削除を拒否するコマンドはありますか?(SSMSはユーザーをdbcreatorロールの一部として表示していません) select USER_NAME(p.grantee_principal_id) AS principal_name, dp.type_desc AS principal_type_desc, p.class_desc, OBJECT_NAME(p.major_id) AS object_name, p.permission_name, p.state_desc AS permission_state_desc from sys.database_permissions p inner JOIN sys.database_principals dp on p.grantee_principal_id = dp.principal_id order by principal_name 上記のクエリの出力は、役立つ場合、ユーザーに次の3つのレコードを提供します class_desc object_name permission_name permission_state_desc OBJECT_OR_COLUMN xp_cmdshell EXECUTE GRANT DATABASE NULL CONNECT GRANT DATABASE NULL CREATE DATABASE GRANT

2
ストアドプロシージャ内の権限を選択しますか?
動的SQLを使用するストアドプロシージャの実行権限をユーザーに付与しました。しかし、それを実行しようとすると、エラーが発生します。 SELECT権限がオブジェクト '[テーブル名]'、データベース '[データベース名]'、スキーマ 'dbo'で拒否されました。 ストアドプロシージャが使用するテーブルに対するアクセス許可をユーザーに付与する必要がありますか?それは私には本当に意味がありません。

1
ストアドプロシージャに対するMySQLユーザー権限
簡単なストアドプロシージャを作成しました。 mysql> CREATE FUNCTION hello (s CHAR(20)) -> RETURNS CHAR(50) DETERMINISTIC -> RETURN CONCAT('Hello, ',s,'!'); Query OK, 0 rows affected, 1 warning (0.00 sec) しかし、実行に失敗しました: mysql> SELECT hello('world'); ERROR 1370 (42000): execute command denied to user ''@'localhost' for routine 'test.hello' ユーザー名が空の文字列である可能性はありますか?ユーザーを作成して権限を付与するにはどうすればよいですか?データベース内のすべてのエンティティに対するすべての権限をユーザーに付与できますか?

4
ルートとして権限を付与することはできません
問題があったため、を除くすべてのユーザーを再作成することにしましたroot@localhost。これは正常に機能しますが、新しく作成されたユーザーは何もする権利がありません。私が欲しいのは、単にローカルIPでrootにすべての権利を与えることです。私は(としてroot@localhost)試しました CREATE USER 'root'@'10.0.3.210'; GRANT ALL ON *.* TO 'root'@'10.0.3.210'; 最初のコマンドは機能し、2番目のコマンドはメッセージで失敗します ERROR 1045 (28000): Access denied for user 'root'@'localhost' なぜroot@localhostすべてを実行できないのかわかりません。その権限を変更していなかったと思います。から SHOW GRANTS FOR 'root'@'localhost' 私は得る Grants for root@localhost GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, REPLICATION SLAVE, …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.