Cria um novo objeto ClientEncryption

# MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryption — Cria um novo objeto ClientEncryption

### Descrição

final public function 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

- Lança uma exceção MongoDB\Driver\Exception\InvalidArgumentException em caso de erro ao analisar argumentos.
- Lança MongoDB\Driver\Exception\RuntimeException se a extensão foi compilada sem suporte libmongocrypt

### 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"`.

### Veja Também

- MongoDB\Driver\ClientEncryption::__construct() - Cria um novo objeto ClientEncryption
- » Criptografia explícita (manual) em nível de campo do lado do cliente no manual do MongoDB

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open