참고
The MongoDB Atlas Shared Responsibility Model defines the complementary duties of MongoDB and its customers in maintaining a secure and resilient data environment. Under this framework, MongoDB manages the security and operational integrity of the underlying platform, while customers are responsible for the configuration, management, and data policies of their specific deployments. For a detailed breakdown of ownership across security and operational excellence, see Shared Responsibility Model.
개요
비밀번호를 관리하지 않고 AWS IAM 사용자 또는 역할을 사용하여 Atlas 클러스터에 데이터베이스 사용자를 인증할 수 있습니다. AWS IAM을 사용하면 관리해야 하는 인증 메커니즘의 수와 비밀의 수가 줄어들어요. Atlas는 유선을 통해 사용자의 인증 시크릿 키를 받지 않으며 드라이버는 이를 유지하지 않습니다.
사용 사례 에 적합한 인증 방법을 선택하세요.
IAM 역할: AWS 서비스(EC2, Lambda, ECS) 또는 연합 사용자가 맡는 역할입니다. AWS 컴퓨팅 리소스에서 실행 워크로드에 대한 애플리케이션 및 워크로드 액세스 에는 IAM 역할을 사용하는 것이 좋습니다.
IAM Users: Individual AWS users that need direct database access. This option might suit applications running with specific user credentials. For human users such as developers and administrators, we recommend that you use Workforce Identity Federation with OIDC for a direct SSO experience with your identity provider.
중요
클라이언트가 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 권한 부여 가 비활성화된 다른 프로젝트 로 이동하는 것이 좋습니다.
AWS Lambda 및 HTTP(ECS 및 EC2)의 경우 드라이버는 환경 변수에서 자동으로 읽습니다. AWS EKS의 경우 IAM 역할을 수동으로 할당해야 합니다.
이 페이지에서는 AWS Lambda, AWS ECS,AWS EKS 가 AWS IAM 역할을 사용하여 연결하는 방법을 설명합니다.
참고
AWS 콘솔에서 Lambda, EC, ECS 또는 EKS에 IAM 역할을 할당해야 합니다.2
Lambda 함수에 실행 역할을 할당하는 경우,Amazon Web Services Lambda는 다음 환경 변수를 통해 함수에 정보를 전달합니다.
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 EC2 인스턴스는 IAM 역할이 할당되면 Instance 메타데이터 Service V2 에서 자격 증명을 자동으로 확득합니다. 자격 증명은 다음 URL에서 조회됩니다:
http://169.254.169.254/latest/meta-data/iam/security-credentials/
중요
인증 작동하려면 EC2 인스턴스 에 IAM 역할 연결해야 합니다. IAM 역할 Atlas 클러스터에 액세스 데 필요한 권한이 있어야 합니다.
EC2 인스턴스에 IAM 역할 연결하는 방법을 학습하려면 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
To connect to Atlas with your AWS IAM credentials using mongosh, provide a connection string that specifies the MONGODB-AWS authentication mechanism. This connection string format applies to all AWS IAM authentication mechanisms.
중요
이 연결 문자열 형식을 사용하려면 먼저 Amazon Web Services IAM 역할로 인증 설정 에 설명된 방법 중 하나를 사용하여 인증 구성해야 합니다.
Connecting to Atlas using AWS IAM authentication with the mongosh requires shell version v0.9.0 or higher.
다음 사항을 고려하세요:
액세스 키 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>