Skip to content

Commit 8e7938a

Browse files
(DOCSP-12507): Add MutualTLS options (#398)
* (DOCSP-12507): Add MutualTLS options * Tech review
1 parent 5a02fda commit 8e7938a

File tree

4 files changed

+58
-2
lines changed

4 files changed

+58
-2
lines changed

source/includes/options-k8s-replica-set.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,20 @@ inherit:
338338
file: options-k8s-shared.yaml
339339
---
340340
program: k8sRsConf
341+
name: spec.security.authentication.requireClientTLSAuthentication
342+
inherit:
343+
name: spec.security.authentication.requireClientTLSAuthentication
344+
program: _shared
345+
file: options-k8s-shared.yaml
346+
---
347+
program: k8sRsConf
348+
name: spec.security.authentication.agents.clientCertificateSecretRef.name
349+
inherit:
350+
name: spec.security.authentication.agents.clientCertificateSecretRef.name
351+
program: _shared
352+
file: options-k8s-shared.yaml
353+
---
354+
program: k8sRsConf
341355
name: spec.security.authentication.enabled
342356
inherit:
343357
name: spec.security.authentication.enabled

source/includes/options-k8s-shared.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,21 @@ description: |
579579
Omit this setting if you want to manage authentication using the
580580
|com| UI or APIs.
581581
582+
---
583+
program: _shared
584+
name: spec.security.authentication.requireClientTLSAuthentication
585+
type: boolean
586+
directive: setting
587+
optional: true
588+
default: "``false``"
589+
description: |
590+
591+
Specifies whether the MongoDB host requires clients to connect using a |tls| certificate. If ``true``, you must:
592+
593+
- Specify a certificate for the {+mdbagent+} in
594+
:setting:`spec.security.authentication.agents.clientCertificateSecretRef.name`.
595+
- Set :setting:`spec.security.tls.enabled` to ``true``.
596+
582597
---
583598
program: _shared
584599
name: spec.security.authentication.ignoreUnknownUsers
@@ -1043,6 +1058,31 @@ description: |
10431058
``LDAP``.
10441059
---
10451060
program: _shared
1061+
name: spec.security.authentication.agents.clientCertificateSecretRef.name
1062+
type: string
1063+
directive: setting
1064+
optional: true
1065+
description: |
1066+
1067+
Specifies the |k8s-secret| that contains the {+mdbagent+}'s
1068+
|tls| certificate.
1069+
1070+
You must create this secret in the same namespace to which you
1071+
deploy the |k8s-op-short|:
1072+
1073+
.. code-block:: sh
1074+
1075+
kubectl create secret generic agent-cert \
1076+
--from-file=mms-automation-agent-pem=agent-cert.pem -n <namespace>
1077+
1078+
This secret must contain a ``mms-automation-agent-pem`` key, the value
1079+
of which is a |tls| certificate that can be validated by the server.
1080+
1081+
This setting is required if
1082+
:setting:`spec.security.authentication.requireClientTLSAuthentication` is ``true``.
1083+
1084+
---
1085+
program: _shared
10461086
name: spec.additionalMongodConfig.net.ssl.mode
10471087
type: string
10481088
directive: setting

source/reference/k8s-operator-specification.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ cluster resource types:
224224
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.enabled.rst
225225
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.modes.rst
226226
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.internalCluster.rst
227+
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.requireClientTLSAuthentication.rst
227228
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.ldap.rst
228229
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.ldap.servers.rst
229230
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.ldap.transportSecurity.rst
@@ -242,6 +243,7 @@ cluster resource types:
242243
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.agents.automationPasswordSecretRef.rst
243244
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.agents.automationPasswordSecretRef.name.rst
244245
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.agents.automationPasswordSecretRef.key.rst
246+
.. include:: /includes/option/setting-k8sRsConf-spec.security.authentication.agents.clientCertificateSecretRef.name.rst
245247
.. include:: /includes/option/setting-k8sRsConf-spec.security.roles.rst
246248
.. include:: /includes/option/setting-k8sRsConf-spec.security.roles.role.rst
247249
.. include:: /includes/option/setting-k8sRsConf-spec.security.roles.db.rst

source/release-notes.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ MongoDB Resource Changes
4040

4141
- Introduces new configuration fields:
4242

43-
- ``spec.security.authentication.requireClientTLSAuthentication`` for using
43+
- :setting:`spec.security.authentication.requireClientTLSAuthentication` for using
4444
the MongoDB Agent client certificate authentication in conjunction with any
4545
other authentication mechanism.
46-
- ``spec.security.authentication.agents.clientCertificateSecretRef`` for
46+
- :setting:`spec.security.authentication.agents.clientCertificateSecretRef` for
4747
configuring the client TLS certificate used by the MongoDB Agent when
4848
enabling ClientTLSAuthentication.
4949

0 commit comments

Comments
 (0)