Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes 演算子
/

統合クラウドプロバイダー統合を設定する

項目一覧

  • 前提条件
  • 手順

DataAtlas Data FederationAmazon Web ServicesFederation や 保管時の暗号化 を含む一部の Atlas 機能は、 Amazon Web Services IAM ロール で認証されます。AtlasAmazon Web ServicesAtlas がAmazon Web Servicesサービスにアクセスする場合、 IAM ロール を想定します。

Project Ownerロールがある場合は、Atlas Administration API または Atlas UI で使用する Atlas アカウントの想定された IAM ロールを設定できます。 Atlasは、 Amazon Web Servicesの統合アクセスのみをサポートしています。

Atlas Kubernetes Operatorを使用して、Amazon Web Services カスタム リソース の IAM AtlasProjectロールの統合アクセスを設定できます。

重要

If you operate Atlas Kubernetes Operator under an independent CRD model, you cannot configure AWS IAM authentication using atlasProject parameters. To configure AWS IAM authentication for your Atlas project directly, please see Set Up Authentication with AWS IAM.

Atlas Kubernetes Operator から Atlas へのアクセスを構成するには、次の公開 API キー、プライベート API キー、および組織 ID 情報が必要です。

詳細については、「 Atlas へのアクセスの設定 」を参照してください。

1
  1. AtlasProjectカスタム spec.cloudProviderIntegrations.iamAssumedRoleArnリソース の パラメータ内に空の値プレースホルダーを指定します。

  2. AtlasProjectカスタム AWSspec.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>"
}
}
}
]
}

Amazon Web ServicesIAM ロールの作成 次のカスタム信頼ポリシーを使用します。強調表示された行を、前の手順で取得した値に置き換えます。

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

マネジメント コンソールのRolesAmazon Web Services セクションで、 アクセス用に編集または作成した IAMAtlas ロールをクリックします。Amazon Web Servicesでは、Summary セクションにARNが表示されます。

5

カスタム リソースspec.cloudProviderIntegrations.iamAssumedRoleArn Amazon Web Servicesパラメータ内の空の値プレースホルダーを、前の手順のAtlasProject 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内でそれを承認しています。

戻る

フェデレーティッド

項目一覧