当您使用客户数密钥管理进行静态加密时, 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文档。
步骤
启动 KMIP 代理独立运行。
打开终端或命令提示符窗口。
使用指定参数调用以下命令:
kmipProxyStandalone -awsAccessKeyId <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
授予临时Amazon Web Services安全凭证时使用的令牌。
awsRegion
Amazon Web ServicesAmazon Web ServicesAmazon Web 客户主密钥所在的 地区。
仅当您未在
/<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
进程。
使用指定参数调用以下命令:
注意
此命令仅适用于Atlas Enterprise 客户。
mongod --dbpath <dbpath> --port <mongodPort> --enableEncryption --kmipPort <kmipPort> --kmipServerName 127.0.0.1 --kmipServerCAFile <dbpath>/kmipCA.pem --kmipActivateKeys false --kmipClientCertificateFile <dbpath>/kmipClient.pem
Parameter | 说明 |
---|---|
|
|
|
|
| KMIP服务器侦听的端口。 |
| 用于验证客户端与KMIP服务器的安全连接的 CA 文件的路径。 |
| 对于MongoDB 服务器 v 5.2或更高版本,此标志指定是激活还是禁用MongoDB 服务器的密钥。 启动MongoDB 服务器时,此参数的值必须为 |
| 用于在KMIP服务器上对 MongoDB 进行身份验证的客户端证书的路径。 |
mongod
充当绑定到127.0.0.1
的KMIP服务器,并在指定的kmipPort
上运行。
连接到mongod
进程。
通过mongosh
、 MongoDB Compass或通过标准实用程序(例如mongodump或 mongorestore)连接到mongod
,访问您的数据文件。
您还可以使用静态加密来恢复快照。