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

Amazon Web Services IAM 인증 메커니즘

중요

MONGODB-AWS 인증 메커니즘 MongoDB 버전 4.4 이상에서만 사용할 수 있습니다.

MONGODB-AWS 인증 메커니즘 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에 연결하려면 MONGODB-AWS 인증 메커니즘을 지정합니다.

운전자 나열된 순서대로 다음 소스에서 자격 자격 증명 확인합니다.

  1. 연결 문자열입니다.

  2. 환경 변수.

  3. 웹 ID 토큰 파일.

  4. AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 환경 변수에 지정된 Amazon Web Services ECS 엔드포인트.

  5. Amazon Web Services EC2 엔드포인트. 자세한 학습 은 Amazon Web Services 문서에서 작업에 대한 IAM 역할 을 참조하세요.

중요

운전자 자격 증명 얻습니다. 예시 를 들어 연결 문자열 에 Amazon Web Services 자격 증명 지정하면 운전자 환경 변수에 지정한 모든 자격 증명 무시합니다.

다음 예시에서는 SetAuth() 메서드를 사용하여 적절한 자격 증명을 설정합니다. ApplyURI() 메서드를 사용하여 이러한 자격 증명을 지정할 수도 있습니다. ApplyURI() 메서드를 사용하는 경우 사용자 이름과 비밀번호가 올바르게 구문 분석되도록 URL을 인코딩해야 합니다.

AWS IAM 자격 증명을 사용하여 MongoDB 인스턴스에 연결하려면 다음 단계를 수행하십시오.

  • AuthMechanism 옵션에 MONGODB-AWS 값을 할당합니다.

  • Username 옵션에 accessKeyID 값을 할당합니다.

  • Password 옵션에 secretAccessKey 값을 할당합니다.

var accessKeyID, secretAccessKey string
awsCredential := options.Credential{
AuthMechanism: "MONGODB-AWS",
AuthSource: "<authenticationDb>",
Username: "<accessKeyID>",
Password: "<secretAccessKey>",
}
awsIAMClient, err := mongo.Connect(options.Client().SetAuth(awsCredential))
if err != nil {
panic(err)
}
_ = awsIAMClient

AWS 세션 토큰을 지정해야 하는 경우 역할 수임 요청에서 반환된 임시 자격 증명을 사용합니다.

임시 자격 증명을 사용하려면 AuthMechanismProperties 옵션에 sessionToken 값을 할당합니다.

var accessKeyID, secretAccessKey, sessionToken string
assumeRoleCredential := options.Credential{
AuthMechanism: "MONGODB-AWS",
AuthSource: "<authenticationDb>",
Username: "<accessKeyID>",
Password: "<secretAccessKey>",
AuthMechanismProperties: map[string]string{
"AWS_SESSION_TOKEN": "<sessionToken>",
},
}
assumeRoleClient, err := mongo.Connect(options.Client().SetAuth(assumeRoleCredential))

환경 변수에 저장된 Amazon Web Services 자격 증명을 사용하여 MongoDB 인스턴스에 인증하려면 셸을 사용하여 다음과 같이 변수를 설정합니다.

export AWS_ACCESS_KEY_ID=<awsKeyId>
export AWS_SECRET_ACCESS_KEY=<awsSecretKey>
export AWS_SESSION_TOKEN=<awsSessionToken>

참고

인증 대상 역할에 AWS 세션 토큰이 필요하지 않은 경우 AWS_SESSION_TOKEN이(가) 포함된 줄을 생략하세요.

위의 환경 변수를 설정한 후 다음 예와 같이 MONGODB-AWS 인증 메커니즘을 지정합니다.

envVariablesCredential := options.Credential{
AuthMechanism: "MONGODB-AWS",
}
envVariablesClient, err := mongo.Connect(options.Client().SetAuth(envVariablesCredential))
if err != nil {
panic(err)
}
_ = envVariablesClient

웹 자격 증명 공급자에서 얻은 OIDC(OpenID Connect) 토큰을 사용해 Amazon Elastic Kubernetes Service(EKS) 또는 기타 서비스에 인증할 수 있습니다. OIDC 토큰을 사용하려면 토큰이 포함된 파일을 생성하거나 찾으세요. 그 후, 다음과 같은 환경 변수를 설정하세요.

  • AWS_WEB_IDENTITY_TOKEN_FILE: OIDC 토큰이 포함된 파일 의 절대 경로로 설정합니다.

  • AWS_ROLE_ARN: 클러스터 에 연결하는 데 사용되는 IAM 역할 로 설정합니다. 예시: arn:aws:iam::111122223333:role/my-role.

다음 셸 명령은 이러한 환경 변수를 설정합니다.

export AWS_WEB_IDENTITY_TOKEN_FILE=<absolute path to file that contains OIDC token>
export AWS_ROLE_ARN=<IAM role name>

위의 환경 변수를 설정한 후 다음 예시와 같이 MONGODB-AWS 인증 메커니즘을 지정합니다.

envVariablesCredential := options.Credential{
AuthMechanism: "MONGODB-AWS",
}
envVariablesClient, err := mongo.Connect(options.Client().SetAuth(envVariablesCredential))
if err != nil {
panic(err)
}
_ = envVariablesClient

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

돌아가기

X.509

이 페이지의 내용