对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

AWS IAM

MONGODB-AWS 身份验证机制使用 Amazon Web Services Identity and Access Management (AWS IAM) 档案对用户进行身份验证。

您可以使用 AWS IAM 对MongoDB Atlas进行身份验证,但不能对MongoDB Enterprise Advanced或MongoDB Community Edition进行身份验证。

本页上的代码示例使用以下占位符:

  • access key ID:您的Amazon Web Services访问密钥ID

  • secret access key:您的Amazon Web Services秘密访问权限密钥

  • session token:您的Amazon Web Services会话令牌

  • db:与用户关联的身份验证数据库

要使用该身份验证机制,您必须将 aws-auth 功能标志添加到项目的 Cargo.toml 文件中的 mongodb 依赖项。下面的示例展示了您的 mongodb 依赖项功能列表必须包含哪些内容才能启用 MONGODB-AWS 身份验证机制:

[dependencies.mongodb]
version = "3.9.1"
features = [ "aws-auth", ... ]

重要

要在 Rust 驱动程序中使用MONGODB-AWS身份验证机制,您的应用程序必须满足以下要求:

  • 您已连接到 MongoDB Server 4.4或更高版本。

  • 您正在使用tokio异步运行时。

驱动程序仅从找到档案的第一个来源获取档案。 驱动程序会按以下顺序从以下来源检查您的档案:

  1. Credential struct 或 connection string 。

  2. 环境变量。

  3. Web 身份令牌文件。

  4. AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 环境变量中指定的Amazon Web Services ECS 端点。

  5. Amazon Web Services EC2 端点。 有关更多信息,请参阅Amazon Web Services文档中的任务的 IAM 角色。

例如,如果您在Amazon Web Services 连接 中指定string 档案,则驱动程序将使用这些档案并忽略您在环境变量中指定的任何档案。

从下面的 Credential Struct、Environment Variables 和 Web Identity Token File 标签页中选择代码示例,这些代码示例演示如何以相应的方式设置Amazon Web Services IAM 档案。

要指定 MONGODB-AWS身份验证机制,请将 Credential 结构的 mechanism字段设立为 AuthMechanism::MongoDbAws。

如果使用临时凭证,请创建一个包含Amazon Web Services会话令牌值的文档,然后设立Credential 结构的 mechanism_properties字段设置为此文档。 如果您使用的不是临时凭证,请省略以下示例中的第9行:

1let uri = "<connection string>";
2let mut client_options = ClientOptions::parse(uri).await?;
3
4let aws_cred = Credential::builder()
5 .username("<access key ID>".to_string())
6 .password("<secret access key>".to_string())
7 .source("<db>".to_string())
8 .mechanism(AuthMechanism::MongoDbAws)
9 .mechanism_properties(doc!("AWS_SESSION_TOKEN": "<session token>"))
10 .build();
11
12client_options.credential = Some(aws_cred);
13let client = Client::with_options(client_options)?;

提示

您可以从安全令牌服务 (STS) 担任角色请求中获取临时Amazon Web Services IAM凭证。 有关此进程的了解详情,请参阅 AssumeRole Amazon Web Services文档。

要学习;了解有关向MongoDB进行身份验证的更多信息,请参阅MongoDB Server手册中的身份验证。

要学习;了解有关管理MongoDB 部署用户的更多信息,请参阅MongoDB Server手册中的用户。

要进一步了解本指南所提及的方法和类型,请参阅以下 API 文档: