mongocli atlas dbuser create
The dbuser create
command creates a MongoDB database user
to access the specified Atlas cluster. You can also
create a MongoDB database user through the Atlas UI or
API.
Syntax
mongocli atlas dbuser create [ --awsIAMType <NONE|USER|ROLE> ] [ --deleteAfter <date-of-deletion> ] [ --ldapType <NONE|USER|GROUP>] [ --output|-o <output-format> ] [ --password|-p <password-of-user> ] [ --profile|-P <profile-name> ] [ --projectId <project-ID> ] --role <name-of-role> --username|-u <name-of-user> [ --x509Type <NONE|MANAGED|CUSTOMER> ]
Note
Use -h
or --help
to view the command-line help for
this command.
Options
Option | Type | Description | Required? | ||||||
---|---|---|---|---|---|---|---|---|---|
--awsIAMType | string | Authenticates the new database user with
AWS IAM credentials. If omitted, Atlas uses the default
value of Accepted values are:
If you set | no | ||||||
--ldapType | string | Authenticates the new database user with LDAP. If
omitted, Atlas uses the default value of Accepted values include:
If you set | no | ||||||
--deleteAfter | date | Timestamp in ISO 8601 date and time format in UTC after which Atlas deletes the user. The specified date must be in the future and within one week of the time you make the API request. NoteYou may include an ISO 8601 time zone designator to ensure that the expiration date occurs with respect to the local time in the specified time zone. Time zones are represented as an offset from UTC. ExampleTo delete a database user on August 1st, 2020, at 12:30pm in New York (Eastern Daylight Time), use the option:
| no | ||||||
--output , -o | string | Command output format. Valid values are:
If omitted, the command returns output in the default format. | no | ||||||
--password , -p | string | Password for authenticating the user to MongoDB.
Required if --awsIAMType , --ldapType , and --x509Type
are omitted or NONE , which means that the database user
authenticates with SCRAM-SHA . | no | ||||||
--profile , -P | string | Name of the profile where the public and private
keys for the project are saved. If omitted, uses the
default profile. To learn more about creating a
profile, see Configure the MongoDB CLI. | no | ||||||
--projectId | string | Unique identifier of the project. If omitted, uses the project ID in the profile or environment variable. | no | ||||||
--role | string or array of strings | Comma-separated list of user's roles and the databases
or collections on which the roles apply. A role allows the
user to perform particular actions on the specified database
or collection. To learn more about the list of
default roles, see MongoDB Database User Privileges. | yes | ||||||
--username , -u | string | Username for authenticating the user to MongoDB.
| yes | ||||||
--x509Type | string | Authenticates the new database user with X.509. If omitted,
Atlas uses the default value of Accepted values are:
If you set | no |
Output
The command prints the following fields in the specified format to the terminal if the command succeeds. If the command prints an error, see Troubleshooting for recommended solutions.
Field | Description | ||||||
---|---|---|---|---|---|---|---|
databaseName | User's authentication database. For MongoDB
deployment in Atlas, the authentication database is always the
admin database. | ||||||
groupId | Unique identifier of the Atlas project to which the user belongs. NoteGroups and projects are synonymous terms. Your {GROUP-ID} is the same as your project ID. | ||||||
roles | User's roles and the databases or collections on which the
roles apply. | ||||||
username | Username for authentication. | ||||||
ldapAuthType | Method by which the specified
| ||||||
x509Type | Method by which the specified
| ||||||
awsIAMType | Method by which the specified
| ||||||
deleteAfterDate | Timestamp in ISO 8601 date and time format in UTC after which Atlas deletes the user. This
field is only present if an expiration date was specified when
creating the entry. |
Examples
The examples below use the mongocli atlas dbuser create
command to
create a MongoDB database user to access the Atlas cluster. When the
command is run, it prints the Output Fields to the terminal.
Example 1
The following command creates a user with the following attributes:
Username:
user1
Password:
ChangeThisToAStrongPassword
Role:
atlasAdmin
The command uses the default profile to access Atlas and create the user.
mongocli atlas dbuser create --username user1 --password ChangeThisToAStrongPassword --role atlasAdmin@admin --output json --projectId 5e2211c17a3e5a48f5497de3
The previous command prints the following fields to the terminal. To learn more about these fields, see Output.
{ "roles": [{ "roleName": "atlasAdmin", "databaseName": "admin" }], "groupId": "5e2211c17a3e5a48f5497de3", "username": "user1", "databaseName": "admin", "ldapAuthType": "NONE", "x509Type": "NONE", "awsIAMType": "NONE" }
Example 2
The following commands show two ways to create a user with
readWriteAnyDatabase
and clusterMonitor
privileges. The
command uses the default profile to access the project, which contains
the API keys for accessing Atlas.
The following command shows the --role
option with
two privileges separated by a comma.
mongocli atlas dbuser create --username egUser --password ChangeThisToAStrongPassword --role readWriteAnyDatabase@admin,clusterMonitor@admin --projectId 5e2211c17a3e5a48f5497de3
The following command specifies the --role
option twice,
once for each privilege.
mongocli atlas dbuser create --username egUser --password ChangeThisToAStrongPassword --role readWriteAnyDatabase@admin --role clusterMonitor@admin --output json --projectId 5e2211c17a3e5a48f5497de3
The commands print the following fields to the terminal. To learn more about these fields, see Output.
{ "roles": [{ "roleName": "readWriteAnyDatabase", "databaseName": "admin" }, { "roleName": "clusterMonitor", "databaseName": "admin" } ], "groupId": "5e2211c17a3e5a48f5497de3", "username": "egUser", "databaseName": "admin", "ldapAuthType": "NONE", "x509Type": "NONE", "awsIAMType": "NONE" }
Example 3
The following command creates a temporary user with credentials that expire in one week.
Username:
tempUser
Password:
ChangeThisToAStrongPassword
Role:
clusterMonitor
Credential expiry date:
2020-07-31
The command uses the default profile to access Atlas and create the user.
mongocli atlas dbuser create --username tempUser --password ChangeThisToAStrongPassword --role clusterMonitor@admin --deleteAfter 2020-07-31 --output json --projectId 5e2211c17a3e5a48f5497de3
The previous command prints the following fields to the terminal. To learn more about these fields, see Output.
{ "roles": [{ "roleName": "clusterMonitor", "databaseName": "admin" }], "groupId": "5e2211c17a3e5a48f5497de3", "username": "tempUser", "databaseName": "admin", "ldapAuthType": "NONE", "x509Type": "NONE", "awsIAMType": "NONE", "deleteAfterDate": "2020-07-31T00:00:00Z" }