Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ /
MongoDB Atlas Kubernetes 演算子
/

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

Data Federation保管時の暗号化 を含む一部の Atlas 機能は、Amazon Web Services IAM ロール で認証されます。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 から Atlas へのアクセスを構成するには、次の公開 API キー、プライベート API キー、および組織 ID 情報が必要です。

  • Atlas Kubernetes Operator で新しい Atlasプロジェクトを作成する場合は、 組織へのプログラムによるアクセスの付与 。組織で Atlas Administration APIのIP アクセス リストが必要な場合は、 APIアクセス リストも設定する必要があります。

    重要

    API キーには、 Organization Project Creator以上の組織ロールを割り当てる必要があります。

  • 既存の Atlasプロジェクトを操作する場合は、 プロジェクトからプロジェクト アクセスを追加 します。組織で Atlas Administration APIのIP アクセス リストが必要な場合は、 APIアクセス リストも設定する必要があります。

    重要

    Project Ownerプロジェクト ロールに API キーを割り当てる必要があります。

詳細については、「 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内でそれを承認しています。

戻る

フェデレーティッド

項目一覧