The security features of MongoDB Atlas
Overview of MongoDB Atlas Security Features
MongoDB Atlas, as a fully managed cloud database service, provides multi-layered security mechanisms to ensure the safety of user data during storage, transmission, and usage. From network isolation to data encryption, access control to audit logging, Atlas establishes a comprehensive security framework.
Network Isolation and Access Control
Atlas enables private network connections through VPC Peering and PrivateLink, ensuring database instances are not exposed to the public internet. The IP whitelist feature allows administrators to precisely control which IP addresses can access the database cluster.
// Example: Connecting to an Atlas cluster using the MongoDB Node.js driver
const { MongoClient } = require('mongodb');
const uri = "mongodb+srv://<username>:<password>@cluster0.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri, {
tls: true,
tlsAllowInvalidCertificates: false,
connectTimeoutMS: 30000,
socketTimeoutMS: 30000
});
For network encryption, Atlas enables TLS 1.2+ by default for all client connections, supporting certificate validation and SCRAM-SHA authentication mechanisms.
Data Encryption Protection
Atlas offers two data encryption methods:
- Transit Encryption: All inter-node communications are encrypted using TLS 1.2 protocol.
- Encryption at Rest: Default encryption using keys managed by AWS KMS, Azure Key Vault, or Google Cloud KMS.
For scenarios requiring higher security, Atlas supports customer-managed keys (CMK) for encryption:
// Example of client-side field-level encryption
const { ClientEncryption } = require('mongodb-client-encryption');
const encryption = new ClientEncryption(client, {
keyVaultNamespace: 'encryption.__keyVault',
kmsProviders: {
aws: {
accessKeyId: '<AWS_ACCESS_KEY>',
secretAccessKey: '<AWS_SECRET_KEY>'
}
}
});
Granular Access Control
Atlas implements a Role-Based Access Control (RBAC) system:
- Database User Roles: read, readWrite, dbAdmin, etc.
- Cluster Management Roles: clusterMonitor, backup, restore, etc.
- Atlas Management Roles: Project Owner, Organization Owner, etc.
Custom roles enable field-level permission control:
{
"role": "restrictedAccess",
"privileges": [
{
"resource": {
"db": "medical",
"collection": "records",
"fields": [
{"name": "patientId", "read": true},
{"name": "diagnosis", "read": false}
]
},
"actions": ["find"]
}
],
"roles": []
}
Auditing and Compliance
Atlas’s audit logging feature records all database operations, including:
- Authentication events (success/failure)
- CRUD operations
- Collection management operations
- User and role changes
Audit logs can be exported in JSON or CSV format and integrated into SIEM systems. Atlas also complies with multiple certifications:
- SOC 2 Type II
- HIPAA
- GDPR
- ISO 27001
Advanced Security Features
LDAP Integration: Enterprise users can authenticate to Atlas using existing LDAP directory services.
// Example LDAP authentication configuration
{
"ldap": {
"servers": "ldap.example.com",
"bind": {
"queryUser": "cn=admin,dc=example,dc=com",
"queryPassword": "password"
},
"userToDNMapping": [
{
"match": "(.+)",
"substitution": "uid={0},ou=users,dc=example,dc=com"
}
]
}
}
Temporary Access: Short-term MongoDB users can be created to issue temporary credentials with minute-level precision.
Anomaly Detection: Atlas uses machine learning algorithms to analyze query patterns, automatically flagging suspicious activities such as potential data exfiltration attempts.
本站部分内容来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了你的权益请来信告知我们删除。邮箱:cc@cccx.cn
上一篇:网络安全与防火墙配置
下一篇:备份策略(逻辑备份、物理备份)