Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes Operator
/

통합 cloud 공급자 통합 설정

Data Federation미사용 데이터 암호화를 포함한 일부 Atlas 기능은 Amazon Web Services IAM 역할로 인증합니다. 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 있습니다.

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

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

다음 사용자 지정 신뢰 정책을 사용하여 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

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 내에서 권한을 부여한 것입니다.

돌아가기

연합

이 페이지의 내용