다음을 통해 공유


SqlClientPermission.Add(String, String, KeyRestrictionBehavior) 메서드

정의

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 열거형 중 하나입니다.

설명

이 메서드를 사용하여 특정 권한 개체에서 허용되는 연결 문자열을 구성합니다. 예를 들어 특정 연결 문자열만 허용하고 다른 것은 허용하지 않으려면 다음 코드 조각을 사용합니다.

permission.Add("server=MyServer; database=MyDatabase; Integrated Security=true", "", KeyRestrictionBehavior.AllowOnly)

다음 예제에서는 모든 데이터베이스를 사용하지만 MyServer라는 서버에서만 사용자 및 암호 조합을 사용하고 다른 연결 문자열 키워드를 포함하지 않는 연결 문자열을 허용합니다.

permission.Add("server=MyServer;", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)

경고

안전하지 않은 패턴이므로 사용자 이름과 암호를 직접 제공하지 않는 것이 좋습니다. 가능한 경우Azure 리소스에 대한 관리 ID 또는 SQL Server용 Windows 인증 같은 보다 안전한 인증 흐름을 사용합니다.

다음 예제에서는 이전 시나리오와 동일한 시나리오를 사용하지만 미러링을 위해 구성된 서버에 연결할 때 사용할 수 있는 장애 조치(failover) 파트너를 허용합니다.

permission.Add("server=MyServer; failover partner=MyMirrorServer", "database=; user id=; password=;", KeyRestrictionBehavior.AllowOnly)

메모

ADO.NET 대한 코드 액세스 보안 권한을 사용하는 경우 올바른 패턴은 가장 제한적인 사례(사용 권한 없음)로 시작한 다음 코드가 수행해야 하는 특정 작업에 필요한 특정 권한을 추가하는 것입니다. 동일한 연결 문자열을 표현하는 여러 가지 방법이 있기 때문에 모든 권한으로 시작한 다음 특정 사용 권한을 거부하려는 반대 패턴은 안전하지 않습니다. 예를 들어 모든 권한으로 시작한 다음 연결 문자열 "server=someserver"의 사용을 거부하려고 하면 "server=someserver.mycompany.com" 문자열이 계속 허용됩니다. 항상 사용 권한을 전혀 부여하지 않음으로써 사용 권한 집합에 구멍이 있을 가능성을 줄입니다.

적용 대상

추가 정보