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

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

1
クロスデータベース証明書を使用する場合のトリガーの権限
私のデータベース(SQL Server 2008 R2)の特定のデータベースへのアクセスを制御するために、クロスデータベース証明書(Erland Sommarskogが説明)を使用しています。 私はデータベースBのテーブルを更新するデータベースAのストアドプロシージャを持っています。これは、これまで、db Aのさまざまなストアドプロシージャとdb Bのテーブルで常に機能していました。db Bのテーブルを更新しようとしていますが、テーブルにトリガーがあります。このトリガーは、db Bの別のテーブルに追加のデータを挿入しています。次のエラーが発生します。 メッセージ916、レベル14、状態1、プロシージャtable_trigger、行11サーバープリンシパル "sql \ login"は、現在のセキュリティコンテキストではデータベース "B"にアクセスできません。 証明書に関連付けられているデータベースBユーザーに、他のテーブルに挿入する挿入アクセス許可を付与しようとしましたが、エラーは解決しませんでした。トリガーを変更する以外にオプションはありWITH EXECUTE AS OWNERますか? 問題を再現するDDLは次のとおりです。 CREATE LOGIN [GuggTest] WITH PASSWORD=N'abcd', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF CREATE DATABASE A; CREATE DATABASE B; USE A; CREATE TABLE dbo.SPtoUpdate ( ID INT , ILoveFishing VARCHAR(255) ); INSERT INTO dbo.SPtoUpdate ( …

1
SQL Serverデータフォルダーのアクセス権
SQL Server 2014の新規インストールを行いました。次に、以前のSQL Server 2012サーバーからいくつかのデータベースをアタッチしたいと思いました。私はすべてのコピーmdfとldfデータディレクトリにファイルを、私はそれらを添付しようとしたとき、私はこのエラーメッセージが表示されました: 物理ファイル 'D:\ SQLSERVERDATA \ MSSQL12.BIDEV \ MSSQL \ DATA \ controlling_demo.mdf' を開くか作成しようとしたときに、CREATE FILEでオペレーティングシステムエラー5(アクセスが拒否されました)が発生しました。 (Microsoft SQL Server、エラー:5123) ファイルのセキュリティ設定(ファイル、プロパティ、セキュリティを右クリック)を確認したところ、読み取り権限がないと表示されました。ファイルのコピーに使用したアカウントは、管理者グループに属しています。私はDATAフォルダを完全に制御できますが、そこにコピーしたファイルだけが制限されています。 フォルダ全体にセキュリティ権限を再適用しようとすると、次のように表示されます。 コンテナ内のオブジェクトを列挙できませんでした。アクセスが拒否されました。 ファイルを別の場所にコピーすると、アクセス権が与えられます。 質問は、DATAフォルダー内のこれらのファイルへのアクセス権を取得するにはどうすればよいですか?

1
特権はいつ\ lにリストされ、いつリストされませんか?
\ lによってアクセス権限がリストされるのはいつですか、そうでない場合はいつですか?\ lで一覧表示されるアクセス権限は、付与後に変更され、取り消される場合があります。 $ createuser -EP my_readonly $ psql development development=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------------------------+----------+----------+-------------+-------------+----------------------- development | vagrant | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | ... development=# grant usage on schema public to my_readonly; development=# grant connect …

1
SSISに接続する特権を付与するにはどうすればよいですか?
dtexec.exeを使用してSSISパッケージを実行しようとすると、次のエラーメッセージが表示されました。 Could not load package "D:\Filename.dtsx" because of error 0xC00160AE. Description: Connecting to the Integration Services service on the computer "" failed with the following error: "Access is denied." By default, only administrators have access to the Integration Services service. On Windows Vista and later, the process must be running …

2
データベースダイアグラムを表示するために必要な権限
最近、開発者が使用できるようにSSDTを設定しました。開発者データベースへの変更は、サーバー(db_datareader、db_datawriter)に接続したときに各開発者が持つ権限を制限することにより、SSDTを介して行われます。SSDT内では、昇格されたアクセス許可を持つログオンを使用して接続する展開スクリプトを使用して、データベースへの変更を公開します。 私の質問。データベースをロックダウンするために(スキーマのドリフトを停止するために)この長さになっていることを考えると、開発者がdb_owner権限なしでこのデータベースの図を表示できる方法はありますか?各開発者が自分の図を作成して表示できることは知っていますが、多くの異なる開発者が作成したすべての図を表示できるようにしたいと思っています。 これは役に立たないと思いますが、SQL Server 2012を実行しています どんな助けも大いに受けられます。

5
SSMSを介した特定のログインへのSQL Serverへのアクセスを拒否し、.Net SqlClientデータプロバイダーを介して許可する方法
開発者にUPDATE権限がない状況がありますが、開発者はアプリケーションを操作して接続文字列を表示します-> SQLLogin1UPDATE権限を持ついくつかのSQLアカウント(例)からのパスワードを知っています。私たちの操作は現在完璧ではなく、時々本番データを変更する必要があります(まだGUIがありません)。 DBAに連絡してデータを変更するように求める代わりに、開発者は(不適切に)SQLアカウントSQLLogin1(データを変更する権限を持つ)を使用し、SQL Server Management Studioを介して接続してデータを変更します。 SQLLogin1を使用するアプリケーション接続文字列SQLLogin1はDeveloperによって維持されるため、DBA は新しい接続文字列と新しいパスワードを表示しない限り、パスワードを変更できません。 質問: SQLLogin1SQLログインへのアクセスを拒否する方法はありますが、SSMS経由で接続している場合に限られますか? 同時に(で)SQLLogin1接続している場合は、ログインを許可する必要があります。.Net SqlClient Data Providerprogram_namesys.dm_exec_sessions この方法ではSQLLogin1、を使用しているアプリケーションSQLLogin1は引き続き接続できますが、開発者にを使用してSSMS経由で接続させないようにします。

1
他のデータベースのアカウントなしで、他のデータベースのテーブルに基づいてビューにアクセスする
database2のテーブルに基づいて、database1にビューを作成しました。SELECTdatabase1にのみアクセスできるユーザーに許可を与えました。データベース2にアカウントがないため、ユーザーはこのビューを機能させることができません。この問題を解決するにはどうすればよいですか?database2にアカウントを作成したくありません。

1
PostgreSQLでの読み取り専用の単一テーブルアクセスに対する最小限の権限
以下は、新しいユーザー(ログイン)を作成し、PostgreSQL上の指定された1つのテーブルに読み取り専用アクセスを許可するように機能するように見えるコマンドのリストです。 これらのコマンドは、ログイン時に十分な権限で実行されると想定します(つまりpostgres、デフォルトのインストールでのログイン)。 CREATE ROLE user_name NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity'; ここで、データベースのselectテーブルtab_abcに付与したいdb_xyzので、ここに移動します(データベースdb_xyzは、PgAdminなどで現在のデータベースとして選択されています)。 grant select on tab_abc to user_name; 問題は次のとおりです。これで十分ですか、それとも追加の助成金(データベースconnectなどusage)が必要ですか? これらのコマンドは機能するようですが、デフォルトのインストールにはデフォルトのセキュリティ設定があります。サーバー管理者がより強力なセキュリティを構成している場合、どのような追加の許可を追加する必要がありますか? 私が許可する必要がないと思われconnectたりusageしているという暗示を付与しながら、 - select?いつもそうですか?

3
ユーザーはSSMSでデフォルト以外のスキーマのテーブルを表示できません
あるVIEW DEFINITIONユーザーのスキーマレベルで適切に権限を設定する際に問題が発生しました。スキーマTestSchemaを作成し、いくつかのテーブルを追加しました。ユーザーは、現在のアクセス許可は、アクセスに設定&(テーブルを変更しているSELECT、UPDATE、DELETEを介して、など)dbo_datareaderとdbo_datawriterロール。ただし、SSMSオブジェクトエクスプローラーでテーブルを表示することはできません。 定義を表示する権限を付与しようとしました: grant view definition on SCHEMA :: [TestSchema] to [User] それはうまくいきませんでした。テーブルレベルの権限を設定してみました: grant view definition on [TestSchema].[NewTable] to [User] それもうまくいきませんでした。それから私は全面的な助成金を試してみました: grant view definition to [User] そして、それはうまくいきました。これTestSchemaで、だけでなく、アクセスしてはならない他のスキーマも表示できるようになりました。 ここでの目標は、ユーザーが特定のスキーマ内のすべてのテーブルを表示できるようにすることです。どうすればそれを達成できますか?デフォルトでこれを実行できるようにする必要がある場合、なぜそれができないのかを見つけるためにどのようなアクセス許可を確認する必要がありますか?

1
Windows上のDB2 9.7でローカルdb2adminにすべての特権を付与するにはどうすればよいですか?
私の開発ステーションには、OS Windows XP Professional Edition、Service Pack 3を搭載したラップトップがあります。 Express-CエディションのIBM DB2 UDB 9.7フィックスパック4をダウンロードしてインストールしました。 DB2のローカルインストールのローカルデータベース管理者として使用しているdb2adminというローカルWindowsアカウントがあります(開発者専用)。 コマンドウィンドウを実行すると、問題なく以下を実行できます。 db2 attach to db2 user db2admin using xxxxxxxxxx これにより、DB2というインスタンスに接続できます。 データベース作成コマンドを実行できます。 次に、データベースに接続して、DB2のdb2adminアカウントにすべての特権を付与します。 db2 CONNECT TO MYDB; SET SCHEMA DB2ADMIN; db2 GRANT DBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ROUTINE,IMPLICIT_SCHEMA,LOAD,CREATE_EXTERNAL_ROUTINE,QUIESCE_CONNECT,SECADM ON DATABASE TO USER DB2ADMIN; CONNECT RESET; しかし、それを実行すると、実際のWindowsユーザーアカウント(synprgcma)にはユーザーdb2adminに権限を付与する権限がないことがDB2から通知されます。 したがって、2番目のスクリプトを次のように変更すると、 db2 CONNECT TO MYDB USER db2admin USING …

1
PostgreSQLのロールにテーブル/関数の削除権限を付与するにはどうすればよいですか?
drop特定のデータベースの特定のスキーマにあるすべてのテーブルと関数(ユーザーが所有するものだけでなく)に対する特権を特定のロールに付与したい。しかし、GRANT ALL PRIVILEGESそれだけでは不十分であり、スーパーユーザーにすることなしにその方法を見つけることができませんでした。スーパーユーザーは、同じサーバー上の他のデータベースに対する権限を持っています。スーパーユーザーの権限が特定のデータベースに限定されていてもかまいませんが、その方法はわかりません。 私のコード: CREATE USER _administrator PASSWORD 'pwd12345'; CREATE ROLE administrator NOLOGIN ADMIN _administrator; GRANT ALL PRIVILEGES ON DATABASE "myDB" TO administrator; GRANT ALL PRIVILEGES ON SCHEMA public TO administrator; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO administrator; GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA …

1
許可のスタックを拒否する
役割のためにdb_denycustomer、私がしたいだけで、顧客テーブルの列コードを選択し、他の人のどれもします。だから私はこれをしました: DENY SELECT ON dbo.customer TO db_denycustomer GRANT SELECT ON dbo.customer (code) TO db_denycustomer ...そしてそれはうまくいきます。涼しい!しかし、なぜですか? 私が関連記事で読んだのは、その許可スタックですが、DENY優先されます。対照的に、私の場合、最後の権限「クエリ」が優先されたようです。案の定、逆の順序で実行すると、後者DENYもコード列を非表示にします。 これについて詳しく説明してもらえますか? テストしたユーザーのデフォルトdb_datawriterとdb_datareaderロールも含めました。

1
サービスアカウントはデータベースメールを使用するためにどのような権限が必要ですか?
管理されたサービスアカウントでSQL Server 2012インスタンスを実行しています。1つのアカウントでデータベースメールを構成し、テストメールを送信しようとしていますが、サーバーのイベントログにエラーが表示されます。 データベースエンジンインスタンス= MYINSTANCE;メールPID = 2132;エラーメッセージ:データベースの更新に失敗しました。理由:EXECUTE権限がオブジェクト 'sysmail_logmailevent_sp'、データベース 'msdb'、スキーマ 'dbo'で拒否されました。 データベースエンジンインスタンス= MYINSTANCE;メールPID = 2212; 例外の種類:Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseExceptionメッセージ:データベースの読み取りに失敗しました。理由:EXECUTE権限がオブジェクト 'sp_readrequest'、データベース 'msdb'、スキーマ 'dbo'で拒否されました。データ:System.Collections.ListDictionaryInternal TargetSite:Microsoft.SqlServer.Management.SqlIMail.Server.Objects.QueueItem GetQueueItemFromCommand(System.Data.SqlClient.SqlCommand)HelpLink:NULL Source:DatabaseMailEngine SQL Serverプロセスを実行しているアカウントをsysadminにすると、このエラーはなくなり、メールは正常に送信されます。ただし、私が行ったすべての調査では、このアカウントDatabaseMailUserRoleにmsdbデータベースでの役割を与えるだけで十分であることが示唆されています。これを実行しても、同じエラーが発生します。 BOLを調べましたが何も見つかりませんでした。

1
SELECTにユーザーを許可することと、ユーザーをdb_datareaderロールに追加することの間に違いはありますか?
私は許可するように頼まれたSELECT、INSERTおよびUPDATEデータベース内のすべてのテーブルに対して、特定のユーザーへ。私はにユーザーを追加することになったdb_datareaderし、それらを付与INSERTし、UPDATEデータベースレベルで。 しかし、それは私に考えさせSELECTました、データベースレベルでユーザー権限を付与することと、それらをdb_datareaderロールに追加することの違いは(もしあれば)何ですか?そして、何らかの方法でベストプラクティスはありますか?

1
sp_executesqlのセキュリティ上の意味は何ですか?
デフォルトでは、SQL Serverでは、[public]ロールはEXECUTEに対する権限を持っていsp_executesqlます。 ただし、以前のDBAがのEXECUTE権限を取り消したデータベースサーバーを継承しましたsp_executesql。 一時的な回避策として、私は必要に応じて(masterデータベースのロールを介して)にEXECUTE権利を付与していsp_executesqlます。しかし、これはメンテナンスの問題になり始めています。 私が許可した場合EXECUTE、公開に戻って、私が知っておく必要がある任意の影響がありますか。

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