Data Federation 및 미사용 데이터 암호화를 포함한 일부 Atlas 기능은 Amazon Web Services IAM 역할로 인증합니다. When Atlas Amazon Web Services 서비스에 액세스할 때 IAM 역할맡습니다.
Project Owner 역할이 있는 경우 Atlas 계정에 대해 가정된 IAM 역할을 설정하여 Atlas 관리 API 또는 Atlas UI와 함께 사용할 수 있습니다. Atlas 는 Amazon Web Services 에 대해서만 통합 액세스를 지원합니다.
AtlasProject 를 사용하여 Custom Resource(사용자 지정 리소스 )에서 IAM 역할 에대한 Amazon Web Services 통합 액세스 를 설정하다 수 Atlas Kubernetes Operator 있습니다.
중요
독립적인 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 Kubernetes Operator 가 새 Atlas 프로젝트 를 생성하도록 하려면Grant Programmatic Access to an Organization(조직에 프로그래밍 방식 액세스 권한을 부여합니다)을 클릭합니다. 조직 에서 Atlas 관리 API 에 대한 IP 액세스 목록 이 필요한 경우 API 액세스 목록도 구성해야 합니다. - 중요- API 키에 Organization Project Creator 조직 역할 이상을 할당해야 합니다. 
- 기존 Atlas 프로젝트 로 작업하려면 프로젝트에서 프로젝트액세스를 추가합니다. 조직 에서 Atlas 관리 API 에 대한 IP 액세스 목록 이 필요한 경우 API 액세스 목록도 구성해야 합니다. - 중요- API 키에 Project Owner 프로젝트 역할을 할당해야 합니다. 
자세히 알아보려면 Atlas에 대한 액세스 구성을 참조하세요.
절차
spec.cloudProviderIntegrations 필드를 사용자 AtlasProject 지정 리소스 에 추가합니다.
- 사용자 - AtlasProject지정 리소스 의 매개변수 내에 빈 값 자리 표시자를 지정합니다.- spec.cloudProviderIntegrations.iamAssumedRoleArn
- AtlasProject사용자- AWS지정- spec.cloudProviderIntegrations.providerName리소스 의 매개변수 내에서 을(를) 지정합니다.
예시:
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 사용자 지정 리소스에 추가 액세스 역할을 추가하기 전에 이 전체 절차를 완료하여 빈 값 자리 표시자에 대한 역할을 구성하세요.
프로젝트의 atlasAWSAccountArn 및 을(를)atlasAssumedRoleExternalId 검색합니다.
- 명령을 실행하여 다음 단계에 필요한 - atlasAWSAccountArn을 검색합니다.- kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations.atlasAWSAccountArn.type}' - arn:aws:iam::198765432109:root 
- 명령을 실행하여 다음 단계에 필요한 - atlasAssumedRoleExternalId을 검색합니다.- kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations.atlasAssumedRoleExternalId.type}' - 1a234b56-c789-0d12-345e-67f89012345a 
Amazon Amazon Web Services Web Services IAM 역할 신뢰 정책을 수정합니다.
기존 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>"             }          }       }    ] } 
Amazon Web Amazon Web Services Services 에서IAM 역할의 ARN을 찾습니다.
Amazon Web Services Management 콘솔의 Roles 섹션에서 Atlas 액세스를 위해 편집하거나 생성한 IAM 역할을 클릭합니다. Amazon Web Services 는 Summary 섹션에 ARN 을 표시합니다.
Atlas Kubernetes Operator 를 사용하여 IAM 역할의 액세스 권한을 부여합니다.
사용자 지정 리소스 의 매개변수에 있는 spec.cloudProviderIntegrations.iamAssumedRoleArn 빈 값 자리 표시자를 이전 단계의 IAM 역할의 Amazon AtlasProject Web Services 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 
상태를 cloudProviderIntegrations 확인합니다.
- 명령을 실행하여 상태를 검색합니다. - kubectl get atlasprojects my-project -o=jsonpath='{.status.cloudProviderIntegrations}' 
- READY상태를 확인합니다.- 상태가 - CREATED인 경우 Atlas에서 역할을 생성했지만 Amazon Web Services 내에서 권한을 부여하지 않은 것입니다.
- 상태가 - EMPTY_ARN인 경우 Atlas에서 역할을 생성했지만- spec.cloudProviderIntegrations.iamAssumedRoleArn을 지정하지 않은 경우입니다.
- 상태가 - READY인 경우 Atlas가 역할을 생성한 것이며 Amazon Web Services 내에서 권한을 부여한 것입니다.