Docs 菜单
Docs 主页
/
MongoDB Atlas
/ / /

使用Amazon Web Services IAM 设置身份验证

在此页面上

  • 使用Amazon Web Services IAM 角色设置身份验证
  • 向Amazon Web Services IAM 角色授予数据库访问权限
  • 使用Atlas Amazon Web ServicesIAM 连接到 集群

您可以设立数据库用户设置为使用 Amazon Web Services IAM用户或角色ARN进行身份验证。 您可以使用 mongosh和驱动程序连接到数据库,并使用Amazon Web Services IAM用户或角色 ARN 进行身份验证。 使用Amazon Web Services IAM可以减少身份验证机制的数量和需要管理的密钥数量。 用于身份验证的密钥不会通过网络发送给Atlas ,也不会由驾驶员保存。

注意

启用LDAP 授权后,您无法为Amazon Web Services IAM 主体设置身份验证。

如果您需要对Amazon Web Services IAM 主体进行身份验证,请考虑将要访问权限Amazon Web Services IAM身份验证访问的集群移动到另一个禁用LDAP授权的项目中。

您可以设立Amazon Web Services IAM 角色,对Amazon Web Services Atlas集群的 计算类型进行身份验证。

对于Amazon Web ServicesLambda 和HTTP (ECS 和 EC2 ),驱动程序会自动从 环境变量 。对于Amazon Web Services EKS,您必须手动分配IAM角色。 本页介绍如何使用Amazon Web ServicesLambda IAMAmazon Web Services 角色连接 、Amazon Web Services ECSAmazon Web Services EKS

注意

必须在 AWS 控制台中将 IAM 角色分配给 Lambda、EC2、ECS 或 EKS。

如果为 Lambda 函数分配执行角色AWS Lambda 会通过以下环境变量将信息传递给函数。

  • AWS_ACCESS_KEY_ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

注意

在函数中使用执行角色时,无需手动创建这些环境变量。

要了解有关这些环境变量的更多信息,请参阅使用 AWS Lambda 环境变量

AWS 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 角色的实例

要学习;了解如何配置Amazon Web Services IAM角色以使用 ECS FargateAmazon Web Services 进行身份验证,请参阅Amazon Web Services 文档。

对于 AWS EKS,您必须首先为 pod 分配 IAM 角色,才能在该 pod 中设置以下环境变量:

  • AWS_WEB_IDENTITY_TOKEN_FILE - 包含网络身份令牌文件的 路径。

  • AWS_ROLE_ARN — 包含用于连接集群的IAM角色。

有关为 pod 分配 IAM 角色的信息,请参阅 AWS 文档。

IAM 角色分配给 Pod 后,您必须手动设置 IAM 角色,才能连接集群。

如需手动承担角色,请执行以下操作:

  1. 使用 AWS SDK 调用 AssumeRoleWithWebIdentity。

    提示

    • 忽略 ProviderID 参数。

    • 在 pod 的 AWS_WEB_IDENTITY_TOKEN_FILE 环境变量中描述的文件中查找 WebIdentityToken 参数的值。

  2. 将您在上一步中收到的凭证传递给 MongoDB 驱动程序。有关详细信息,请参阅驱动程序文档

Amazon Web Services要向 IAM Amazon Web Services角色授予数据库访问权限,请完成 IAM 的 配置数据库用户 部分中描述的步骤。有关使用Atlas CLI、 Atlas Administration API或Atlas 用户界面授予数据库访问权限的更多信息,请参阅添加数据库用户。

要使用Atlas 通过您的Amazon Web Services IAM 凭证连接到mongosh ,请提供 指定 MONGODB- 身份验证机制的连接stringAmazon Web Services 。此连接string格式适用于所有Amazon Web Services IAM身份验证机制。

重要

在使用此连接 格式之前,您必须使用使用 IAM 角色设置身份验证Amazon Web Servicesstring 中描述的方法之一配置身份验证。

使用 AWS IAM 身份验证与 mongosh 连接 Atlas 需要 shell 版本 v0.9.0 或更高版本。

  • 使用 AWS IAM 凭证,将访问密钥 ID 作为用户名,将密钥作为密码。

  • authSource查询参数是 $external,URL编码为 %24external

  • authMechanism 查询参数是 MONGODB-AWS

    例子

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

提示

另请参阅:

后退

自定义数据库角色