Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
루비 드라이버
/ /

Amazon Web Services ID 및 액세스 관리

참고

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 인증 프로세스 설명합니다.

  1. 클라이언트 Amazon Web Services IAM 자격 증명 사용하여 MongoDB deployment 로 전송되는 서명을 생성합니다.

  2. 배포서버 클라이언트의 서명을 사용하여 Amazon Web Services STS에 요청 보냅니다.

  3. 요청 이 성공하면 STS는 클라이언트의 자격 증명 에 해당하는 IAM 사용자 또는 역할 의 Amazon 리소스 이름(ARN)을 반환합니다.

  4. 배포서버 반환된 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 인증 메커니즘 사용하는 방법을 설명합니다.

클라이언트 옵션으로 또는 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_KEYAWS_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_IDAWS_SECRET_ACCESS_KEY 환경 변수를 사용하는 경우 이러한 변수 중 하나에만 값이 있으면 운전자 오류를 발생시킵니다.

참고

애플리케이션 EC2 인스턴스 의 ECS 컨테이너 에서 실행되고 컨테이너 가 인스턴스 메타데이터 에 대한 액세스 허용된 경우 운전자 EC2 인스턴스 메타데이터 엔드포인트에서 Amazon Web Services 자격 증명 조회 하려고 시도합니다. 운전자 이러한 방식으로 자격 증명 검색하면 애플리케이션 EC2 인스턴스 에 할당된 IAM 역할 로 인증할 수 있습니다.

컨테이너가 EC2 인스턴스 메타데이터에 액세스하지 못하도록 하는 방법을 학습하려면 Amazon Web Services 설명서를 참조하세요.

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

돌아가기

X.509

이 페이지의 내용