:original_name: dds_03_0057.html .. _dds_03_0057: Managing Database Accounts ========================== Scenarios --------- This section guides you through how to create a database account and change the account password to manage the instances you created. .. note:: When creating a database account for a specified DB instance, you are advised to enable the SSL connection to improve data security. **Prerequisites** ----------------- A DDS DB instance has been connected. - For details on how to connect to a cluster instance, see :ref:`Connecting to a DB Instance Through a Client `. - For details on how to connect to a replica set instance, see :ref:`Connecting to a DB Instance Through a Client `. Account Description ------------------- To provide management services for DDS DB instances, users **root**, **monitor**, and **backup** are created when you create a DDS DB instance. Attempting to delete, rename, change the passwords, or change privileges for these accounts will result in errors. You can change the password of the database administrator **rwuser** and any accounts you create. Setting Password Strength for Database Accounts ----------------------------------------------- - The administrator password must meet the following password policy: - 8 to 32 characters in length - A combination of uppercase letters, lowercase letters, digits, and special characters: ``~!@#%^*-_=+?`` - The DDS instance database uses comprehensive password security policies. The password of a DDS instance database account must meet the following conditions: - 8 to 32 characters in length - A combination of uppercase letters, lowercase letters, digits, and special characters: ``~!@#%^*-_=+?`` When you create a DB instance, the system automatically checks your password strength. You can change the password as user **rwuser**. For security reasons, you are advised to set up a strong password. Creating an Account ------------------- #. Run the following command to select the admin database: **use admin** #. Run the following command to create a database account (**user1** as an example): **db.createUser({user: "user1", pwd: "**\ *Test_12345*\ **", passwordDigestor:"server", roles:[{role: "root", db: "admin"}]})** - **server**: indicates that the password is encrypted on the server. - **Test_12345**: indicates the example new password. The password must be 8 to 32 characters in length and contain uppercase letters, lowercase letters, digits, and special characters, such as ``~@#%-_!*+=^?`` - **roles** restricts the rights of the account. If an empty array is specified, the account does not have any permission. #. Check the result: The account is successfully created if the following information is displayed: .. code-block:: Successfully added user: { "user" : "user1", "passwordDigestor" : "server", "roles" : [ { "role" : "root", "db" : "admin" } ] } Changing a Password ------------------- #. Run the following command to select the admin database: **use admin** #. Uses user **user1** as an example. Run the following command to change its password: **db.updateUser("user1", {passwordDigestor:"server",pwd:"newPasswd12#"})** - **server**: indicates that the password is encrypted on the server. - **newPasswd12#**: indicates the example new password. The password must be 8 to 32 characters in length and contain uppercase letters, lowercase letters, digits, and special characters, such as ``~@#%-_!*+=^?`` #. Check the setting result. The password is successfully changed if the following information is displayed: - Cluster .. code-block:: mongos> - Replica set .. code-block:: replica:PRIMARY>