개요
MONGODB- Amazon Web Services 인증 메커니즘은 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 인증 지정
MONGODB-AWS 인증 메커니즘 사용하려면 authMechanism
연결 옵션의 값으로 'MONGODB-AWS'
를 지정합니다.
참고
MongoDB PHP 라이브러리는 libmongoc의 MONGODB-AWS 인증 메커니즘 구현 을 사용합니다. libmongoc에서 이 인증 메커니즘 을 사용하는 방법에 학습 보려면 C 운전자 설명서에서 Amazon Web Services IAM을 통한 인증을 참조하세요.
MONGODB-Amazon Web Services 메커니즘을 사용하는 경우 운전자 는 나열된 순서대로 다음 소스에서 Amazon Web Services 자격 증명 을 조회 하려고 시도합니다.
연결 URI의 일부로 또는 옵션 매개변수로
MongoDB\Client
에 전달된 옵션환경 변수
Amazon Web Services EKS
AssumeRoleWithWebIdentity
요청ECS 컨테이너 메타데이터
EC2 인스턴스 메타데이터
다음 섹션에서는 이러한 소스에서 자격 증명 을 조회 하고 이를 사용하여 PHP 애플리케이션 을 인증하는 방법을 설명합니다.
MongoDB\Client 자격 증명
먼저 운전자 는 Amazon Web Services 자격 증명 을 연결 URI 또는 $uriOptions
배열 매개변수의 일부로 MongoDB\Client
생성자에 전달했는지 확인합니다. 자격 증명 을 MongoDB\Client
에 전달하려면 다음 연결 옵션을 설정하다 합니다.
username
: 인증할 Amazon Web Services IAM 액세스 키 ID 입니다. 이 값을 연결 URI에 포함하기 전에 퍼센트 인코딩합니다.password
: Amazon Web Services IAM 시크릿 액세스 키입니다. 이 값을 연결 URI에 포함하기 전에 퍼센트 인코딩합니다.authMechanism
:'MONGODB-AWS'
로 설정합니다.
옵션 배열 MongoDB\Client
생성자에 전달하거나 연결 URI의 매개변수를 통해 두 가지 방법으로 이러한 옵션을 설정하다 수 있습니다. MongoDB\Client 또는 Connection URI 탭 선택하여 해당 코드를 확인합니다.
$uriOptions = [ 'username' => '<AWS IAM access key ID>', 'password' => '<AWS IAM secret access key>', 'authMechanism' => 'MONGODB-AWS', ]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>', $uriOptions, );
$uri = 'mongodb://<AWS IAM access key ID>:<AWS IAM secret access key>@<hostname>:<port>/?authMechanism=MONGODB-AWS'; $client = new MongoDB\Client($uri);
환경 변수
MongoDB\Client
객체 를 구성할 때 사용자 이름 과 비밀번호를 제공하지 않으면 운전자 는 다음 환경 변수에서 Amazon Web Services 자격 증명 을 조회 하려고 시도합니다.
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
이러한 환경 변수를 사용하여 애플리케이션 을 인증하려면 먼저 인증 에 필요한 Amazon Web Services IAM 값으로 설정하다 합니다. 다음 코드 예시 와 같이 shell 에서 export
명령을 실행 하거나 .env
파일 에 변수를 추가할 수 있습니다.
export AWS_ACCESS_KEY_ID=<AWS IAM access key ID> export AWS_SECRET_ACCESS_KEY=<AWS IAM secret access key> export AWS_SESSION_TOKEN=<AWS session token>
AWS_ACCESS_KEY_ID=<AWS IAM access key ID> AWS_SECRET_ACCESS_KEY=<AWS IAM secret access key> AWS_SESSION_TOKEN=<AWS session token>
중요
이러한 환경 변수의 값은 퍼센트 인코딩하지 마세요.
이러한 환경 변수를 설정하다 한 후 authMechanism
연결 옵션을 'MONGODB-AWS'
로 설정하다 합니다.
예시
다음 예시 에서는 authMechanism
연결 옵션을 설정합니다. 옵션 배열 을 MongoDB\Client
생성자에 전달하거나 연결 URI의 매개변수를 통해 두 가지 방법으로 이 옵션을 설정하다 수 있습니다.
$client = new MongoDB\Client( 'mongodb://<hostname>:<port>', ['authMechanism' => 'MONGODB-AWS'], );
$uri = 'mongodb://<hostname>:<port>/?authMechanism=MONGODB-AWS'; $client = new MongoDB\Client($uri);
팁
AWS Lambda
AWS Lambda 런타임은 초기화 중에 이러한 환경 변수를 자동으로 설정하다 수 있습니다. AWS Lambda 환경에서 환경 변수를 사용하는 방법에 대한 자세한 내용은 AWS 설명서에서 Lambda 환경 변수 사용을 참조하세요.
AssumeRoleWithWebIdentity 요청
애플리케이션 이 OIDC(OpenID Connect) ID 제공자 로부터 EKS 클러스터 의 사용자를 인증하는 경우 운전자 는 AssumeRoleWithWebIdentity
요청 을 통해 OIDC 토큰을 애플리케이션 의 임시 Amazon Web Services 자격 증명 으로 교환할 수 있습니다.
요청 에서 반환된 임시 AWS IAM 자격 증명 AssumeRoleWithWebIdentity
으로 인증하려면 AWS 구성 파일 환경에 있고 올바르게 구성되어 있는지 확인합니다. AWS 구성 파일 생성하고 구성하는 방법을 학습 AWS 설명서의 구성을 참조하세요.
AssumeRoleWithWebIdentity
요청 에 대한 환경을 구성한 후 authMechanism
연결 옵션을 'MONGODB-AWS'
로 설정하다 합니다. authMechanism
옵션을 설정하는 예시 를 보려면 이 페이지의 authMechanism 예시 를 참조하세요.
팁
AssumeRoleWithWebIdentity
요청을 사용하여 애플리케이션을 인증하는 방법에 대한 자세한 내용은 다음 Amazon Web Services 설명서를 참조하세요.
ECS Metadata
애플리케이션 이 Elastic Container Service(ECS) 컨테이너 에서 실행되는 경우 운전자 는 ECS 엔드포인트에서 임시 Amazon Web Services 자격 증명 을 자동으로 조회 할 수 있습니다. 이렇게 하려면 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI
이라는 환경 변수에 ECS 엔드포인트의 URI를 지정합니다. 다음 예시 와 같이 export
shell 명령을 실행 하거나 .env
파일 에 추가하여 이 변수를 설정하다 수 있습니다.
export AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=<URI of the ECS endpoint>
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=<URI of the ECS endpoint>
환경 변수를 설정하다 한 후 authMechanism
연결 옵션을 'MONGODB-AWS'
로 설정하다 합니다. authMechanism
옵션을 설정하는 예시 를 보려면 이 페이지의 authMechanism 예시 를 참조하세요.
EC2 인스턴스 메타데이터
Amazon Web Services 운전자 는 Amazon Elastic Cloud Compute(EC) 인스턴스2 에서 임시 자격 증명 을 자동으로 조회 할 수 있습니다. EC2 인스턴스 내에서 임시 자격 증명 을 사용하려면 authMechanism
연결 옵션을 'MONGODB-AWS'
로 설정하다 합니다. authMechanism
옵션을 설정하는 예시 를 보려면 이 페이지의 authMechanism 예시 를 참조하세요.
참고
MongoDB PHP 라이브러리는 환경 변수 섹션에 설명된 환경 변수가 설정하다 되지 않은 경우에만 EC2 인스턴스 에서 자격 증명 을 검색합니다.
추가 정보
MongoDB PHP 라이브러리에서 MongoDB\Client
객체 를 만드는 방법에 학습 보려면 MongoDB 클라이언트 만들기 가이드 를 참조하세요.
연결 옵션에 대해 자세히 학습 연결 옵션 지정 가이드 참조하세요.