개요
참고
Amazon Web Services 인증 MongoDB 4.4 용 MongoDB 엔터프라이즈 에서만 사용할 수 있습니다.
Amazon Web Services 인증 메커니즘은 Amazon Web Services ID 및 액세스 관리(IAM) 및 Amazon Web Services 보안 토큰 서비스(STS) 를 사용하여 MongoDB deployment에 클라이언트의 ID를 증명합니다. 다음 단계에서는 Amazon Web Services 인증 프로세스 설명합니다.
클라이언트 Amazon Web Services IAM 자격 증명 사용하여 MongoDB deployment 로 전송되는 서명을 생성합니다.
배포서버 클라이언트의 서명을 사용하여 Amazon Web Services STS에 요청 보냅니다.
요청 이 성공하면 STS는 클라이언트의 자격 증명 에 해당하는 IAM 사용자 또는 역할 의 Amazon 리소스 이름(ARN)을 반환합니다.
배포서버 반환된 ARN을 사용하여 사용자를 조회합니다. 클라이언트 이 사용자로 인증됩니다.
참고
클라이언트 와 서버 서로 다른 사용자 이름을 사용합니다. 클라이언트 Amazon Web Services 액세스 키 ID 사용하지만 서버 액세스 키 ID 에 해당하는 IAM 사용자 또는 역할 의 ARN을 사용합니다.
Amazon Web Services 자격 증명 다음 구성 요소가 포함됩니다.
액세스 키 ID
시크릿 액세스 키
선택적 세션 토큰
Amazon Web Services IAM 자격 증명 사용한 인증은 액세스 키 ID 와 보안 액세스 키를 사용합니다. 임시 Amazon Web Services IAM 자격 증명 사용한 인증은 세 가지 구성 요소를 모두 사용합니다.
참고
드라이버는 네트워크를 통해 비밀 액세스 키 또는 세션 토큰을 전송하지 않습니다.
임시 자격 증명은 다음과 함께 사용됩니다.
코드 자리 표시자
이 페이지의 코드 예제에서는 다음 자리 표시자를 사용합니다.
<hostname>
: MongoDB deployment 의 네트워크 주소<aws-access-key-id>
: Amazon Web Services 액세스 키 ID<aws_secret_access_key>
: Amazon Web Services 시크릿 액세스 키<aws_session_token>
: Amazon Web Services 세션 토큰
애플리케이션에서 Amazon Web Services IAM 인증 사용
다음 섹션에서는 애플리케이션 에서 Amazon Web Services IAM 인증 메커니즘 사용하는 방법을 설명합니다.
명시적 자격 증명 제공
클라이언트 옵션으로 또는 URI를 사용하여 일반(임시) IAM 자격 증명 제공할 수 있습니다. Connection String 또는 Client Options 탭 선택하여 해당 구문을 확인합니다.
client = Mongo::Client.new( 'mongodb://<aws_access_key_id>:<aws_secret_access_key>@host/?authMechanism=MONGODB-AWS')
client = Mongo::Client.new(['<host>'], auth_mech: :aws, user: '<aws_access_key_id>', password: '<aws_secret_access_key>')
참고
URI로 자격 증명 제공하는 경우 해당 자격 증명을 퍼센트 인코딩해야 합니다.
임시 자격 증명 제공
임시 자격 증명 제공하려면 클라이언트 옵션에서 또는 URI를 사용하여 세션 토큰을 지정합니다. Connection String 또는 Client Options 탭 선택하여 해당 구문을 확인합니다.
client = Mongo::Client.new( 'mongodb://<aws_access_key_id>:<aws_secret_access_key>@host/?authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<<aws_session_token>>')
client = Mongo::Client.new(['<host>'], auth_mech: :aws, user: '<aws_access_key_id>', password: '<aws_secret_access_key>', auth_mech_properties: { aws_session_token: '<<aws_session_token>>', })
자격 증명 자동 검색
클라이언트 환경이나 EC2 또는 ECS 메타데이터 엔드포인트에서 자격 증명 조회 할 수 있습니다. 자격 증명 자동으로 조회 하려면 Amazon Web Services 인증 메커니즘 지정하되 사용자 이름 이나 비밀번호는 지정하지 마세요. Connection String 또는 Client Options 탭 선택하여 해당 구문을 확인합니다.
client = Mongo::Client.new( 'mongodb://host/?authMechanism=MONGODB-AWS')
client = Mongo::Client.new(['<hostname>'], auth_mech: :aws) )
운전자 지정된 순서대로 다음 소스에서 자격 증명 얻으려고 시도합니다.
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
및AWS_SESSION_TOKEN
환경 변수. 이러한 환경 변수는 공식 Amazon Web Services Ruby SDK 및 Amazon Web Services CLI 와 같은 다양한 Amazon Web Amazon Web Services 관련 라이브러리 및 도구에서 인식됩니다. 또한 Amazon Web Services Lambda 환경에서 실행 때 정의됩니다.Amazon Web Services STS AssumeRoleWithWebIdentity 조치. 이 메커니즘은 서비스 계정 토큰과 연결된 자격 증명 반환하며 다음 환경 변수를 설정하다 해야 합니다.
AWS_WEB_IDENTITY_TOKEN_FILE
: 서비스 계정 토큰이 포함된 파일 의 경로입니다.AWS_ROLE_ARN
: 호출자가 맡는 역할 의 ARN( Amazon 리소스 이름)입니다.AWS_ROLE_SESSION_NAME
(선택 사항): 수임된 역할 세션의 식별자입니다. 이 변수가 비어 있으면 운전자 임의의 식별자를 생성합니다.
Amazon Web Services ECS 작업 메타데이터 엔드포인트입니다. 이 엔드포인트는 컨테이너 에 할당된 ECS 작업 역할 과 관련된 자격 증명 반환합니다.
Amazon Web Services EC2 인스턴스 메타데이터 엔드포인트. 이 엔드포인트는 인스턴스 에 할당된 EC2 인스턴스 역할 과 관련된 자격 증명 반환합니다.
중요
자격 증명 소스는 전체 자격 증명 설정하다 제공해야 합니다. 예시 애플리케이션 에서 AWS_ACCESS_KEY_ID
및 AWS_SECRET_ACCESS_KEY
환경 변수를 사용하는 경우 이러한 변수 중 하나에만 값이 있으면 운전자 오류를 발생시킵니다.
참고
애플리케이션 EC2 인스턴스 의 ECS 컨테이너 에서 실행되고 컨테이너 가 인스턴스 메타데이터 에 대한 액세스 허용된 경우 운전자 EC2 인스턴스 메타데이터 엔드포인트에서 Amazon Web Services 자격 증명 조회 하려고 시도합니다. 운전자 이러한 방식으로 자격 증명 검색하면 애플리케이션 EC2 인스턴스 에 할당된 IAM 역할 로 인증할 수 있습니다.
컨테이너가 EC2 인스턴스 메타데이터에 액세스하지 못하도록 하는 방법을 학습하려면 Amazon Web Services 설명서를 참조하세요.
API 문서
이 페이지에서 설명하는 메서드 또는 유형에 대해 자세히 학습 다음 API 설명서를 참조하세요.