개요
AWS IAM 사용자 또는 역할을 사용하여 비밀번호를 관리하지 않고도 Atlas 클러스터에 대한 데이터베이스 사용자를 인증할 수 있습니다. AWS IAM을 사용하면 인증 메커니즘의 수와 관리 해야 할 시크릿의 수가 줄어듭니다. Atlas 유선을 통해 인증 시크릿 키를 수신하지 않으며 운전자 이를 유지하지 않습니다.
사용 사례 에 적합한 인증 방법을 선택하세요.
IAM 역할: AWS2 서비스(EC, Lambda , ECS) 또는 연합 사용자가 맡는 역할입니다. AWS 컴퓨팅 리소스에서 실행 워크로드에 대한 애플리케이션 및 워크로드 액세스 에는 IAM 역할을 사용하는 것이 좋습니다.
IAM 사용자: 데이터베이스 직접 액세스 해야 하는 개별 AWS 사용자입니다. 이 옵션은 특정 사용자 자격 증명 으로 실행 애플리케이션에 적합할 수 있습니다. 개발자 및 관리자와 같은 인간 사용자의 경우 ID 제공자 와의 직접 SSO 환경을위해 OIDC와 함께 Workforce Identity Federation을 사용하는 것이 좋습니다.
중요
클라이언트가 AWS IAM 데이터베이스 인증 사용하여 연결할 수 있으려면 먼저 IAM 인증 위해 구성된 데이터베이스 사용자를 생성해야 합니다. 또는 를 사용하여 인증 데이터베이스 사용자를 생성하는 방법을 학습 보려면 데이터베이스 사용자 IAM Users IAM Roles 관리를 참조하세요.
참고
Atlas AWS STS를 사용하여 IAM 사용자 및 역할의 ID를 확인합니다. AWS는 초당, 계정별, 리전 별 요청의 기본값 요청 할당량 600 을(를) 개의 요청으로 적용합니다. 이 할당량은 IAM 사용자 또는 역할 의 AWS 계정에 적용됩니다.
Amazon Web Services IAM 역할로 인증 설정
IAM Amazon Web Services Amazon Web Services 역할을 설정하다 Atlas 하여 cluster에 대해 컴퓨팅 유형을 인증할 수 있습니다.
참고
LDAP 권한 부여 활성화된 경우 Amazon Web Services IAM 주체에 대한 인증 설정하다 수 없습니다.
Amazon Web Services IAM 주체에 대한 인증 이 필요한 경우, Amazon Web Services IAM 인증 을 사용하여 액세스 하려는 클러스터를 LDAP 권한 부여 가 비활성화된 다른 프로젝트 로 이동하는 것이 좋습니다.
For Amazon Web Services Lambda 및 HTTP (ECS 및 EC2)의 경우 드라이버는 환경 변수에서 자동으로 읽습니다. Amazon Web Services EKS의 경우 IAM 역할 수동으로 할당해야 합니다.
이 페이지에서는 AWS Lambda, AWS ECS,AWS EKS 가 AWS IAM 역할을 사용하여 연결하는 방법을 설명합니다.
참고
AWS 콘솔에서 Lambda, EC2, ECS 또는 EKS에 IAM 역할을 할당해야 합니다.
사용자가 Lambda 함수에 실행 역할 할당하면 Amazon Web ServicesLambda 다음 환경 변수를 통해 함수에 정보를 전달합니다.
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN
참고
함수에서 실행 역할을 사용하는 경우 이러한 환경 변수를 수동으로 만들 필요가 없습니다.
이러한 환경 변수에 대해 자세히 학습하려면 Amazon Web Services Lambda 환경 변수 사용을 참조하세요.
AWS ECS는 다음 URI에서 자격 증명을 가져옵니다.
http://169.254.170.2${AWS_CONTAINER_CREDENTIALS_RELATIVE_URI}
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 환경 변수입니다. 자세한 학습 은 Amazon Web Services 문서에서 작업에 대한 IAM 역할 을 참조하세요.
AWS EC 인스턴스는 IAM 역할2 연결되면 인스턴스 메타데이터 서비스 V2 에서 자동으로 자격 증명 가져옵니다. 자격 증명 다음 URL 에서 검색할 수 있습니다.
http://169.254.169.254/latest/meta-data/iam/security-credentials/
중요
인증 작동하려면 EC2 인스턴스 에 IAM 역할 연결해야 합니다. IAM 역할 Atlas 클러스터에 액세스 데 필요한 권한이 있어야 합니다.
EC 인스턴스 에 IAM 역할2 연결하는 방법을 학습 AWS 설명서에서 IAM 역할 로 인스턴스 시작하기를 참조하세요.
Amazon Web Services ECS Fargate로 인증 위해 Amazon Web Services IAM 역할 구성하는 방법을 학습 Amazon Web Services 설명서에서 Amazon ECS 작업 실행 IAM 역할 참조하세요.
AWS EKS의 경우, 먼저 pod에 IAM 역할을 할당하여 해당 pod에서 다음 환경 변수를 설정합니다.
AWS_WEB_IDENTITY_TOKEN_FILE- 웹 ID 토큰 파일의 경로가 포함됩니다.AWS_ROLE_ARN- 클러스터 에 연결하는 데 사용되는 IAM 역할 을 포함합니다.
Amazon Web Services EKS에 대해 자세히 학습 Amazon EKS란 무엇인가요?를 참조하세요. Amazon Web Services 문서에서 확인 가능합니다.
Amazon Web Services IAM 역할에 데이터베이스 액세스 권한 부여
AWS IAM 역할에 데이터베이스 액세스 부여하려면 AWS IAM 의 데이터베이스 사용자 구성 섹션에 설명된 단계를 완료합니다. Atlas CLI, Atlas 관리 API 또는 Atlas UI 사용하여 데이터베이스 액세스 부여하는 방법에 대한 자세한 내용은 데이터베이스 사용자 구성을 참조하세요.
IAM을 사용하여 Atlas 클러스터에 연결 Amazon Web Services
를 사용하여 Amazon Web Services IAM 자격 증명 으로 에 Atlas mongosh 연결하려면 MONGODB- 인증 메커니즘 을 지정하는 연결 string Amazon Web Services 을 제공합니다. 이 연결 string 형식은 모든 Amazon Web Services IAM 인증 메커니즘에 적용됩니다.
중요
이 연결 문자열 형식을 사용하려면 먼저 Amazon Web Services IAM 역할로 인증 설정 에 설명된 방법 중 하나를 사용하여 인증 구성해야 합니다.
mongosh와 AWS IAM 인증을 사용하여 Atlas에 연결하려면 shell 버전 v0.9.0 이상이 필요합니다.
다음 사항을 고려하세요:
액세스 키 ID를 사용자 이름으로, 시크릿 키를 암호로 활용하여 AWS IAM 자격 증명을 사용하세요.
authSource쿼리 매개변수는$external이며,%24external로 URL 인코딩됩니다.authMechanism쿼리 매개변수는MONGODB-AWS입니다.예시
mongosh "mongodb+srv://<atlas-host-name>/test?authSource=%24external&authMechanism=MONGODB-AWS" --username <access-key-id> --password <secret-key>