Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes Operator
/

통합 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에 대한 액세스 구성을 참조하세요.

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

  2. 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 사용자 지정 리소스에 추가 액세스 역할을 추가하기 전에 이 전체 절차를 완료하여 빈 값 자리 표시자에 대한 역할을 구성하세요.

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 역할을 생성할 수 있습니다.

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>"
}
}
}
]
}
4

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

5

사용자 지정 리소스 의 매개변수에 있는 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
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 내에서 권한을 부여한 것입니다.

돌아가기

연합

이 페이지의 내용