[Документация Yandex Cloud](../../../index.md) > [Yandex IoT Core](../../index.md) > [Пошаговые инструкции](../index.md) > Управление паролями > Управление паролями устройства

# Управление паролями устройства

{% note warning %}

Сервис Yandex IoT Core больше не доступен для новых пользователей. 

Текущие пользователи могут создавать ресурсы до 1 ноября 2026 года. После сервис перейдет в режим read-only, а 1 декабря 2026 года — прекратит работу. Подробнее о сроках и порядке закрытия читайте на странице [Закрытие сервиса](../../sunset.md).

{% endnote %}

Чтобы начать обмен данными и командами между устройствами и реестрами, необходимо [авторизоваться](../../concepts/authorization.md). В данном разделе описано, как управлять паролями устройства для соответствующего способа авторизации.

{% note info %}

Если X.509 сертификат используется вместе с паролем, приоритет пароля выше.

{% endnote %}

* [Добавить пароль](#create-or-add)
* [Посмотреть список паролей](#list)
* [Удалить пароль](#delete)

## Добавить пароль устройству {#create-or-add}

Вы можете добавить пароль уже созданному устройству или задать его при создании устройства с помощью параметра `--password`.

{% note info %}

Задать пароль можно также из потока ввода. Для этого используйте флаг `--read-password` вместо параметра `--password`.

{% endnote %}

### Добавить пароль уже созданному устройству {#add}

{% list tabs group=instructions %}

- Консоль управления {#console}

   Чтобы добавить пароль уже созданному устройству:

   1. В [консоли управления](https://console.yandex.cloud) выберите каталог, в котором вы хотите добавить пароль уже созданному устройству.
   1. Перейдите в сервис **IoT Core**.
   1. Выберите в списке реестр с нужным устройством.
   1. В левой части окна выберите раздел **Устройства**.
   1. Выберите в списке нужное устройство.
   1. В блоке **Пароли** нажмите кнопку **Добавить пароль**.
   1. В поле **Пароль** введите пароль, который вы будете использовать для доступа к устройству.<br/>Для создания пароля можно воспользоваться [генератором паролей](https://passwordsgenerator.net/).<br/>Не забудьте сохранить пароль, он вам понадобится.
   1. Нажмите кнопку **Добавить**.

- CLI {#cli}
  
    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).

    Чтобы добавить пароль: 
    1. Получите список устройств в реестре: 
    
        ```
        yc iot device --registry-name my-registry list
        ```
		
		Результат:
		```
		+----------------------+--------+
        |          ID          |  NAME  |
        +----------------------+--------+
        | arenak5ciqss******** | second |
        | areqjd6un3af******** | first  |
        +----------------------+--------+
        ```    
    1. Добавьте пароль устройству:
    
        ```
        yc iot device password add --device-name first --password Passw0rdForDevice
        ```
		
		Результат:
		```
		device_id: areqjd6un3af********
        id: areqjd6un3af********
        created_at: "2019-12-16T15:11:36.892167Z"
        ```

- Terraform {#tf}

  [Terraform](https://www.terraform.io/) позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
  
  Terraform распространяется под лицензией [Business Source License](https://github.com/hashicorp/terraform/blob/main/LICENSE), а [провайдер Yandex Cloud для Terraform](https://github.com/yandex-cloud/terraform-provider-yandex) — под лицензией [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/).
  
  Подробная информация о ресурсах провайдера в документации на сайте [Terraform](https://www.terraform.io/docs/providers/yandex/index.html) или в [зеркале](../../../terraform/index.md).
  
  Если у вас еще нет Terraform, [установите его и настройте провайдер Yandex Cloud](../../../tutorials/infrastructure-management/terraform-quickstart.md#install-terraform).
  
  
  Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, [аутентифицируйтесь](../../../terraform/authentication.md) соответствующим способом.

  Чтобы добавить пароль устройству, созданному с помощью Terraform:
  
  1. Опишите в конфигурационном файле параметры ресурса, которые необходимо создать:

     * `yandex_iot_core_device` — параметры устройства:
       * `registry_id` — [идентификатор реестра](../registry/registry-list.md#registry-list), в котором создано устройство.
       * `name` — [имя устройства](../device/device-list.md#device-list).
       * `description` — описание устройства.
       * `passwords` — список паролей для аутентификации с помощью [логина и пароля](../../concepts/authorization.md#log-pass).

      Пример структуры ресурса в конфигурационном файле:

      ```hcl
      resource "yandex_iot_core_device" "my_device" {
        registry_id = "<идентификатор_реестра>"
        name        = "<имя_устройства>"
        description = "test device for terraform provider documentation"
      ...
        passwords = [
          "<пароль>",
        ]
      ...
      }
      ```

      Подробнее о параметрах ресурса `yandex_iot_core_device` в [документации провайдера](../../../terraform/resources/iot_core_device.md).
  1. В командной строке перейдите в папку, где вы отредактировали конфигурационный файл.
  1. Проверьте корректность конфигурационного файла с помощью команды:

      ```bash
      terraform validate
      ```
     
      Если конфигурация является корректной, появится сообщение:
     
      ```bash
      Success! The configuration is valid.
      ```

  1. Выполните команду:

      ```bash
      terraform plan
      ```
  
      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
  1. Примените изменения конфигурации:

      ```bash
      terraform apply
      ```
     
  1. Подтвердите изменения: введите в терминале слово `yes` и нажмите **Enter**.

      Проверить пароли устройства можно в [консоли управления](https://console.yandex.cloud) или с помощью команды [CLI](../../../cli/quickstart.md):

      ```bash
      yc iot device password list --device-name <имя_устройства>
      ```

- API {#api}

  Чтобы добавить пароль устройству, воспользуйтесь методом REST API [addPassword](../../api-ref/Device/addPassword.md) для ресурса [Device](../../api-ref/Device/index.md) или вызовом gRPC API [DeviceService/AddPassword](../../api-ref/grpc/Device/addPassword.md).

{% endlist %}

### Задать пароль устройству при создании {#create}

{% list tabs group=instructions %}

- Консоль управления {#console}

   Как задать пароль устройству при создании, читайте в разделе [Создание устройства](../device/device-create.md).

- CLI {#cli}
  
    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).
    
    По умолчанию используется каталог, указанный при [создании](../../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
    
    Чтобы задать пароль при создании:
    1. Получите список реестров в каталоге: 
        
        ```
        yc iot registry list
		```
		
		Результат:
		```
        +----------------------+-------------------+
        |          ID          |       NAME        |
        +----------------------+-------------------+
        | arenou2oj4ct******** | my-registry       |
        +----------------------+-------------------+
        ```
    1. Создайте устройство с паролем:       
    
        ```
        yc iot device create --registry-name my-registry --name device-with-pass --password Passw0rdForDevice
        ```
		
		Результат:
		```
		id: arepomfambsg********
        registry_id: arenou2oj4ct********
        created_at: "2019-12-16T15:18:39.358922Z"
        name: device-with-pass
        ```

- Terraform {#tf}

   Как задать пароль устройству при создании, читайте в разделе [Создание устройства](../device/device-create.md).

- API {#api}

  Чтобы задать пароль устройству при создании, воспользуйтесь методом REST API [create](../../api-ref/Device/create.md) для ресурса [Device](../../api-ref/Device/index.md) или вызовом gRPC API [DeviceService/Create](../../api-ref/grpc/Device/create.md).

{% endlist %}

## Получить список паролей устройства {#list}

{% list tabs group=instructions %}

- Консоль управления {#console}

   Чтобы просмотреть список паролей устройства:

   1. В [консоли управления](https://console.yandex.cloud) выберите каталог, в котором вы хотите получить список паролей устройства.
   1. Перейдите в сервис **IoT Core**.
   1. Выберите в списке реестр с нужным устройством.
   1. В левой части окна выберите раздел **Устройства**.
   1. Выберите в списке нужное устройство.
   1. На странице **Обзор** перейдите к разделу **Пароли**.

   В разделе **Пароли** отобразится список паролей устройства.

- CLI {#cli}
  
    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).
    
    По умолчанию используется каталог, указанный при [создании](../../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
    
    Чтобы получить список паролей:  
    1. Получите список устройств в реестре: 
    
        ```
        yc iot device --registry-name my-registry list
        ```
		
		Результат:
		```
		+----------------------+------------------+
        |          ID          |       NAME       |
        +----------------------+------------------+
        | arenak5ciqss******** | second           |
        | arepomfambsg******** | device-with-pass |
        | areqjd6un3af******** | first            |
        +----------------------+------------------+
        ```
    1. Получите список паролей устройства: 
    
        ```
        yc iot device password list --device-name device-with-pass
        ```
		
		Результат:
		```
		+----------------------+---------------------+
        |          ID          |     CREATED AT      |
        +----------------------+---------------------+
        | areuin5t7pnd******** | 2019-12-16 15:18:39 |
        +----------------------+---------------------+
        ```

- API {#api}

  Чтобы получить список паролей устройства, воспользуйтесь методом REST API [listPasswords](../../api-ref/Device/listPasswords.md) для ресурса [Device](../../api-ref/Device/index.md) или вызовом gRPC API [DeviceService/ListPasswords](../../api-ref/grpc/Device/listPasswords.md).

{% endlist %}
   
## Удалить пароль устройства {#delete}

{% list tabs group=instructions %}

- Консоль управления {#console}

   Чтобы удалить пароль устройства:

   1. В [консоли управления](https://console.yandex.cloud) выберите каталог, в котором вы хотите удалить пароль устройства.
   1. Перейдите в сервис **IoT Core**.
   1. Выберите в списке реестр с нужным устройством.
   1. В левой части окна выберите раздел **Устройства**.
   1. Выберите в списке нужное устройство.
   1. В строке с нужным паролем нажмите значок ![image](../../../_assets/console-icons/ellipsis.svg), в выпадающем списке выберите **Удалить**.
   1. В открывшемся окне нажмите кнопку **Удалить**.

- CLI {#cli}
  
    Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), [установите и инициализируйте его](../../../cli/quickstart.md#install).
    
    По умолчанию используется каталог, указанный при [создании](../../../cli/operations/profile/profile-create.md) профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду `yc config set folder-id <идентификатор_каталога>`. Также для любой команды вы можете указать другой каталог с помощью параметров `--folder-name` или `--folder-id`. Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
    
    Чтобы удалить пароль:  
    1. Получите список паролей устройства: 
    
        ```
        yc iot device password list --device-name device-with-pass
        ```
		
		Результат:
		```
		+----------------------+---------------------+
        |          ID          |     CREATED AT      |
        +----------------------+---------------------+
        | areuin5t7pnd******** | 2019-12-16 15:18:39 |
        +----------------------+---------------------+
        ```
    1. Удалите пароль: 
        ```
        yc iot device password delete --device-name device-with-pass --password-id areuin5t7pnd********
        ```
    1. Убедитесь, что пароль действительно удален: 
        
        ```
        yc iot device password list --device-name device-with-pass
        ```
		
		Результат:
		```
		+----+------------+
        | ID | CREATED AT |
        +----+------------+
        +----+------------+
        ```

- Terraform {#tf}

  [Terraform](https://www.terraform.io/) позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.
  
  Terraform распространяется под лицензией [Business Source License](https://github.com/hashicorp/terraform/blob/main/LICENSE), а [провайдер Yandex Cloud для Terraform](https://github.com/yandex-cloud/terraform-provider-yandex) — под лицензией [MPL-2.0](https://www.mozilla.org/en-US/MPL/2.0/).
  
  Подробная информация о ресурсах провайдера в документации на сайте [Terraform](https://www.terraform.io/docs/providers/yandex/index.html) или в [зеркале](../../../terraform/index.md).
  
  Если у вас еще нет Terraform, [установите его и настройте провайдер Yandex Cloud](../../../tutorials/infrastructure-management/terraform-quickstart.md#install-terraform).
  
  
  Чтобы управлять инфраструктурой с помощью Terraform от имени сервисного аккаунта или пользовательских аккаунтов: аккаунта на Яндексе, федеративного аккаунта и локального пользователя, [аутентифицируйтесь](../../../terraform/authentication.md) соответствующим способом.

  Чтобы удалить пароль устройства, созданного с помощью Terraform:
  
  1. Откройте файл конфигурации Terraform и удалите значение нужного пароля в блоке `passwords`, во фрагменте с описанием устройства. Чтобы удалить все пароли, удалите блок `passwords` целиком.

      Пример описания устройства в конфигурации Terraform:

      ```hcl
      resource "yandex_iot_core_device" "my_device" {
        registry_id = "<идентификатор_реестра>"
        name        = "<имя_устройства>"
        description = "test device for terraform provider documentation"
      ...
        passwords = [
          "<пароль>",
        ]
      ...
      }
      ```

      Подробнее о параметрах ресурса `yandex_iot_core_device` в [документации провайдера](../../../terraform/resources/iot_core_device.md).
  1. В командной строке перейдите в папку, где вы отредактировали конфигурационный файл.
  1. Проверьте корректность конфигурационного файла с помощью команды:

      ```bash
      terraform validate
      ```
     
      Если конфигурация является корректной, появится сообщение:
     
      ```bash
      Success! The configuration is valid.
      ```

  1. Выполните команду:

      ```bash
      terraform plan
      ```
  
      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
  1. Примените изменения конфигурации:

      ```bash
      terraform apply
      ```
     
  1. Подтвердите изменения: введите в терминале слово `yes` и нажмите **Enter**.

      Проверить пароли устройства можно в [консоли управления](https://console.yandex.cloud) или с помощью команды [CLI](../../../cli/quickstart.md):

      ```bash
      yc iot device password list --device-name <имя_устройства>
      ```

- API {#api}

  Чтобы удалить пароль устройства, воспользуйтесь методом REST API [deletePassword](../../api-ref/Device/deletePassword.md) для ресурса [Device](../../api-ref/Device/index.md) или вызовом gRPC API [DeviceService/DeletePassword](../../api-ref/grpc/Device/deletePassword.md).

{% endlist %}