SqlClientPermission.Add(String, String, KeyRestrictionBehavior) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SqlClientPermission オブジェクトに新しい接続文字列と一連の制限付きキーワードを追加します。
public:
override void Add(System::String ^ connectionString, System::String ^ restrictions, System::Data::KeyRestrictionBehavior behavior);
public override void Add(string connectionString, string restrictions, System.Data.KeyRestrictionBehavior behavior);
override this.Add : string * string * System.Data.KeyRestrictionBehavior -> unit
Public Overrides Sub Add (connectionString As String, restrictions As String, behavior As KeyRestrictionBehavior)
パラメーター
- connectionString
- String
接続文字列。
- restrictions
- String
キーの制限。
- behavior
- KeyRestrictionBehavior
KeyRestrictionBehavior列挙体の 1 つ。
注釈
このメソッドを使用して、特定のアクセス許可オブジェクトで許可される接続文字列を構成します。 たとえば、特定の接続文字列のみを許可し、それ以外は許可しない場合は、次のコード フラグメントを使用します。
permission.Add("server=MyServer; database=MyDatabase; Integrated Security=true", "", KeyRestrictionBehavior.AllowOnly)
次の例では、任意のデータベースを使用する接続文字列を許可しますが、MyServer という名前のサーバーでのみ、ユーザーとパスワードの組み合わせを使用し、他の接続文字列キーワードを含めなくなります。
permission.Add("server=MyServer;", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)
Warning
Microsoftは安全でないパターンであるため、ユーザー名とパスワードを直接指定することはお勧めしません。 可能な場合は、 Azure リソースの管理 ID、SQL Serverの Windows 認証 など、より安全な認証フローを使用します。
次の例では、前のシナリオと同じシナリオを使用しますが、ミラーリング用に構成されたサーバーに接続するときに使用できるフェールオーバー パートナーを使用できます。
permission.Add("server=MyServer; failover partner=MyMirrorServer", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)
Note
ADO.NET にコード アクセス セキュリティアクセス許可を使用する場合、正しいパターンは、最も制限の厳しいケース (アクセス許可は一切なし) から始めてから、コードが実行する必要がある特定のタスクに必要な特定のアクセス許可を追加することです。 すべてのアクセス許可から始まり、特定のアクセス許可を拒否しようとする逆のパターンは、同じ接続文字列を表現する多くの方法があるため、セキュリティで保護されていません。 たとえば、すべての権限を与えた後で接続文字列 "server=someserver" の使用を拒否しても、"server=someserver.mycompany.com" という接続文字列は使用可能です。 常に権限をまったく与えない状態から開始することで、権限セットのセキュリティ ホールを減らすことができます。