Menu Docs
Página inicial do Docs
/ / /
Manual da Biblioteca PHP

Proteja seus dados

Nesta página

  • Visão geral
  • Aplicativo de amostra
  • SCRAM-SHA-256
  • SCRAM-SHA-1
  • MONGODB X.509
  • MONGODB-AWS
  • MongoDB\ClientCredentials
  • Credenciais externas

O MongoDB oferece suporte a vários mecanismos que você pode usar para autenticar seu aplicação. Esta página contém exemplos de código que demonstram cada um desses mecanismos.

Dica

Para saber mais sobre qualquer um dos mecanismos mostrados nesta página, consulte o link fornecido em cada seção.

Para usar um exemplo de autenticação desta página, copie o exemplo de código noaplicação de amostra ou em seu próprio aplicação. Certifique-se de substituir todos os espaços reservados nos exemplos de código, como <hostname>, pelos valores relevantes para sua implantação do MongoDB .

Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:

  1. Verifique se a biblioteca PHP do MongoDB está instalada em seu projeto. Para saber mais sobre como instalar a biblioteca PHP do MongoDB , consulte o guia dedownload e instalação .

  2. Copie o seguinte código e cole-o em um novo arquivo .php .

  3. Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.

1<?php
2
3require __DIR__ . '/../vendor/autoload.php';
4
5// Start example code here
6
7// End example code here
8
9try {
10 $client->test->command(['ping' => 1]);
11 echo 'Successfully pinged the MongoDB server.', PHP_EOL;
12} catch (MongoDB\Driver\Exception\RuntimeException $e) {
13 printf("Failed to ping the MongoDB server: %s\n", $e->getMessage());
14}

O seguinte código mostra como autenticar utilizando o mecanismo de autenticação SCRAM-SHA-256 :

$uriOptions = [
'username' => '<username>',
'password' => '<password>',
'authSource' => '<authentication database>',
'authMechanism' => 'SCRAM-SHA-256',
];
$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
$uriOptions,
);
$uri = 'mongodb://<username>:<password>@<hostname>:<port>/?authSource=admin&authMechanism=SCRAM-SHA-256';
$client = new MongoDB\Client($uri);

Para saber mais sobre a autenticação SCRAM-SHA-256 , consulte SCRAM-SHA-256 no guia Autenticação.

O seguinte código mostra como autenticar utilizando o mecanismo de autenticação SCRAM-SHA-1 :

$uriOptions = [
'username' => '<username>',
'password' => '<password>',
'authSource' => '<authentication database>',
'authMechanism' => 'SCRAM-SHA-1',
];
$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
$uriOptions,
);
$uri = 'mongodb://<username>:<password>@<hostname>:<port>/?authSource=admin&authMechanism=SCRAM-SHA-1';
$client = new MongoDB\Client($uri);

Para saber mais sobre a autenticação SCRAM-SHA-1 , consulte SCRAM-SHA-1 no guia Autenticação.

O seguinte código mostra como criar um URI de conexão para autenticar utilizando o mecanismo de autenticação do X.509 :

$uriOptions = [
'tls' => true,
'tlsCertificateKeyFile' => '<file path>',
'authMechanism' => 'MONGODB-X509',
];
$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
$uriOptions,
);
$uri = 'mongodb://<hostname>:<port>/?tls=true&tlsCertificateKeyFile=<file path>&authMechanism=MONGODB-X509';
$client = new MongoDB\Client($uri);

Para saber mais sobre a autenticação X.509 , consulte MONGODB-X509 no guia Autenticação.

As seções a seguir mostram como se conectar ao MongoDB usando o mecanismo de autenticação MONGODB-AWS . Quando você usa o mecanismo MONGODB-AWS , a biblioteca PHP do MongoDB tenta recuperar suas credenciais da AWS das seguintes fontes, na ordem listada:

  1. Opções passadas para o construtor MongoDB\Client , como parte da string de conexão ou do parâmetro da array $uriOptions

  2. Variáveis de ambiente

  3. Solicitação AWS EKS AssumeRoleWithWebIdentity

  4. Metadados do container ECS

  5. Metadados de instância do EC2

Cada seção mostra como autenticar com MONGODB-AWS ao recuperar suas credenciais da AWS a partir das opções passadas para o seu cliente ou para as fontes externas alternativas.

Para saber mais sobre autenticação com AWS, consulte MONGODB-AWS no guia de autenticação.

O seguinte código mostra como passar as credenciais da AWS para o construtor MongoDB\Client para autenticar com MONGODB-AWS:

$uriOptions = [
'username' => '<AWS IAM access key ID>',
'password' => '<AWS IAM secret access key>',
'authMechanism' => 'MONGODB-AWS',
];
$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
$uriOptions,
);
$uri = 'mongodb://<AWS IAM access key ID>:<AWS IAM secret access key>@<hostname>:<port>/?authMechanism=MONGODB-AWS';
$client = new MongoDB\Client($uri);

Para saber mais sobre como autenticar com a AWS recuperando credenciais do MongoDB\Client , consulte MongoDB\Client Credentials no guia de Autenticação.

O código abaixo mostra como autenticar com MONGODB-AWS ao obter credenciais de variáveis de ambiente, uma solicitação AssumeRoleWithWebIdentity , metadados do ECS ou metadados de instância do EC2 :

$client = new MongoDB\Client(
'mongodb://<hostname>:<port>',
['authMechanism' => 'MONGODB-AWS']
);
$uri = 'mongodb://<hostname>:<port>/?authMechanism=MONGODB-AWS';
$client = new MongoDB\Client($uri);

Para saber mais sobre autenticação com a AWS obtendo credenciais externas, consulte as seguintes seções no guia de Autenticação:

Voltar

Monitoramento de clusters