从密钥文件身份验证升级到 x.509 身份验证

在本页面

要将当前使用keyfile authentication的群集升级到 x.509 身份验证,请使用以下滚动升级过程。

当前使用 TLS/SSL 的群集

对于使用 TLS/SSL 和密钥文件身份验证的群集,要升级到 x.509 群集身份验证,请使用以下滚动升级过程:

mongod --replSet <name> --sslMode requireSSL --clusterAuthMode sendKeyFile --sslClusterFile <path to membership certificate and key PEM file> --sslPEMKeyFile <path to TLS/SSL Certificate and key PEM file>  --sslCAFile <path to root CA PEM file> --bind_ip localhost,<ip address>

使用此设置,每个节点将 continue 使用其密钥文件来将自己认证为成员。但是,每个节点现在都可以接受其他成员的密钥文件或 x.509 证书以对那些成员进行身份验证。将群集的所有节点升级到此设置。

db.adminCommand( { setParameter: 1, clusterAuthMode: "sendX509" } )

使用此设置,每个节点将使用在上一步中使用--sslClusterFile选项指定的 x.509 证书来将自己认证为成员。但是,每个节点 continue 接受来自其他成员的密钥文件或 x.509 证书以对那些成员进行身份验证。将群集的所有节点升级到此设置。

db.adminCommand( { setParameter: 1, clusterAuthMode: "x509" } )

有关各种模式及其说明,请参见--clusterAuthMode

当前未使用 TLS/SSL 的群集

对于使用密钥文件身份验证而非 TLS/SSL 的群集,要升级到 x.509 身份验证,请使用以下滚动升级过程:

mongod --replSet <name> --sslMode allowSSL --clusterAuthMode sendKeyFile --sslClusterFile <path to membership certificate and key PEM file> --sslPEMKeyFile <path to TLS/SSL certificate and key PEM file> --sslCAFile <path to root CA PEM file> --bind_ip localhost,<ip address>

--sslMode allowSSL设置允许节点接受 TLS/SSL 和非 TLS /非 SSL 传入连接。它的传出连接不使用 TLS/SSL。

--clusterAuthMode sendKeyFile设置允许每个节点 continue 使用其密钥文件来将自己认证为成员。但是,每个节点现在都可以接受其他成员的密钥文件或 x.509 证书以对那些成员进行身份验证。

将群集的所有节点升级到这些设置。

db.adminCommand( { setParameter: 1, sslMode: "preferSSL", clusterAuthMode: "sendX509" } )

sslMode设置为preferSSL的情况下,该节点接受 TLS/SSL 和非 TLS /非 SSL 传入连接,并且其传出连接使用 TLS/SSL。

clusterAuthMode设置为sendX509的情况下,每个节点都使用在上一步中使用--sslClusterFile选项指定的 x.509 证书来将自己认证为成员。但是,每个节点 continue 接受来自其他成员的密钥文件或 x.509 证书以对那些成员进行身份验证。

将群集的所有节点升级到这些设置。

db.adminCommand( { setParameter: 1, sslMode: "requireSSL", clusterAuthMode: "x509" } )

sslMode设置为requireSSL时,该节点仅使用 TLS/SSL 连接。

clusterAuthMode设置为x509时,该节点仅使用 x.509 证书进行身份验证。

有关各种模式及其说明,请参见--clusterAuthMode

[1] *(1234)*除了使用setParameter命令之外,还可以使用适当的 TLS/SSL 和 x509 选项和值重新启动节点。
首页