Kerberos(GSSAPI)
개요
일반 보안 서비스 API (GSSAPI) 인증 메커니즘 을 사용하면 주체 이름을 사용하여 Kerberos 서비스를 인증할 수 있습니다. 이 메커니즘은 MongoDB Enterprise Advanced 에 인증할 때만 사용할 수 있습니다.
코드 자리 표시자
이 페이지의 코드 예제에서는 다음 자리 표시자를 사용합니다.
<username>
:URL 로 인코딩된 주체 이름입니다. 예시:"username%40REALM.ME"
<password>
: Kerberos 사용자의 비밀번호입니다.<hostname>
: MongoDB deployment 의 네트워크 주소 입니다.<port>
: MongoDB deployment 서버의 포트 번호입니다. 이 매개 변수를 생략하면 운전자 는 기본값 포트 번호(27017
)를 사용합니다.
이 페이지의 코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.
애플리케이션에서 GSSAPI 인증 사용
GSSAPI
인증 메커니즘 을 지정하고 MongoCredential
객체 를 사용하거나 연결 문자열 의 일부로 Kerberos 자격 증명 을 제공할 수 있습니다. Connection String 또는 MongoCredential 탭 을 선택하여 해당 구문을 확인합니다.
var mongoClient = new MongoClient( "mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>"); var settings = MongoClientSettings.FromConnectionString("<connection string>"); settings.Credential = credential; var mongoClient = new MongoClient(settings);
팁
비밀번호 생략
다음 중 하나에 해당하는 경우 비밀번호 매개변수를 생략할 수 있습니다.
Windows에서 애플리케이션을 실행하는 프로세스 소유자는 인증이 필요한 사용자와 동일합니다.
Linux에서 사용자가
kinit username@REALM.COM
을(를) 통해 키탭을 초기화했습니다.
additionalProperties
연결 문자열 또는 MongoCredential
객체 에 다음 GSSAPI 구성 옵션을 포함할 수 있습니다.
정규화된 도메인 이름
다음 예는 DNS 서버를 사용하여 호스트의 정규화된 도메인 이름을 검색하는 방법을 보여 줍니다.
var mongoClient = new MongoClient( "mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" + "authMechanismProperties=CANONICALIZE_HOSTNAME:true");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>"); credential = credential.WithMechanismProperty("CANONICALIZE_HOST_NAME", "true"); var settings = MongoClientSettings.FromConnectionString("<connection string>"); settings.Credential = credential; var mongoClient = new MongoClient(settings);
Realm
다음 예시 는 사용자의 영역 이 서비스의 영역 과 다른 경우 이를 지정하는 방법을 보여줍니다. <user's realm>
자리 표시자를 Kerberos 사용자 영역 으로 바꿉니다.
var mongoClient = new MongoClient( "mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" + "authMechanismProperties=SERVICE_REALM:<user's realm>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>"); credential = credential.WithMechanismProperty("SERVICE_REALM", "<user's realm>"); var settings = MongoClientSettings.FromConnectionString("<connection string>"); settings.Credential = credential; var mongoClient = new MongoClient(settings);
서비스 이름
다음 예시 는 기본값 mongodb
이 아닌 경우 서비스 이름을 지정하는 방법을 보여줍니다. <service name>
자리 표시자를 서비스 이름으로 바꿉니다.
var mongoClient = new MongoClient( "mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" + "authMechanismProperties=SERVICE_NAME:<service name>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>"); credential = credential.WithMechanismProperty("SERVICE_NAME", "<service name>"); var settings = MongoClientSettings.FromConnectionString("<connection string>"); settings.Credential = credential; var mongoClient = new MongoClient(settings);
여러 속성
다음 예에서는 여러 인증 메커니즘 속성을 지정하는 방법을 보여 줍니다.
var mongoClient = new MongoClient( "mongodb://<username>:<password>@<hostname>[:<port>]/?authMechanism=GSSAPI&" + "authMechanismProperties=SERVICE_NAME:<service name>,SERVICE_REALM:<user's realm>");
var credential = MongoCredential.CreateGssapiCredential("<username>", "<password>"); credential = credential .WithMechanismProperty("SERVICE_REALM", "<user's realm>") .WithMechanismProperty("SERVICE_NAME", "<service name>"); var settings = MongoClientSettings.FromConnectionString("<connection string>"); settings.Credential = credential; var mongoClient = new MongoClient(settings);
API 문서
이 페이지에서 설명하는 메서드 또는 유형에 학습 보려면 다음 API 설명서를 참조하세요.