問題タブ [least-privilege]
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.
.net - Entify フレームワークの挿入には選択権限が必要です
LINQ to Entities を使用して、エントリを Audit データベース (SQL Server 2008) に書き込みます。これは専用の監査データベースであるため、行を挿入するだけで、監査アプリケーションから行を読み取ったり、更新したり、削除したりすることはありません。
監査アプリケーションは最小特権の原則を使用する必要があるため、必要以上のアクセス許可を付与したくありません。行をまったく読み取らないため、データベースから選択する権限を付与したくありません。
ただし、データを書き込もうとすると、次のエラー メッセージが表示されます。
オブジェクト 'AuditEvent'、データベース 'IdentifyAudit'、スキーマ 'dbo' に対する SELECT 権限が拒否されました。
コードは非常に標準的な EF コードです。
テーブルへの書き込みに SELECT 権限が必要なのはなぜですか? さらに重要なことに、その要件を削除する方法はありますか?
編集
SQL プロファイラーは、このステートメントが実行されていることを示しています。
これは、操作が挿入された行の自動生成された ID を返すため、SELECT 権限が必要な理由を説明しています。
ここで疑問が残ります: 挿入したばかりの行の ID を知る必要はないので、この機能を無効にする方法はありますか?
sql - アプリケーションの関心ごとに異なるユーザーを作成します!
私は自分のサイトを作成し、ページにそれを作成して、フォーラム ページが mydb.forum_table、mydb_forum_table2 に対する権限を持つフォーラム mysql ユーザーを使用するようにします。mydb.users や mydb.profiefields などへのアクセス権を持つプロファイル ユーザーをフォトギャラリー、ブログ、チャットなどで使用するためのプロファイル ページ...これが正しい方法です。私は最小権限の原則を考えていますが、他の有名な CMS がそれを行うのを見たことがないのはなぜでしょうか!
c# - Windows サービスからスマートカードにアクセスするために必要なアクセス許可
スマートカードを使用していくつかのことを行う Windows サービスがあります。スマート カードの証明書は、ローカル マシンの MY ストアにマップされます。サービスが System として実行されている場合、スマート カードの秘密キーへのアクセスは問題ありませんが、NetworkService として実行されている場合は失敗します。
証明書 MMC (秘密キーの管理...) を使用して、証明書へのアクセスを NetworkService に既に許可しています。
表示されるエラー:スマート カード リソース マネージャーが実行されていません。
このエラーは、暗号化例外でスローされます。
スマート カード リソース マネージャーにアクセスするために必要な権限やアクセス許可について何かアイデアはありますか?
敬具、
ヘニング・クラウス
c# - 管理者権限で制限付きアカウントで機能を実行したい
制限されたユーザーアカウントでプログラムを実行したいのですが、WindowsXPの管理者権限を使用します。
答えが見つかりません。私は2つの方法を使うことができると思います:
- プログラムやサービスなどの別の方法でプログラムを実行する
- PrincipalPermissionスペースなどのメソッドを使用して関数を実行します
しかし、私はこの問題を解決することはできません。
objective-c - 低い権限でOSXアプリケーションを実行する
作業中のOSXアプリケーションがあります。サンドボックス化されていません(サンドボックス化を防ぐことを行う内部アプリケーションです)。
ある時点で、私のアプリケーションは補助アプリケーション、実際には単なるコマンドラインアプリケーションを開始します。このアプリケーションから、TMPDIRへのファイルの書き込み以外のすべてのことができるようにしたいと思います。最小特権の原則に従おうとしています。
私が使用している現在のコードは次のとおりです。
これはNSTaskで可能ですか?そうでない場合、非常に低い特権でMyProgramを起動するためにどのメカニズムを使用できますか?
c# - C# で SeDebugPrivilege を無効にする
C# で WPF に基づくプログラムがあり、アプリケーションをデバッグするためのユーザーの特権 (SeDebugPrivilege) を (少なくともリリース モードで) 削除したいと考えています。これについて最善の方法は何ですか?アンマネージ コードへの安全でない呼び出しを必要とするコードでそれを行う方法をいくつか見つけました。これを純粋に C# で行うか、アプリケーション マニフェストを介して行うか、アプリケーションの実行中にユーザーが SeDebugPrivilege をまったく取得できないようにする他の手段を使用することをお勧めします。Windows グループを宣言し、グループ全体の特権を取り消す方法はありますか? これの動機は、最小特権の原則に従うことで、アプリケーションをより安全に保護するためのプッシュの一部です。後で削除したい権限は他にもありますが、
session-cookies - 暗号操作中にエラーが発生しました (Thinktecture Identity Server 4.5 の最新バージョン)
ID サーバー 4.5 (最新リリース) で SessionCookies( FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie(sessionToken)) を作成するときに「暗号化操作中にエラーが発生しました」というエラーが表示されます申請に負けます。以下は、スタック トレースの詳細です。
例外情報: 例外の種類: CryptographicException 例外メッセージ: 暗号操作中にエラーが発生しました。System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors (Func 2 func, Byte[] input)
at BrockAllen.CookieTempData.CookieTempDataProvider.LoadTempData(ControllerContext controllerContext) in c:\ballen\github\CookieTempData\45\BrockAllen.CookieTempData\CookieTempDataProvider.cs:line 37
at System.Web.Mvc.TempDataDictionary.Load(ControllerContext controllerContext, ITempDataProvider tempDataProvider)
at System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.Begin (AsyncCallback コールバック、オブジェクト状態、Int32 タイムアウト) で System.Web.Mvc.Async.AsyncResultWrapper.Begin[TResult] (AsyncCallback コールバック、オブジェクト状態、BeginInvokeDelegate) でbeginDelegate、EndInvokeDelegate1 endDelegate, Object tag, Int32 timeout)
at System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate endDelegate, Object tag)
at System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__2(AsyncCallback asyncCallback, Object asyncState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.Begin(AsyncCallback コールバック、オブジェクト状態、Int32 タイムアウト) で System.Web.Mvc.Async.AsyncResultWrapper.Begin[TResult](AsyncCallback コールバック、オブジェクト状態、BeginInvokeDelegate beginDelegate、EndInvokeDelegate`1 endDelegate、オブジェクト タグ、Int32 タイムアウト) でSystem.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback コールバック、オブジェクト状態、BeginInvokeDelegate beginDelegate、EndInvokeDelegate endDelegate、Object タグ) System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext、AsyncCallback コールバック、オブジェクト状態) at System. System.Web.HttpApplication.ExecuteStep での Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() (IExecutionStep ステップ、ブール値および completedSynchronously)。
postgresql - 最小権限で Heroku Postgre を実行する
テーブルをドロップするリスクなしに、Web/アプリケーション経由で Heroku Postgres データベースに接続できますか?
バックエンドに Heroku Postgres を使用するサードパーティ向けの Heroku アプリケーションを構築しています。サードパーティはセキュリティに非常に敏感であるため、アプリケーション全体に「レイヤード セキュリティ」を適用することを検討しています。たとえば、Web/アプリケーション層で SQL インジェクション攻撃をチェックします。「階層化されたセキュリティ」アプローチを適用して、データベース テーブルを削除する可能性のある潜在的な SQL インジェクション攻撃を見逃す場合に備えて、データベースを保護する必要もあります。
私が構築した他のシステムでは、データベースに最低 2 人のユーザーが存在します。まず、テーブル、インデックス、トリガーなどを作成/削除するデータベース管理者と、たとえばレコードの挿入と更新しかできないデータベース管理者よりも低い権限で実行するアプリケーション ユーザーです。
Heroku Postgres セットアップ内では、(「ドロップ テーブル」オプションなしで) 権限の低い別のユーザーを作成する方法はないようです。そのため、アプリケーションはデフォルトの Heroku Postgres ユーザーに接続する必要があるため、「ドロップ テーブル」のリスクが存在する可能性があります。
Heroku Postgres Crane アドオンを実行しています。
誰かがこれに反対したり、このシナリオに対して創造的な回避策を講じたりしましたか?
c - Linuxでプログラムの実行時間、メモリ使用量、および特定のユーザーとしてプログラムで制限する方法
期間、メモリ使用量を制限し、C/C++ または Ruby で Linux プログラム実行の権限の低いユーザーとして実行するプログラムによる方法はありますか?
system や `` ではこれができないからです。
どちらのステートメントも、そのコマンドを実行者と同じユーザーとして実行し、処理能力とメモリ全体を好きなように使用します。
c++ - 最小特権の原則と const キーワード
クラスは継承と構成に関するものです。const
最小権限の原則に関連するキーワードを使用していますか?
私は継承と構成を理解し、それらを理解していますが、最小特権の原則はどうですか? 誰かが私にそれを説明し、私のコードを最小特権の原則を含むように修正する方法を説明できますか?