다음을 통해 공유


DsBindWithSpnExA 함수(ntdsapi.h)

DsBindWithSpnEx 함수는 상호 인증을 위해 지정된 자격 증명 및 특정 SPN(서비스 사용자 이름)을 사용하여 도메인 컨트롤러에 바인딩합니다. 이 함수는 DsBindWithSpn 함수와 유사합니다. 단, 이 함수는 BindFlags 매개 변수를 사용하여 더 많은 바인딩 옵션을 허용합니다.

이 함수는 상호 인증에 대해 완전한 제어가 필요한 경우 제공됩니다. DsBind 서버 찾기가 필요한 경우 SPN은 컴퓨터별로 다르며 제공하는 SPN이 DsBind 서버와 일치할 가능성은 낮기 때문에 이 함수를 사용하지 마세요. NULLServicePrincipalName 인수를 제공하면 DsBindWithCred동일한 동작이 발생합니다.

통사론

NTDSAPI_POSTXP DWORD DsBindWithSpnExA(
  [in, optional] LPCSTR                   DomainControllerName,
  [in, optional] LPCSTR                   DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCSTR                   ServicePrincipalName,
  [in, optional] DWORD                    BindFlags,
  [out]          HANDLE                   *phDS
);

매개 변수

[in, optional] DomainControllerName

바인딩할 도메인의 정규화된 DNS 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 자세한 내용은 DsBind 항목의 DomainControllerName 설명을 참조하세요.

[in, optional] DnsDomainName

바인딩할 도메인의 정규화된 DNS 이름을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 자세한 내용은 DsBind 항목의 DnsDomainName 설명을 참조하세요.

[in, optional] AuthIdentity

바인딩에 사용할 자격 증명을 나타내는 RPC_AUTH_IDENTITY_HANDLE 값을 포함합니다. 다음을 실행합니다.

DsMakePasswordCredentials 함수는 이 값을 가져오는 데 사용됩니다. 이 매개 변수가 NULL경우 호출 스레드의 자격 증명이 사용됩니다.

DsFreePasswordCredentials 함수를 사용하여 이 핸들을 해제하기 전에 DsUnBind 호출해야 합니다.

[in, optional] ServicePrincipalName

클라이언트에 할당할 서비스 주체 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. ServicePrincipalNameNULL 전달하는 것은 DsBindWithCred 함수에 대한 호출과 동일합니다.

[in, optional] BindFlags

이 함수의 동작을 정의하는 플래그 집합을 포함합니다. 이 매개 변수는 0 또는 다음 목록에 나열된 값의 조합을 포함할 수 있습니다.

NTDSAPI_BIND_ALLOW_DELEGATION (1)

바인딩에서 대리자 가장 수준을 사용하도록 합니다. 이렇게 하면 DsAddSidHistory같은 위임이 필요한 작업이 성공할 수 있습니다. 이 플래그를 지정하면 DsBindWithSpnExDsBindWithSpn같이 작동합니다.

이 플래그를 지정하지 않으면 바인드에서 가장 가장 수준을 사용합니다. 자세한 내용은 가장 수준참조하세요.

대부분의 작업에는 대리자 가장 수준이 필요하지 않으므로 이 플래그는 반드시 필요한 경우에만 지정해야 합니다. 대리자 가장 수준으로 불량 서버에 바인딩하면 Rogue 서버가 자격 증명을 사용하여 불량이 아닌 서버에 연결하고 의도하지 않은 작업을 수행할 수 있습니다.

NTDSAPI_BIND_FIND_BINDING (2)

예약.

NTDSAPI_BIND_FORCE_KERBEROS (4)

Active Directory Lightweight Directory Services: 이 플래그를 지정하면 DsBindWithSpnEx Kerberos 인증을 강제로 사용합니다. Kerberos 인증을 설정할 수 없는 경우 DsBindWithSpnEx 다른 방법으로 인증을 시도하지 않습니다.

[out] phDS

바인딩 핸들을 수신하는 HANDLE 값의 주소입니다. 이 핸들을 닫려면 DsUnBind 함수에 전달합니다.

반환 값

성공하면 ERROR_SUCCESS 반환하고, 그렇지 않으면 Windows 또는 RPC 오류 코드를 반환합니다. 다음 목록에는 일반적인 오류 코드가 나열되어 있습니다.

발언

메모

ntdsapi.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 DsBindWithSpnEx를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 ntdsapi.h
라이브러리 Ntdsapi.lib
DLL Ntdsapi.dll

참고 항목

도메인 컨트롤러 및 복제 관리 함수

DsBind

DsBindWithCred

DsBindWithSpn

DsUnBind

가장 수준