Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Terraform in Yandex Cloud
  • Getting started
  • Setting up Yandex Cloud Terraform provider authentication
  • Solution library
    • Overview
    • Release notes
          • mdb_mongodb_backup_retention_policy
          • mdb_mongodb_cluster
          • mdb_mongodb_cluster_iam_binding
          • mdb_mongodb_database
          • mdb_mongodb_user

In this article:

  • Example usage
  • Arguments & Attributes Reference
  • Import
  1. Terraform reference
  2. Resources
  3. Managed Service for MongoDB
  4. Resources
  5. mdb_mongodb_user

yandex_mdb_mongodb_user (Resource)

Written by
Yandex Cloud
Updated at July 9, 2026
View in Markdown
  • Example usage
  • Arguments & Attributes Reference
  • Import

Manages a MongoDB user within the Yandex Cloud. For more information, see the official documentation.

Example usageExample usage

//
// Create a new MDB MongoDB User.
//
resource "yandex_mdb_mongodb_user" "my_user" {
  cluster_id = yandex_mdb_mongodb_cluster.my_cluster.id
  name       = "alice"
  password   = "password"
}

resource "yandex_mdb_mongodb_cluster" "my_cluster" {
  name        = "test"
  environment = "PRESTABLE"
  network_id  = yandex_vpc_network.foo.id

  cluster_config {
    version = "6.0"
  }

  host {
    zone_id   = "ru-central1-d"
    subnet_id = yandex_vpc_subnet.foo.id
  }
  resources_mongod {
    resource_preset_id = "s2.micro"
    disk_type_id       = "network-ssd"
    disk_size          = 16
  }
}

// Auxiliary resources
resource "yandex_vpc_network" "foo" {}

resource "yandex_vpc_subnet" "foo" {
  zone           = "ru-central1-d"
  network_id     = yandex_vpc_network.foo.id
  v4_cidr_blocks = ["10.5.0.0/24"]
}
//
// Create a new MDB MongoDB user authenticated via IAM.
//
// An IAM user is identified by the ID of an IAM subject (for example, a
// service account) and authenticates with IAM tokens, so it has no password.
//
resource "yandex_iam_service_account" "my_sa" {
  name = "mongodb-iam-user"
}

resource "yandex_mdb_mongodb_user" "my_iam_user" {
  cluster_id = yandex_mdb_mongodb_cluster.my_cluster.id
  name       = yandex_iam_service_account.my_sa.id
  auth_type  = "IAM"

  permission {
    database_name = "db1"
    roles         = ["readWrite"]
  }
}

Arguments & Attributes ReferenceArguments & Attributes Reference

  • auth_type (String). The authentication type of the user. Either PASSWORD (default) or IAM.
  • cluster_id (Required)(String). The ID of the cluster to which user belongs to.
  • deletion_protection (Bool). Inhibits deletion of the user.
  • id (Read-Only) (String). The resource identifier.
  • name (Required)(String). The name of the user.
  • password (String). The password of the user. Required for users with PASSWORD authentication and must be omitted for users with IAM authentication.
  • timeouts [Block].
    • create (String). A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    • delete (String). A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    • update (String). A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
  • permission [Block]. Set of permissions granted to the user.
    • database_name (Required)(String). The name of the database that the permission grants access to.
    • roles (Set Of String). The roles of the user in this database. For more information see the official documentation.

ImportImport

The resource can be imported by using their resource ID. For getting it you can use Yandex Cloud Web Console or Yandex Cloud CLI.

# terraform import yandex_mdb_mongodb_user.<resource Name> <cluster_id>:<database_name>
terraform import yandex_mdb_mongodb_user.my_user ...:my_user

Was the article helpful?

Previous
mdb_mongodb_database
Next
mdb_mysql_backup_retention_policy
© 2026 Direct Cursus Technology L.L.C.