Docs Menu
Docs Home
/
MongoDB Atlas
/ / /

Amazon Web Services IAM で認証を設定する

項目一覧

  • Amazon Web Services IAM ロールを使用して認証を設定する
  • Amazon Web Services IAM ロールへのデータベースアクセスの付与
  • IAM を使用してAtlas クラスターに接続Amazon Web Services

認証に Amazon Web Services IAMユーザーまたはロールARNを使用するようにデータベースユーザーを設定できます。 {11 とドライバーを使用してデータベースに接続し、mongosh Amazon Web ServicesIAM ユーザーまたはロール ARN を使用して認証できます。Amazon Web Services IAMを使用すると、認証メカニズムの数と管理対象の秘密の数が削減されます。 認証に使用する秘密キーは、ネットワーク経由で Atlas に送信されず、ドライバーによって保持されません。

注意

Amazon Web Services承認が有効になっている場合、LDAP IAM プリンシパルの認証を設定することはできません。承認

Amazon Web Services IAM プリンシパルの認証が必要な場合は、Amazon Amazon Web Services IAM 認証でアクセスするクラスターを、 LDAP認証が無効になっている別のプロジェクトに移動することを検討してください。

Amazon Web ServicesIAM ロールを設定して、 クラスターへのAmazon Web Services コンピュートAtlas タイプを認証できます。

Amazon Web ServicesLambdaおよびHTTP (ECS および EC2 )の場合、ドライバーは 環境変数 から自動的に読み取りを行いますAmazon Web Services EKS の場合、 IAMロールを手動で割り当てる必要があります。 このページでは、 Amazon Web Services Lambda 、 Amazon Web Services ECS 、およびAmazon Web Services EKSAmazon Web Services IAMロールを使用して接続する方法について説明します。

注意

AWS コンソールで、Lambda、EC2、ECS、または EKS に IAM ロールを割り当てる必要があります。

AWS Lambda は、Lambda 関数に 実行ロールを割り当てる と、次の環境変数を通じて関数に情報を渡します。

  • AWS_ACCESS_KEY_ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

注意

関数内で 実行ロール を使用する場合は、これらの環境変数を手動で作成する必要はありません。

これらの環境変数について詳しくは、「AWS Lambda 環境変数の使用」を参照してください。

Amazon Web Services ECS は次の URI から資格情報を取得します。

http://169.254.170.2 + AWS_CONTAINER_CREDENTIALS_RELATIVE_URI

AWS_CONTAINER_CREDENTIALS_RELATIVE_URI は環境変数です。詳しくは、「タスクの IAM ロール」を参照してください。

AWS EC2 は、次の URL でインスタンス メタデータ サービス V2 から認証情報を取得します。

http://169.254.169.254/latest/meta-data/iam/security-credentials/

詳しくは、「IAM ロールを使用してインスタンスを起動する」を参照してください。

ECS Fargate での認証用にAmazon Web ServicesAmazon Web Services IAM ロールを設定する方法については、 のドキュメントAmazon Web Services を参照してください。

AWS EKS の場合、まずポッドに IAM ロールを割り当てて、そのポッドで次の環境変数を設定する必要があります。

  • AWS_WEB_IDENTITY_TOKEN_FILE - Web ID トークン ファイルへのパスが含まれます。

  • AWS_ROLE_ARN - クラスターへの接続に使用されるIAMロールが含まれます。

ポッドに IAM ロールを割り当てる方法については、AWS ドキュメントを参照してください。

ポッドに IAM ロールを割り当てた後、クラスターに接続するには、手動で IAM ロールを引き受ける必要があります。

ロールを手動で引き受けるには、次の手順に従います。

  1. AWS SDK を使用して、AssumeRoleWithWebIdentity を呼び出します。

    Tip

    • ProviderID パラメーターを省略します。

    • ポッドの AWS_WEB_IDENTITY_TOKEN_FILE 環境変数に記述されているファイルで、WebIdentityToken パラメーターの値を見つけます。

  2. 前の手順で受け取った資格情報を MongoDB ドライバーに渡します。詳しくは、ドライバーのドキュメントを参照してください。

IAMAmazon Web Services ロールへのデータベースアクセスを許可するには、AmazonAmazon Web Services Web IAM の データベースユーザーの構成 セクションに記載されている手順を完了します。Atlas CLI、Atlas Administration API、または Atlas UI を使用してデータベースにアクセスできるようにする方法の詳細については、「データベース ユーザーの追加 」を参照してください。

を使用してAmazon Web Services IAM 認証情報でmongosh に接続するにAtlas は、 MONGODB- 認証メカニズムを指定する接続 を指定しますstringAmazon Web Services 。この接続文字列形式は、すべてのAmazon Web Services IAM 認証メカニズムに適用されます。

重要

この接続 形式を使用する前に 、「 Amazon Web ServicesIAM ロールを使用した認証の設定 」 で説明されている方法のいずれかを使用して認証を設定する必要があります。string

mongosh で Amazon Web Services IAM 認証を使用して Atlas に接続するには、shell バージョン v0.9.0 以上が必要です。

  • アクセス キー ID をユーザー名、秘密鍵をパスワードとして使用して、AWS IAM 認証情報を使用します。

  • authSource クエリ パラメータは $external で、%24external としてURL エンコードします。

  • authMechanism クエリ パラメータは MONGODB-AWS です。

    mongosh "mongodb+srv://<atlas-host-name>/test?authSource=%24external&authMechanism=MONGODB-AWS" --username <access-key-id> --password <secret-key>

Tip

以下も参照してください。

戻る

カスタムデータベースロール