访问加密快照
在此页面上
当您使用客户密钥管理进行静态加密时,Atlas 会对快照中的 mongod
数据文件进行加密。如果您要下载并恢复快照, mongod
则无法读取这些数据文件,除非它有权访问可提供相应解密密钥的 KMIP服务器。您可以使用KMIP代理独立版访问mongod
数据文件。您可以将KMIP代理独立版下载为适用于您的特定操作系统的二进制文件。
Considerations
默认情况下, KMIP独立代理使用存储在/<dbPath>/cloudProviderCredentials/<keyID>.<cloudProvider>.metadata
文件中的档案。
如果轮换密钥,这些凭证会反映最新的密钥轮换。
如果KMIP代理独立运行二进制文件无法使用这些档案解密快照,则二进制文件会显示一条错误消息,说明您必须更新磁盘上包含旧档案的元数据文件。 您可以使用任何文本编辑器更新元数据文件。
如果您对加密密钥使用基于角色的访问权限,则
/<dbPath>/cloudProviderCredentials/<keyID>.<cloudProvider>.metadata
文件将不包含有效的档案。执行以下操作之一:
更新
/<dbPath>/cloudProviderCredentials/<keyID>.<cloudProvider>.metadata
文件。 使用空的roleId
。 根据可以访问accessKeyId
和secretAccessKey
字段中的加密密钥的IAM角色提供临时档案:{ "accessKeyId": "TemporaryAccessKeyId", "secretAccessKey": "TemporarySecretAccessKey", "roleId": "", "region": "us-east-1" } 使用以下选项启动KMIP代理独立运行的实例二进制文件:
awsAccessKey
awsSecretAccessKey
awsSessionToken
awsRegion
要根据 IAM 角色生成临时档案,请参阅Amazon Web Services 文档。
步骤
在 AtlasClusters 中,转到项目的 页面。
如果尚未显示,请选择包含所需项目的组织导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
如果 Clusters(数据库部署)页面尚未出现,请单击侧边栏中的 Database(数据库)。
此时会显示“集群”页面。
转到集群的Backup 页面。
单击集群的名称。
单击 Backup 标签页。
如果集群没有Backup标签页,则禁用该集群的 Atlas 备份,并且没有可用的快照。您可以在扩展集群时启用备份。
显示“备份”页面。
下载 KMIP 代理独立运行的实例。
在Preparing Snapshot Download模式中,单击Download KMIP Proxy并选择适合您操作系统的二进制文件。
提示
您还可以执行以下步骤之一来访问download KMIP Proxy Standalone链接:
单击 Restores & Downloads 标签页。
在 Atlas 中,进入项目的 Advanced 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击Security标题下的Advanced 。
显示“高级”页面。
该链接将显示在Encryption at Rest using your Key Management部分。
启动 KMIP 代理独立运行。
打开终端或命令提示符窗口。
使用指定参数调用以下命令:
kmipProxyStandalone -awsAccessKey <accessKey> -awsSecretAccessKey <secretAccessKey> \ -awsSessionToken <token> -awsRegion <region> -cloudProvider aws \ -dbpath <dbpath> -kmipPort <kmipPort> -mongodPort <mongodPort> Parameter说明awsAccessKey
有权访问客户主密钥的IAM访问密钥 ID。
仅当您未在
/<dbPath>/cloudProviderCredentials/<keyID>.<cloudProvider>.metadata
文件中指定accessKeyId
时才为必填项。awsSecretAccessKey
有权访问客户主密钥的IAM秘密访问密钥。
仅当您未在
/<dbPath>/cloudProviderCredentials/<keyID>.<cloudProvider>.metadata
文件中指定secretAccessKey
时才为必填项。awsSessionToken
授予临时AWS安全凭证时使用的令牌。awsRegion
AWS 客户主密钥所在的 AWS 区域。
仅当您未在
/<dbPath>/cloudProviderCredentials/<keyID>.<cloudProvider>.metadata
文件中指定region
时才为必填项。cloudProvider
您的云服务提供商。值必须是aws
。dbpath
要为其创建代理的mongod
数据目录的路径。kmipPort
运行KMIP代理的端口。mongodPort
运行mongod
的端口。kmipProxyStandalone -cloudProvider <azure|gcp> -dbpath <dbpath> \ -kmipPort <kmipPort> -mongodPort <mongodPort> Parameter说明cloudProvider
您的云服务提供商。有效值为azure
或gcp
。dbpath
要为其创建代理的mongod
数据目录的路径。kmipPort
运行KMIP代理的端口。mongodPort
运行mongod
的端口。
KMIP代理独立版为localhost
生成KMIP证书并将其写入dbpath
。
启动mongod
进程。
使用指定参数调用以下命令:
mongod --dbpath <dbpath> --port <mongodPort> --enableEncryption --kmipPort <kmipPort> --kmipServerName 127.0.0.1 --kmipServerCAFile <dbpath>/kmipCA.pem --kmipActivateKeys false --kmipClientCertificateFile <dbpath>/kmipClient.pem
Parameter | 说明 |
---|---|
dbpath | mongod 存储数据的目录路径。 |
port | mongod 侦听客户端连接的端口。 |
kmipPort | KMIP服务器侦听的端口。 |
kmipServerCAFile | 用于验证客户端与KMIP服务器的安全连接的 CA 文件的路径。 |
kmipActivateKeys | 对于 MongoDB Server v 5 。 2或更高版本的标志,用于指定是激活还是禁用 MongoDB 服务器的密钥。启动 MongoDB Server 时,此参数的值必须为 false 。 |
kmipClientCertificateFile | 用于在KMIP服务器上对 MongoDB 进行身份验证的客户端证书的路径。 |
mongod
充当绑定到127.0.0.1
的KMIP服务器,并在指定的kmipPort
上运行。
连接到mongod
进程。
通过mongosh
、 MongoDB Compass或通过标准实用程序(例如mongodump或 mongorestore)连接到mongod
,访问您的数据文件。
您还可以使用静态加密来恢复快照。