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

Amazon Web Services IAM 인증 메커니즘

MONGODB-AWS 인증 메커니즘 Amazon Web Services ID 및 액세스 관리(Amazon Web Services IAM) 자격 증명 사용하여 MongoDB 에 사용자를 인증합니다. 이 메커니즘은 MongoDB Atlas 에 인증할 때만 사용할 수 있습니다.

팁

Amazon Web Services IAM 인증을 위한 Atlas 구성

Amazon Web Services IAM 인증 위한 MongoDB Atlas 구성에 대해 자세히 학습 Atlas 설명서에서 Amazon Web Services IAM으로 인증 설정을 참조하세요.

MONGODB-AWS 인증 메커니즘 Amazon Web Services ID 및 액세스 관리(Amazon Web Services IAM) 자격 증명 사용하여 사용자를 인증합니다. Amazon Web Services 서명 라이브러리가 아직 없는 경우 다음 npm 명령을 사용하여 설치합니다.

npm install aws4

MONGODB-AWS 인증을 활성화한 상태로 MongoDB에 연결하려면 MONGODB-AWS 인증 메커니즘을 지정합니다.

중요

연결 문자열에 직접 MONGODB-AWS 자격 증명 지정하는 것은 더 이상 사용되지 않으며 노드.js 드라이버 버전 7.0 이상에서 제거될 예정입니다. 더 이상 사용되지 않는 기능을 사용하지 않으려면 환경 변수 또는 다른 방법을 사용하여 AWS 자격 증명 제공합니다.

드라이버는 다음 소스에서 자격 증명을 순서대로 확인합니다:

  1. 연결 문자열

  2. 프로세스.env를 통해 사용 가능한 환경 변수

  3. 웹 ID 토큰 파일

  4. 지정된 AWS ECS 엔드포인트 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI

  5. AWS EC2 엔드포인트. 자세한 내용은 작업에 대한 IAM 역할을 참조하세요.

중요

드라이버는 이전 목록에 지정된 순서에 따라 첫 번째로 탐지한 메서드에서만 자격 증명을 읽습니다. 예를 들어 연결 문자열에 AWS 자격 증명을 지정하면 드라이버는 환경 변수에 지정한 모든 자격 증명을 무시합니다.

중요

연결 문자열에 직접 MONGODB-AWS 자격 증명 지정하는 것은 더 이상 사용되지 않으며 노드.js 드라이버 버전 7.0 이상에서 제거될 예정입니다. 더 이상 사용되지 않는 기능을 사용하지 않으려면 환경 변수 또는 다른 방법을 사용하여 AWS 자격 증명 제공합니다.

연결 문자열을 사용하여 MongoDB 인스턴스에 연결하려면 연결을 시도할 때 AWS_ACCESS_KEY_ID 및 AWS_SECRET_ACCESS_KEY 자격 증명을 드라이버에 전달하세요. AWS 로그인에 세션 토큰이 필요한 경우 AWS_SESSION_TOKEN도 포함합니다.

다음 코드는 연결 문자열을 사용하여 MONGODB-AWS 인증 메커니즘과 자격 증명을 지정하는 예를 보여줍니다.

중요

사용자 이름 및 인증서 파일 경로가 올바르게 구문 분석되도록 항상 encodeURIComponent 메서드를 사용하여 사용자 이름 및 인증서 파일 경로를 URI 인코딩합니다.

const { MongoClient } = require("mongodb");
// Replace the following with values for your environment.
const accessKeyId = encodeURIComponent("<AWS_ACCESS_KEY_ID>");
const secretAccessKey = encodeURIComponent("<AWS_SECRET_ACCESS_KEY>");
const clusterUrl = "<cluster_url>";
const authMechanism = "MONGODB-AWS";
let uri =
`mongodb+srv://${accessKeyId}:${secretAccessKey}@${clusterUrl}/?authSource=%24external&authMechanism=${authMechanism}`;
// Uncomment the following lines if your AWS authentication setup requires a session token.
// const sessionToken = encodeURIComponent("<AWS_SESSION_TOKEN>");
// uri = uri.concat(`&authMechanismProperties=AWS_SESSION_TOKEN:${sessionToken}`);
// Create a new MongoClient.
const client = new MongoClient(uri);
async function run() {
try {
// Establish and verify connection.
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully to server.");
} finally {
// Ensure that the client closes when it finishes/errors.
await client.close();
}
}
run().catch(console.dir);

선택적 aws-sdk/credential-providers 종속성을 설치하면 운전자 Amazon Web Services SDK에 정의된 우선 순위 순위에 따라 자격 증명 검색합니다. 공유된 Amazon Web Services 자격 증명 파일 또는 구성 파일 이 있는 경우 운전자 기본값 으로 해당 자격 증명 사용합니다.

팁

aws-sdk/credential-providers 종속성이 자격 증명 검색하는 방법에 대해 자세히 학습하려면 Amazon Web Services SDK 설명서를 참조하세요.

조회 Amazon Web Services 자격 증명 수동으로 지정하려면 AWS_CREDENTIAL_PROVIDER 속성 Amazon Web Services SDK에서 정의된 자격 증명 제공자 로 설정하다 수 있습니다. 다음 예시 Amazon Web Services SDK의 제공자 체인을 Amazon Web Services 인증 메커니즘 으로 전달합니다.

const { MongoClient } = require('mongodb');
const { fromNodeProviderChain } = require('@aws-sdk/credential-providers');
const client = new MongoClient('<cluster_url>?authMechanism=MONGODB-AWS', {
authMechanismProperties: {
AWS_CREDENTIAL_PROVIDER: fromNodeProviderChain()
}
});

사용자 지정 제공자 사용하려면 AWS_CREDENTIAL_PROVIDER 인증 메커니즘 속성 에 자격 증명 반환하는 비동기 함수를 전달하면 됩니다. 다음 예시 환경 변수에서 자격 증명 가져오는 사용자 지정 제공자 함수를 Amazon Web Services 인증 메커니즘 으로 전달하는 방법을 보여줍니다.

const { MongoClient } = require('mongodb');
const client = new MongoClient('<cluster_url>?authMechanism=MONGODB-AWS', {
authMechanismProperties: {
AWS_CREDENTIAL_PROVIDER: async () => {
return {
accessKeyId: process.env.ACCESS_KEY_ID,
secretAccessKey: process.env.SECRET_ACCESS_KEY
}
}
}
});

사용자 지정 자격 증명 제공자 다른 형태의 인증 보다 우선합니다.

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