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

OIDC(OpenID Connect) 인증

중요

MONGODB-OIDC 인증 메커니즘 사용하려면 Linux 플랫폼에서 실행 MongoDB Server v7.0 이상 버전이 필요합니다.

MONGODB-OIDC 인증 메커니즘을 사용하면 OIDC(OpenID Connect) 토큰을 사용하여 MongoDB Server에 인증할 수 있습니다. C++ 드라이버는 워크로드 ID에 대한 OIDC 인증을 지원합니다. 워크로드 ID는 다른 서비스 및 리소스를 인증하고 액세스하기 위해 애플리케이션, 서비스, 스크립트 또는 컨테이너 등 소프트웨어 워크로드에 할당하는 ID입니다.

다음 섹션에서는 MONGODB-OIDC 인증 메커니즘을 사용하여 다양한 플랫폼에 인증하는 방법을 설명합니다.

자세한 정보

MONGODB-OIDC 인증 메커니즘에 대해 자세히 학습하려면 MongoDB Server 매뉴얼에서 OpenID Connect 인증MongoDB Server 매개변수를 참조하세요.

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

  • <hostname>MongoDB Server 배포의 네트워크 주소

  • <client_id>: Azure managed ID 또는 엔터프라이즈 애플리케이션의 Client ID 또는 애플리케이션 ID

  • <token-resource>: MongoDB Server 배포서버에 구성된 audience 서버 매개변수의 값

이 페이지의 코드 예제를 사용하려면 이러한 자리 표시자를 원하는 값으로 바꾸세요.

애플리케이션이 Azure VM에서 실행되거나 IMDS(Azure 인스턴스 메타데이터 서비스)를 사용하는 경우, C++ 드라이버의 내장된 Azure 지원을 사용하여 MongoDB Server에 인증할 수 있습니다.

Azure IMDS 인증을 사용하려면 연결 문자열에 다음 매개변수를 포함하세요.

  • <client_id>: If you're using an Azure managed ID, set this to the client ID of the managed ID

  • authMechanism: 다음으로 설정 MONGODB-OIDC

  • authMechanismProperties: 다음으로 설정 ENVIRONMENT:azure,TOKEN_RESOURCE:<token-resource>

다음 예시에서는 MONGODB-OIDC 메커니즘을 사용하여 MongoDB Server에 인증합니다.

auto instance = mongocxx::instance();
auto uri = mongocxx::uri(
"mongodb+srv://<client_id>@<hostname>/"
"?authMechanism=MONGODB-OIDC"
"&authMechanismProperties=ENVIRONMENT:azure,"
"TOKEN_RESOURCE:<token-resource>");
auto client = mongocxx::client(uri);

애플리케이션이 Azure VM에서 실행 중이고 VM과 연결된 managed ID가 하나만 있는 경우 연결 문자열에서 <client_id> 매개변수를 생략할 수 있습니다.

C++ 드라이버는 Azure Functions 또는 Azure 앱 Service Environment(ASE)에 대한 내장 지원을 제공하지 않습니다. 이러한 플랫폼에서 MONGODB-OIDC 인증을 사용하려면 다음 단계를 완료하세요.

2

Azure::Identity::DefaultAzureCredential를 사용하여 OIDC 토큰을 조회하는 콜백을 정의하려면 mongocxx::options::client 인스턴스에서 oidc_callback() 메서드를 사용합니다.

auto instance = mongocxx::instance();
auto uri = mongocxx::uri("mongodb+srv://<client_id>@<hostname>/"
"?authMechanism=MONGODB-OIDC");
auto opts = mongocxx::options::client{};
opts.oidc_callback([](const mongocxx::oidc_callback_params &) {
Azure::Identity::DefaultAzureCredential credential;
Azure::Core::Credentials::TokenRequestContext token_request_ctx;
token_request_ctx.Scopes = {"<token-resource>/.default"};
auto access_token =
credential.GetToken(token_request_ctx, Azure::Core::Context{});
return mongocxx::oidc_credential(access_token.Token);
});
auto client = mongocxx::client(uri, opts);

C++ 드라이버에서 mongocxx::client 객체를 만들거나 클라이언트 옵션을 구성하는 방법에 대해 자세히 학습하려면 다음 API 설명서를 참조하세요.