통합 cloud 공급자 통합 설정
Data Data Federation Federation 및 미사용 Atlas 데이터 암호화를 포함한 일부 Atlas Amazon Web Services 기능은 Amazon Web Services IAM 역할 로 인증합니다. Atlas 는 Amazon Web Services 서비스에 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 를 운영하는 경우 매개변수를 사용하여 AWS IAM 인증 을 구성할 수 atlasProject
없습니다. Atlas 프로젝트 에 대한 AWS IAM 인증 을 직접 구성하려면 AWS 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 역할을 생성할 수 있습니다.
IAM 역할 에 대한 신뢰 정책 수정 Amazon Web Services 다음 사용자 지정 신뢰 정책을 사용합니다. 강조 표시된 줄을 이전 단계에서 검색한 값으로 바꿉니다.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS":"<atlasAWSAccountArn>" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "sts:ExternalId":"<atlasAssumedRoleExternalId>" } } } ] }
IAM 역할 생성 Amazon Web Services 다음 사용자 지정 신뢰 정책을 사용합니다. 강조 표시된 줄을 이전 단계에서 검색한 값으로 바꿉니다.
{ "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 내에서 권한을 부여한 것입니다.