私はMongoDB docsを使って、MongoDB Enterpriseでのみ利用可能な暗号化の設定方法を説明しました。MongoDB Community Editionのデータ暗号化を他の方法で実装する方法は?
安心してデータを実装する方法MongoDB Community Edition v3.4?
私はMongoDB docsを使って、MongoDB Enterpriseでのみ利用可能な暗号化の設定方法を説明しました。MongoDB Community Editionのデータ暗号化を他の方法で実装する方法は?
安心してデータを実装する方法MongoDB Community Edition v3.4?
私は数ヶ月前に同じ質問を自分自身にお願いしていました。これは私がこれまでに見つけたオプションのリストです:
Alex Blex suggestedのように、Community Edition以外のオプションがあります。それでも、コミュニティ版と一緒に行きたい場合は
しかし、
あなたはMongoDBのと対話するためのmongoose.jsを使用することができます。あなたのマングーススキーマで
http://mongoosejs.com/docs/2.7.x/docs/getters-setters.html
は、あなたがフィールドにget
とset
関数を指定することができます。それはあなたの要件を満たすことができゲッターとセッターを持っています。
var mySchema = new Schema({
name: {
type: String,
default: '',
trim: true,
required: 'Please enter group name',
unique: true,
get: decryptFunction,
set: encryptFunction
}
});
mySchema.set('toObject', {getters: true});
mySchema.set('toJSON', {getters: true});
set
は、フィールドに値を割り当てるたびに実行されます。この値をパラメータとして使用し、独自の暗号化ロジックを作成することができます。
get
は、フィールドの値にアクセスするたびに実行されます。暗号化された値がパラメータとして取得され、そこに復号化ロジックを書き込むことができます。
decryptFunction
とencryptFunction
を入力する必要があります。
ただし、元の値でこれらのフィールドを照会することはできません。 mongodbはテキストが暗号化されていることを知らないので。