Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • 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.
Yandex IoT Core
  • Service shutdown
    • All guides
    • Sending messages
    • Subscribing a device or registry to receive messages
    • Exporting messages to Data Streams
    • Viewing a connection log
      • Getting information about a device
      • Creating a device
      • Updating a device
      • Deleting a device
    • Viewing operations with service resources
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes
  • FAQ
  1. Step-by-step guides
  2. Managing devices
  3. Creating a device

Creating a device

Written by
Yandex Cloud
Improved by
Danila N.
Updated at September 21, 2026
View in Markdown

Warning

Yandex IoT Core is no longer available to new users.

Current users can create resources until November 1, 2026. Afterwards, the service will go read-only and cease to operate on December 1, 2026. For more information on the timing and procedure, see Service shutdown.

Management console
CLI
Terraform
API
  1. In the management console, select the folder where you want to create your device.

  2. Navigate to IoT Core and select the registry of interest.

  3. Navigate to the Devices tab.

  4. Click Add device.

  5. Under General information, specify the following:

    • Device Name, e.g., my-device.

    • Optionally, Description with additional information about the device.

    • Optionally, Password to use when accessing the device. To create a password, you can use this password generator.

      Note

      Save the password, as you will need it for authentication.

  6. Optionally, add aliases:

    1. Click Add alias.
    2. Fill out the fields: enter an alias, e.g., events, and the topic type after $devices/<device_ID>, e.g., events. You will be able to use the events alias instead of the $devices/<device_ID>/events topic.
  7. Optionally, add a certificate:

    • To add a file:

      1. Click Add certificate.
      2. Select the File method.
      3. Click Attach file.
      4. Select the certificate’s public key file and click Open.
      5. Click Add.
    • To add text:

      1. Click Add certificate.
      2. Select the Text method.
      3. Paste the certificate’s public key into the Content field.
      4. Click Add.
  8. Click Create.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

  1. View the list of the registries where you can create a device or create a new registry.

  2. Create a device:

    yc iot device create \
       --registry-name <registry_name> \
       --name <device_name>
    

    The device naming requirements are as follows:

    • Length: between 3 and 63 characters.
    • It can only contain lowercase Latin letters, numbers, and hyphens.
    • It must start with a letter and cannot end with a hyphen.

    Result:

    id: b9135goeh**********
    registry_id: b91ki3851h**********
    created_at: "2019-05-28T16:08:30.938Z"
    name: <device_name>
    status: ACTIVE
    
  3. Optionally, set a password for the device for username and password authentication:

    yc iot device password add --device-name <device_name>
    

    You will be prompted to enter a password. Follow these password requirements:

    • The password must contain numbers, uppercase and lowercase letters, and special characters.
    • The password must be at least 14 characters long.

    Result:

    device_id: b9135goeh**********
    id: aoek49ghmk*********
    created_at: "2019-05-28T16:12:30.938Z"
    
  4. Optionally, add a certificate to the registry for certificate-based authentication:

    yc iot device certificate add \
       --device-name <device_name> \
       --certificate-file <certificate>
    

    Where:

    • --device-name: Device name.
    • --certificate-file: Path to the public key of the certificate, e.g., cert.pem.

    Result:

    device_id: b9135goeh**********
    fingerprint: 589ce16050****
    certificate_data: |
       -----BEGIN CERTIFICATE-----
       MIIE/jCCAuagAwIBAgIJAPRA...
       -----END CERTIFICATE-----
    created_at: "2019-05-28T16:15:30.938Z"
    
  5. Optionally, add aliases:

    yc iot device add-topic-aliases \
       --name <device_name> \
       --topic-aliases <alias>='<topic>'
    

    Here is an example:

    yc iot device add-topic-aliases \
       --name my-device \
       --topic-aliases events='$devices/are0ej5kpik1********/events'
    

    Result:

    id: aoek49ghmk*********
    registry_id: b91ki3851h**********
    created_at: "2019-05-28T16:17:30.938Z"
    name: <device_name>
    topic_aliases:
      <alias>: <topic>
    status: ACTIVE
    

With Terraform, you can quickly create a cloud infrastructure in Yandex Cloud and manage it using configuration files. These files store the infrastructure description written in HashiCorp Configuration Language (HCL). If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.

Terraform is distributed under the Business Source License. The Yandex Cloud provider for Terraform is distributed under the MPL-2.0 license.

For more information about the provider resources, see the guides on the Terraform website or its mirror.

If you do not have Terraform yet, install it and configure the Yandex Cloud provider.

To manage infrastructure using Terraform under a service account or user accounts (a Yandex account, a federated account, or a local user), authenticate using the appropriate method.

Note

To add certificates to a device, create them in advance.

To create a device:

  1. View the list of the registries where you can create a device or create a new registry.

  2. In the configuration file, describe the resource you want to create:

    • yandex_iot_core_device: Device properties:

      • registry_id: ID of the registry where you are creating your device.
      • name: Device name.
      • description: Device description.
      • aliases: Topic aliases. Read more in Creating an alias.
      • passwords: List of passwords for username and password authentication.
      • certificates: List of certificates for authentication with certificates.

    Note

    Use only one of the two authentication methods.

    Here is an example of a resource structure in the configuration file:

    resource "yandex_iot_core_device" "my_device" {
      registry_id = "<registry_ID>"
      name        = "test-device"
      description = "test device for terraform provider documentation"
      
      aliases = {
        "some-alias1/subtopic" = "$devices/{id}/events/somesubtopic",
        "some-alias2/subtopic" = "$devices/{id}/events/aaa/bbb",
      }
      
      passwords = [
        "<password>",
      ]
      
      certificates = [
        file("<certificate_file_path>")
      ]
    }
    

    For more information about resources you can create with Terraform, see this provider guide.

  3. Make sure the configuration files are correct.

    1. In the terminal, navigate to the directory where you created your configuration file.

    2. Run a check using this command:

      terraform plan
      

    If the configuration is correct, the terminal will display a list of the resources and their settings. Otherwise, Terraform will show any detected errors.

  4. Deploy the cloud resources.

    1. If the configuration is correct, run this command:

      terraform apply
      
    2. Confirm creating the resources.

    This will create all the resources you need in the specified folder. You can check the new resources and their settings using the management console.

To create a device, use the create REST API method for the Device resource or the DeviceService/Create gRPC API call.

Was the article helpful?

Previous
Getting information about a device
Next
Updating a device
© 2026 Direct Cursus Technology L.L.C.