AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

Kerberos (GSSAPI) 인증 메커니즘

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

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

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

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

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

You must use the gssapi build tag and specify cgo support during compilation to use Kerberos authentication. cgo support is enabled by default unless you previously set environment variables to cross-compile to a different platform. To use the gssapi build tag, compile your code with the following command:

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

You can alternatively authenticate using a connection string URI, specifying your URL-encoded Kerberos principal, password, and hostname, the network address of your MongoDB server:

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 설명서를 참조하세요.