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

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

Data Federation保管時の暗号化 を含む一部の Atlas 機能は、Amazon Web Services IAM ロール で認証されます。When Atlas が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ロールの統合アクセスを設定できます。

重要

Atlas Kubernetes Operator を 独立した CRD モデル で動作させる場合、 パラメータを使用してAmazon Web Services IAM認証を設定することはできません。atlasProjectAtlasプロジェクトのAmazon Web Services IAM認証を直接構成するには、「 Amazon Web Services 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ロールを作成することもできます。

次のカスタム信頼ポリシーを使用して、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

マネジメント コンソールの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内でそれを承認しています。

戻る

フェデレーティッド

項目一覧