ClientEncryption.createEncryptedCollection()
Novidades na versão 7.0.
ClientEncryption.createEncryptedCollection(dbName, collName, clientEncOpts)
ClientEncryption.createEncryptedCollection
cria uma collection criptografada especificada porcollName
no reconhecimento de data center especificado pordbName
.
Sintaxe
ClientEncryption.createEncryptedCollection
tem a seguinte sintaxe:
clientEncryption = db.getMongo().getClientEncryption() clientEncryption.createEncryptedCollection( dbName, collName, { provider: kmsProviderName, createCollectionOptions: encryptedFieldsMap, masterKey: customerMasterKeyCredentials } )
Campos de comando
createEncryptedCollection
usa estes campos:
Campo | Tipo | necessidade | Descrição |
---|---|---|---|
dbName | string | Obrigatório | Nome do reconhecimento de data center a ser criptografado. |
collName | string | Obrigatório | Nome da collection a ser criptografada. |
clientEncOpts | documento | Obrigatório | Opções para configurar a collection criptografada. |
clientEncOpts.provider | string | Obrigatório | KMS que você está usando para armazenar sua chave mestra do cliente. |
clientEncOpts.createCollectionOptions | documento | Obrigatório | Campos a serem criptografados. ConsulteEtapas do para detalhes sobre como configurar o objeto encryptedFieldsMap . |
clientEncOpts.masterKey | documento | Opcional | Como obter a chave mestra quando o fornecedor de KMS é Amazon Web Services, GCP ou Azure. |
Comportamento
O nível do campo no lado do cliente e os métodos de Queryable Encryption do mongosh
exigem uma conexão de banco de dados configurada para criptografia do lado do cliente. Se a conexão atual do banco de dados não tiver sido iniciada com a criptografia em nível de campo do lado do cliente ativada, faça o seguinte:
Utilize o construtor
Mongo()
domongosh
para estabelecer uma conexão com as opções de criptografia do nível do campo do lado do cliente exigido. O métodoMongo()
suporta os seguintes fornecedores de serviço de gerenciamento de chaves (KMS) para gerenciamento da chave mestra do cliente (CMK):
ou
Utilize as opções da linha de comando do
mongosh
para estabelecer uma conexão com as opções exigidas. As opções de linha de comando são compatíveis apenas com o fornecedor Amazon Web Services KMS para gerenciamento da chave mestra do cliente.
Exemplo
O exemplo a seguir usa um KMS gerenciado localmente para a configuração de Queryable Encryption.
Crie sua conexão criptografada
Criar as opções de criptografia em nível de campo do lado do cliente
Crie as opções de criptografia no nível do campo do lado do cliente usando a string de chave local gerada:
var autoEncryptionOpts = { "keyVaultNamespace" : "encryption.__dataKeys", "kmsProviders" : { "local" : { "key" : BinData(0, TEST_LOCAL_KEY) } } }
Crie seu cliente criptografado
Use o construtor Mongo()
com as opções de criptografia de nível de campo do lado do cliente configuradas para criar uma conexão com o reconhecimento de data center. Substitua o URI mongodb://myMongo.example.net
pelo URI da string de conexão do cluster de destino.
encryptedClient = Mongo( "mongodb://myMongo.example.net:27017/?replSetName=myMongo", autoEncryptionOpts )
Crie sua coleção criptografada
Criar uma collection enc.users
criptografada:
clientEncryption = encryptedClient.getClientEncryption(); var result = clientEncryption.createEncryptedCollection( "enc", "users", { provider: "local", createCollectionOptions: encryptedFieldsMap, masterKey: {} // masterKey is optional when provider is local } )
Saiba mais
Para obter a documentação completa sobre como iniciar conexões do MongoDB com a criptografia no nível do campo do lado do cliente habilitada, consulte
Mongo()
.Para obter um exemplo completo de como criar e query uma collection criptografada, consulte Início Rápido.