Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
/ / /

통합 cloud 공급자 통합 설정

Data Federation미사용 데이터 암호화를 포함한 일부 Atlas 기능은 AWS IAM 역할로 인증합니다. Atlas가 AWS 서비스에 액세스할 때, IAM 역할을 맡습니다.

Project Owner 역할이 있는 경우 Atlas 계정에 대해 가정된 IAM 역할을 설정하여 Atlas Administration API 또는 Atlas UI와 함께 사용할 수 있습니다. Atlas 는 Amazon Web Services 에 대해서만 통합 액세스를 지원합니다.

Atlas Kubernetes Operator를 사용하여 AtlasProject Custom Resource 에서 AWS IAM 역할에 대한 통합 액세스를 설정할 수 있습니다.

중요

독립적인 CRD 모델 로 Atlas Kubernetes Operator 운영하는 경우 매개변수를 사용하여 Amazon Web Services IAM 인증 구성할 수 atlasProject 없습니다. Atlas 프로젝트에 대한 Amazon Web Services IAM 인증을 직접 구성하려면 Amazon Web Services IAM으로 인증 설정을 참조하세요.

Atlas에 대한 Atlas Kubernetes Operator 액세스 권한을 구성하려면 다음의 공개 API 키, 비공개 API 키 및 조직 ID 정보가 필요합니다.

자세히 알아보려면 Atlas에 대한 액세스 구성을 참조하세요.

1
  1. spec.cloudProviderIntegrations.iamAssumedRoleArn 내에 빈 값 자리 표시자를 지정합니다. AtlasProject Custom Resource(사용자 지정 리소스)의 매개변수입니다.

  2. spec.cloudProviderIntegrations.providerName 내에 AWS 를 지정합니다. AtlasProject Custom Resource(사용자 지정 리소스)의 매개변수입니다.

예시:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Project
projectIpAccessList:
- ipAddress: "192.0.2.15"
comment: "IP address for Application"
cloudProviderIntegrations:
- providerName: "AWS"
iamAssumedRoleArn: ""
EOF

중요

AtlasProject 사용자 지정 리소스에 추가 액세스 역할을 추가하기 전에 이 전체 절차를 완료하여 빈 값 자리 표시자에 대한 역할을 구성하세요.

2
  1. 명령을 실행하여 다음 단계에 필요한 atlasAWSAccountArn 을 검색합니다.

    kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations.atlasAWSAccountArn.type}'
    arn:aws:iam::198765432109:root
  2. 명령을 실행하여 다음 단계에 필요한 atlasAssumedRoleExternalId 을 검색합니다.

    kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations.atlasAssumedRoleExternalId.type}'
    1a234b56-c789-0d12-345e-67f89012345a
3

기존 IAM 역할을 사용하거나 통합 액세스를 위한 새 IAM 역할을 생성할 수 있습니다.

다음 사용자 지정 신뢰 정책을 사용하여 Amazon Web Services IAM 역할에 대한 신뢰 정책을 수정합니다. 강조 표시된 줄을 이전 단계에서 검색한 값으로 바꿉니다.

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"AWS":"<atlasAWSAccountArn>"
},
"Action":"sts:AssumeRole",
"Condition":{
"StringEquals":{
"sts:ExternalId":"<atlasAssumedRoleExternalId>"
}
}
}
]
}

다음 사용자 지정 신뢰 정책을 사용하여 Amazon Web Services IAM 역할 생성 합니다. 강조 표시된 줄을 이전 단계에서 검색한 값으로 바꿉니다.

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"AWS":"<atlasAWSAccountArn>"
},
"Action":"sts:AssumeRole",
"Condition":{
"StringEquals":{
"sts:ExternalId":"<atlasAssumedRoleExternalId>"
}
}
}
]
}
4

AWS Management 콘솔의 Roles 섹션에서 Atlas 액세스를 위해 편집하거나 생성한 IAM 역할을 클릭합니다. Amazon Web ServicesSummary 섹션에 ARN 을 표시합니다.

5

spec.cloudProviderIntegrations.iamAssumedRoleArn 내의 빈 값 자리 표시자를 바꿉니다. AtlasProject 사용자 지정 리소스 의 매개변수를 이전 단계의 IAM 역할의 AWS ARN 을(를) 사용하세요.

예시:

cat <<EOF | kubectl apply -f -
apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Project
projectIpAccessList:
- ipAddress: "192.0.2.15"
comment: "IP address for Application"
cloudProviderIntegrations:
- providerName: "AWS"
iamAssumedRoleArn: "arn:aws:iam::123456789012:role/aws-service-role/support.amazonaws.com/myRole"
EOF
6
  1. 명령을 실행하여 상태를 검색합니다.

    kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations}'
  2. READY 상태를 확인합니다.

    • 상태가 CREATED 인 경우 Atlas에서 역할을 생성했지만 Amazon Web Services 내에서 권한을 부여하지 않은 것입니다.

    • 상태가 EMPTY_ARN 인 경우 Atlas에서 역할을 생성했지만 spec.cloudProviderIntegrations.iamAssumedRoleArn 을 지정하지 않은 경우입니다.

    • 상태가 READY 인 경우 Atlas가 역할을 생성한 것이며 Amazon Web Services 내에서 권한을 부여한 것입니다.

돌아가기

연합

이 페이지의 내용