AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

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