Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Go 드라이버
/ /

Kerberos (GSSAPI) 인증 메커니즘

일반 보안 서비스 API (GSSAPI) 인증 메커니즘 사용하면 주체 이름을 사용하여 Kerberos 서비스를 인증할 수 있습니다. 이 메커니즘은 MongoDB Enterprise Advanced 에 인증할 때만 사용할 수 있습니다.

이 페이지의 코드 예제에서는 다음 자리 표시자를 사용합니다.

  • kerberos_principal: Kerberos 주체입니다. 샘플 사용자 이름은 myuser@KERBEROS.EXAMPLE.COM 입니다.

  • password: Kerberos 사용자의 비밀번호입니다. 또한 keytab 파일에 비밀번호를 저장하여 코드에 비밀번호가 노출되는 것을 방지할 수 있습니다.

  • connection_uri: 사용자의 연결 문자열 URI입니다.

Kerberos 인증 사용하려면 빌드 태그를 gssapi 지정하다 사용하고 컴파일 중에 cgo 지원 지정해야 합니다. cgo 지원 이전에 다른 플랫폼으로 크로스 컴파일하도록 환경 변수를 설정하다 하지 않는 한 기본값 으로 활성화됩니다. gssapi 빌드 태그를 지정하다 사용하려면 다음 명령을 사용하여 코드를 컴파일합니다.

go build -tags gssapi

다음 코드에서는 Credential 구조체를 정의하여 Kerberos에 인증하고 인증 기본 설정을 사용하여 클라이언트를 만드는 방법을 보여 줍니다.

credential := options.Credential{
AuthMechanism: "GSSAPI",
Username: "<kerberos_principal>",
Password: "<password>",
PasswordSet: true,
}
uri := "<connection_uri>"
clientOpts := options.Client().ApplyURI(uri).SetAuth(credential)
client, err := mongo.Connect(clientOpts)

keytab 파일에 인증 키를 저장 경우 Credential 구조체의 비밀번호 또는 PasswordSet 필드 생략할 수 있습니다. kinit 바이너리를 사용하여 Kerberos 주체를 인증하기 위한 자격 증명 캐시 초기화할 수 있습니다. kinit 바이너리에 대해 자세히 학습하려면 Oracle 설명서를 참조하세요.

다음 명령은 샘플 사용자 이름에 대한 자격 증명 캐시를 호출하는 방법을 보여줍니다.

kinit myuser@KERBEROS.EXAMPLE.COM

또는 URL로 인코딩된 Kerberos 주체, 암호 및 MongoDB 서버의 내 네트워크 주소인 hostname를 지정하는 연결 문자열 URI를 사용하여 인증할 수 있습니다.

uri := "mongodb://<kerberos_principal>:<password>@<hostname>/?authMechanism=GSSAPI"

Credential 구조체의 AuthMechanismProperties 필드 사용하여 인증 메커니즘 에 더 많은 속성을 지정할 수 있습니다. Kerberos 의 기본값 서비스 이름은 " MongoDB"입니다. 다음 코드는 Credential 구조체를 정의할 때 SERVICE_NAMESERVICE_REALM 필드에 대한 사용자 지정 값을 설정하다 방법을 보여줍니다.

credential := options.Credential{
AuthMechanism: "GSSAPI",
Username: "<kerberos_principal>",
Password: "<password>",
AuthMechanismProperties: map[string]string{
"SERVICE_REALM": "<kerberos_service_realm>",
"SERVICE_NAME": "<service_name>",
},
}

자세한 속성은 인증 속성에 대한 서버 수동 항목을 참조하세요.

이 페이지에서 설명하는 메서드 또는 유형에 대해 자세히 학습 다음 API 설명서를 참조하세요.

돌아가기

LDAP(일반)

이 페이지의 내용