Proteja seus dados
Nesta página
Visão geral
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 .
Aplicativo de amostra
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:
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 .
Copie o seguinte código e cole-o em um novo arquivo
.php
.Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.
1 2 3 require __DIR__ . '/../vendor/autoload.php'; 4 5 // Start example code here 6 7 // End example code here 8 9 try { 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 }
SCRAM-SHA-256
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.
SCRAM-SHA-1
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.
MONGODB X.509
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.
MONGODB-AWS
As seções a seguir mostram como se conectar ao MongoDB usando o mecanismo de autenticação MONGODB-AWS
. Quando você usa o MONGODB-AWS
mecanismo, a MongoDB PHP biblioteca do tenta recuperar suas Amazon Web Services credenciais do das seguintes fontes, na ordem listada:
Opções passadas para o construtor
MongoDB\Client
, como parte da string de conexão ou do parâmetro da array$uriOptions
Variáveis de ambiente
Solicitação Amazon Web Services EKS
AssumeRoleWithWebIdentity
Metadados do container ECS
Metadados de instância do EC2
Cada seção mostra como autenticar com MONGODB-AWS
ao recuperar suas credenciais do Amazon Web Services a partir de opções passadas para seu cliente ou fontes externas alternativas.
Para saber mais sobre como autenticar com Amazon Web Services, consulte MONGODB-Amazon Web Services no guia de autenticação.
MongoDB\ClientCredentials
O código a seguir mostra como passar as credenciais do Amazon Web Services para o construtor MongoDB\Client
para autenticação 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 Amazon Web Services recuperando credenciais MongoDB\Client
, consulte MongoDB\Client Credentials no guia Autenticação.
Credenciais externas
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 como autenticar com Amazon Web Services obtendo credenciais externas, consulte as seguintes seções no guia de Autenticação: