MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryptionCria um novo objeto ClientEncryption

Descrição

final public MongoDB\Driver\Manager::createClientEncryption(array $options): MongoDB\Driver\ClientEncryption

Constrói um novo objeto MongoDB\Driver\ClientEncryption com as opções especificadas.

Parâmetros

options

Opções
Opção Tipo Descrição
keyVaultClient MongoDB\Driver\Manager O Manager usado para rotear consultas de chave de dados para um cluster MongoDB separado. Por padrão, o Manager e o cluster atuais são usados.
keyVaultNamespace string Um namespace totalmente qualificado (por exemplo, "nomeDoBancoDados.nomeDaColecao") denotando a coleção que contém todas as chaves de dados usadas para criptografia e descriptografia. Esta opção é obrigatória.
kmsProviders array

Um documento contendo a configuração de um ou mais provedores KMS, que são usados para criptografar chaves de dados. Os provedores compatíveis incluem "aws", "azure", "gcp", "kmip" e "local" e pelo menos um deve ser especificado.

Se um documento vazio for especificado para "aws", "azure", ou "gcp", o driver tentará configurar o provedor usando » Credenciais Automáticas.

O formato para "aws" é o seguinte:

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>,
    sessionToken: <string opcional>
}

O formato para "azure" é o seguinte:

azure: {
    tenantId: <string>,
    clientId: <string>,
    clientSecret: <string>,
    identityPlatformEndpoint: <string opcional> // O padrão é "login.microsoftonline.com"
}

O formato para "gcp" é o seguinte:

gcp: {
    email: <string>,
    privateKey: <string base64>|<MongoDB\BSON\Binary>,
    endpoint: <string opcional> // O padrão é "oauth2.googleapis.com"
}

O formato para "kmip" é o seguinte:

kmip: {
    endpoint: <string>
}

O formato para "local" é o seguinte:

local: {
    // Chave mestra de 96 bytes usada para criptografar/descriptografar chaves de dados
    key: <string base64>|<MongoDB\BSON\Binary>
}
tlsOptions array

Um documento contendo a configuração TLS para um ou mais provedores KMS. Os provedores suportados incluem "aws", "azure", "gcp" e "kmip". Todos os provedores suportam as seguintes opções:

<provider>: {
    tlsCaFile: <string opcional>,
    tlsCertificateKeyFile: <string opcional>,
    tlsCertificateKeyFilePassword: <string opcional>,
    tlsDisableOCSPEndpointCheck: <booleano opcional>
}

Valor Retornado

Retorna uma nova instância de MongoDB\Driver\ClientEncryption.

Erros/Exceções

Registro de Alterações

Versão Descrição
PECL mongodb 1.16.0

O provedor AWS KMS para criptografia do lado do cliente agora aceita uma opção "sessionToken", que pode ser usada para autenticação com credenciais temporárias da AWS.

Adicionado "tlsDisableOCSPEndpointCheck" à opção "tlsOptions".

Se um documento vazio for especificado para o provedor KMS "azure" ou "gcp", o driver tentará configurar o provedor usando » Credenciais Automáticas.

PECL mongodb 1.15.0

Se um documento vazio for especificado para o provedor KMS "aws", o driver tentará configurar o provedor usando » Credenciais Automáticas.

PECL mongodb 1.12.0

O KMIP agora é suportado como um provedor KMS para criptografia do lado do cliente e pode ser configurado na opção "kmsProviders".

Adicionada a opção "tlsOptions".

PECL mongodb 1.10.0 O Azure e o GCP agora são suportados como provedores KMS para criptografia do lado do cliente e podem ser configurados na opção "kmsProviders". Strings codificadas em Base64 agora são aceitas como uma alternativa ao MongoDB\BSON\Binary para opções dentro de "kmsProviders".