Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Menu Docs
Página inicial do Docs
/ /

AWS IAM

O mecanismo de autenticação do MONGODB-AWS utiliza suas credenciais do Amazon Web Services Identity and Access Management (AWS IAM) para autenticar o usuário.

Você pode usar o AWS IAM para autenticar no MongoDB Atlas, mas não no Enterprise Advanced ou MongoDB Community Edition.

Os exemplos de código nesta página usam os seguintes espaços reservados:

  • access key ID: IDda chave de acesso do Amazon Web Services

  • secret access key: Sua chave de acesso secreto Amazon Web Services

  • session token: Seu token de sessão do Amazon Web Services

  • db: O banco de dados de autenticação associado ao usuário

Para usar esse mecanismo de autenticação, você deve adicionar o sinalizador de recurso aws-auth à sua dependência mongodb no arquivo Cargo.toml do seu projeto. A seguir, um exemplo do que sua lista de recursos de dependência mongodb deve incluir para habilitar o mecanismo de autenticação MONGODB-AWS:

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

Importante

Para usar o mecanismo de autenticação MONGODB-AWS no driver Rust, seu aplicativo deve atender aos seguintes requisitos:

  • Você está conectado à versão 4.4 do MongoDB Server ou posterior.

  • Você está usando o tempo de execução assíncrono tokio .

O driver obtém as credenciais somente da primeira fonte na qual elas são encontradas. O driver verifica suas credenciais das seguintes fontes na seguinte ordem:

  1. Credential struct ou connection string.

  2. Variáveis de ambiente.

  3. Arquivo de token de identidade da Web.

  4. Amazon Web Services ECS endpoint especificado na variável de ambiente do AWS_CONTAINER_CREDENTIALS_RELATIVE_URI .

  5. Ponto de extremidade AWS EC2. Para obter mais informações, consulte Funções de IAM para tarefas na documentação da AWS.

Por exemplo, se você especificar suas credenciais do Amazon Web Services em sua connection string, o driver usará essas credenciais e ignorará as que você tiver especificado nas variáveis de ambiente.

Selecione nas abas Credential Struct, Environment Variables e Web Identity Token File abaixo para obter amostras de código que demonstram como definir suas credenciais do Amazon Web Services IAM das maneiras correspondentes.

Para especificar o mecanismo de autenticação MONGODB-AWS, defina o campo mechanism da estrutura Credential como AuthMechanism::MongoDbAws.

Se você estiver usando credenciais temporárias, crie um documento que contenha o valor do seu token de sessão do Amazon Web Services e, em seguida, defina o campo mechanism_properties da estrutura Credential para esse documento. Se você não estiver usando credenciais temporárias, omita a linha 9 do seguinte exemplo:

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)?;

Dica

Você pode obter credenciais temporárias do Amazon Web Services IAM a partir de uma solicitação de Assume Role do Segurança Token Service (STS). Saiba mais sobre esse processo na documentação do AssumeRole Amazon Web Services.

Para armazenar suas credenciais do Amazon Web Services em variáveis de ambiente, execute os seguintes comandos em seu shell:

export AWS_ACCESS_KEY_ID=<access key ID>
export AWS_SECRET_ACCESS_KEY=<secret access key>
export AWS_SESSION_TOKEN=<session token>

Se você não estiver usando um token de sessão Amazon Web Services , omita a linha que define a variável de ambiente do AWS_SESSION_TOKEN.

Defina a opção mechanism em sua estrutura Credential como AuthMechanism::MongoDbAws. O driver lê suas credenciais do Amazon Web Services IAM a partir das variáveis de ambiente. O código a seguir mostra como definir uma estrutura Credential com a autenticação Amazon Web Services especificada e se conectar ao MongoDB:

let uri = "<connection string>";
let mut client_options = ClientOptions::parse(uri).await?;
let aws_cred = Credential::builder().mechanism(AuthMechanism::MongoDbAws).build();
client_options.credential = Some(aws_cred);
let client = Client::with_options(client_options)?;

Você pode usar o token OpenID Connect (OIDC) obtido de um provedor de identidade da Web para autenticar no Amazon Elastic Kubernetes Service (EKS) ou em outros serviços. Para usar um token OIDC, crie um arquivo que contenha seu token e, em seguida, defina uma variável de ambiente cujo valor é o caminho absoluto para o arquivo de token, conforme mostrado no seguinte comando de shell:

export AWS_WEB_IDENTITY_TOKEN_FILE=<absolute path to OIDC token file>

Defina a opção mechanism em sua estrutura Credential como AuthMechanism::MongoDbAws. O driver lê suas credenciais do Amazon Web Services IAM do arquivo de token. O código a seguir mostra como definir uma estrutura Credential com a autenticação Amazon Web Services especificada e se conectar ao MongoDB:

let uri = "<connection string>";
let mut client_options = ClientOptions::parse(uri).await?;
let aws_cred = Credential::builder().mechanism(AuthMechanism::MongoDbAws).build();
client_options.credential = Some(aws_cred);
let client = Client::with_options(client_options)?;

Para saber mais sobre autenticação no MongoDB, consulte Autenticação no manual do MongoDB Server .

Para saber mais sobre como gerenciar usuários da sua MongoDB deployment,consulte Usuários no manual do MongoDB Server .

Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo:

Voltar

X.509

Nesta página