1
1
.. _authentication-scram:
2
2
3
-
4
-
5
3
=====
6
4
SCRAM
7
5
=====
@@ -14,46 +12,32 @@ SCRAM
14
12
:depth: 1
15
13
:class: singlecol
16
14
17
- .. note::
15
+ Salted Challenge Response Authentication Mechanism (SCRAM) is the
16
+ default authentication mechanism for MongoDB.
18
17
19
- Starting in version 4.0, MongoDB removes support for the deprecated
20
- MongoDB Challenge-Response (``MONGODB-CR``) authentication mechanism.
18
+ When a user :ref:`authenticates <authentication-auth-as-user>`
19
+ themselves, MongoDB uses SCRAM to verify the supplied user credentials
20
+ against the user's :data:`name <admin.system.users.user>`,
21
+ :data:`password <admin.system.users.credentials>` and
22
+ :data:`authentication database <admin.system.users.db>`.
21
23
22
- If your deployment has user credentials stored in ``MONGODB-CR``
23
- schema, you must upgrade to SCRAM **before** you upgrade to version
24
- 4.0. For information on upgrading to ``SCRAM``, see
25
- :doc:`/release-notes/3.0-scram`.
26
-
27
- Salted Challenge Response Authentication Mechanism (SCRAM) is the
28
- default authentication mechanism for MongoDB. SCRAM is based on the
29
- IETF `RFC 5802 <https://tools.ietf.org/html/rfc5802>`_ standard that
30
- defines best practices for implementation of challenge-response
31
- mechanisms for authenticating users with passwords.
32
-
33
- Using SCRAM, MongoDB verifies the supplied user credentials against the
34
- user's :data:`name <admin.system.users.user>`, :data:`password
35
- <admin.system.users.credentials>` and :data:`authentication database
36
- <admin.system.users.db>`. The authentication database is the database
37
- where the user was created, and together with the user's name, serves
38
- to identify the user.
24
+ SCRAM is based on the IETF `RFC 5802
25
+ <https://tools.ietf.org/html/rfc5802>`_ standard that defines best
26
+ practices for the implementation of challenge-response mechanisms for
27
+ authenticating users with passwords.
39
28
40
29
.. _authentication-scram-sha-1:
41
-
42
30
.. _authentication-scram-sha-256:
43
-
44
31
.. _scram-features:
45
32
46
33
Features
47
34
--------
48
35
49
36
MongoDB's implementation of SCRAM provides:
50
37
51
- - A tunable work factor (i.e. the iteration count),
52
-
53
- - Per-user random salts, and
54
-
55
- - Authentication of the server to the client as well as the client to the
56
- server.
38
+ - A tunable work factor (the iteration count)
39
+ - Per-user random salts
40
+ - Bi-directional authentication between server and client
57
41
58
42
.. _scram-mechanisms:
59
43
@@ -69,35 +53,34 @@ MongoDB supports the following SCRAM mechanisms:
69
53
* - SCRAM Mechanism
70
54
- Description
71
55
72
- * - ``SCRAM-SHA-1``
56
+ * - ``SCRAM-SHA-1``
73
57
74
58
- Uses the SHA-1 hashing function.
75
59
76
60
To modify the iteration count for ``SCRAM-SHA-1``, see
77
61
:parameter:`scramIterationCount`.
78
62
79
- * - ``SCRAM-SHA-256``
63
+ * - ``SCRAM-SHA-256``
80
64
81
- - Uses the SHA-256 hashing function and requires
82
- featureCompatibilityVersion (``fcv``) set to ``4.0``.
65
+ - Uses the SHA-256 hashing function.
83
66
84
67
To modify the iteration count for ``SCRAM-SHA-256``, see
85
68
:parameter:`scramSHA256IterationCount`.
86
69
87
- .. versionadded:: 4.0
88
70
89
- When creating or updating a SCRAM user, you can indicate the specific
90
- SCRAM mechanism as well as indicate whether the server or the client
91
- digests the password. When using ``SCRAM-SHA-256``, MongoDB requires
92
- server-side password hashing, i.e. the server digests the password. For
93
- details, see :method:`db.createUser()` and :method:`db.updateUser()`.
71
+ When you create or update a SCRAM user, you can indicate:
72
+
73
+ - the SCRAM mechanism to use
74
+ - whether the server or the client digests the password
75
+
76
+ When you use ``SCRAM-SHA-256``, MongoDB requires server-side password
77
+ hashing, which means that the server digests the password. For more
78
+ information, see :method:`db.createUser()` and
79
+ :method:`db.updateUser()`.
94
80
95
81
Driver Support
96
82
--------------
97
83
98
- To use SCRAM, you must upgrade your driver if your current driver
99
- version does not support ``SCRAM``.
100
-
101
84
The minimum driver versions that support ``SCRAM`` are:
102
85
103
86
.. |driver-compatibility-heading| replace:: Version
@@ -107,12 +90,16 @@ The minimum driver versions that support ``SCRAM`` are:
107
90
Additional Information
108
91
----------------------
109
92
110
- - `Blog Post: Improved Password-Based Authentication in MongoDB 3.0: SCRAM
111
- Explained (Part 1)
93
+ - `Blog Post: Improved Password-Based Authentication: SCRAM Explained (Part 1)
112
94
<https://www.mongodb.com/blog/post/improved-password-based-authentication-mong
113
95
odb-30-scram-explained-part-1?tck=docs_server>`_
114
96
115
- - `Blog Post: Improved Password-Based Authentication in MongoDB 3.0: SCRAM
116
- Explained (Part 2)
97
+ - `Blog Post: Improved Password-Based Authentication: SCRAM Explained (Part 2)
117
98
<https://www.mongodb.com/blog/post/improved-password-based-authentication-mong
118
99
odb-30-scram-explained-part-2?tck=docs_server>`_
100
+
101
+ .. toctree::
102
+ :titlesonly:
103
+ :hidden:
104
+
105
+ /tutorial/configure-scram-client-authentication
0 commit comments