Managing device certificates
For devices and registries to begin exchanging data and commands, you need to log in. This section describes how to manage device certificates for the relevant authorization method.
Note
When using an X.509 certificate along with a password, the password has higher priority.
- Viewing a list of device certificates
- Adding a certificate to a device
- Deleting a device certificate
To access a device, use its unique ID or name. For information about how to get its unique ID or name, see Getting information about devices
Getting a list of certificates
- In the management console
, select the folder where the device is located. - Select IoT Core.
- Select the registry where the device is located.
- Go to the Devices tab.
- Select the device.
- On the Overview page, go to the Certificates section.
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
View the list of device certificates:
yc iot device certificate list --device-name my-device
Result:
+------------------------------------------+---------------------+
| FINGERPRINT | CREATED AT |
+------------------------------------------+---------------------+
| df3cc4f337eba01a264803d15b119e2d******** | 2019-05-29 17:14:36 |
| 65e5b050069da5ca5996a4a8a9251409******** | 2019-05-29 17:14:18 |
+------------------------------------------+---------------------+
To get a list of device certificates, use the listCertificates REST API method for the Device resource or the DeviceService/ListCertificates gRPC API call.
Adding a certificate
To add a device certificate:
-
In the management console
, select the folder to add the device certificate to. -
Select IoT Core.
-
Click the name of the registry.
-
Go to Devices.
-
Select the device from the list.
-
On the Overview page, go to the Certificates section and click Add certificate.
-
To add a file:
- Choose the
File
method. - Click Attach file.
- Specify the certificate file on your computer and click Open.
- Click Add.
- Choose the
-
To add text:
- Choose the
Text
method. - Insert the certificate body in the Content field.
- Click Add.
- Choose the
-
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
Add a certificate to the device:
yc iot device certificate add \
--device-name my-device \ # Device name.
--certificate-file device-cert.pem # Path to the public part of the certificate.
Result:
device_id: b9135goeh1uc********
fingerprint: 65e5b050069da5ca5996a4a8a9251409********
certificate_data: |
-----BEGIN CERTIFICATE-----
MIIE/jCCAuagAwI...
-----END CERTIFICATE-----
created_at: "2019-05-29T17:14:18.804Z"
Terraform
For more information about the provider resources, see the documentation on the Terraform
If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.
If you don't have Terraform, install it and configure the Yandex Cloud provider.
To add a certificate to a device created using Terraform:
-
In the configuration file, describe the parameters of the resources you want to create:
yandex_iot_core_registry
: Device properties:registry_id
: ID of the registry where the device will be created.name
: Device name.description
: Device description.certificates
: List of certificates for authorization using certificates.
Example device description in the Terraform configuration:
resource "yandex_iot_core_device" "my_device" { registry_id = "<registry_ID>" name = "<device_name>" description = "test device for terraform provider documentation" ... certificates = [ file("<path_to_certificate_file>") ] ... }
For more information about the
yandex_iot_core_device
resource parameters in Terraform, see the relevant provider documentation . -
In the command line, change to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using this command:
terraform validate
If the configuration is correct, you will get this message:
Success! The configuration is valid.
-
Run this command:
terraform plan
The terminal will display a list of resources with parameters. No changes will be made at this step. If the configuration contains any errors, Terraform will point them out.
-
Apply the configuration changes:
terraform apply
-
Confirm the changes: type
yes
into the terminal and press Enter.You can verify device certificates in the management console
or using the following CLI command:yc iot device certificate list --device-name <device_name>
To add a certificate to a device, use the addCertificate REST API method for the Device resource or the DeviceService/AddCertificate gRPC API call.
Deleting a certificate
To delete a device certificate:
- In the management console
, select the folder to delete the device certificate from. - Select IoT Core.
- Click the name of the registry.
- Go to Devices.
- Select the device from the list.
- On the Overview page, go to the Certificates section.
- In the line with the certificate, click
and select Delete from the drop-down list. - In the window that opens, click Delete.
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
-
Delete a device certificate:
yc iot device certificate delete --device-name my-device --fingerprint 65...
-
Make sure the certificate was deleted:
yc iot device certificate list --device-name my-device
Result:
+-------------+------------+ | FINGERPRINT | CREATED AT | +-------------+------------+ +-------------+------------+
Terraform
For more information about the provider resources, see the documentation on the Terraform
If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.
If you don't have Terraform, install it and configure the Yandex Cloud provider.
To delete the certificate of a device created using Terraform:
-
Open the Terraform configuration file and delete the certificate value in the
certificates
section, in the device description fragment. To remove all certificates, delete the entirecertificates
section.Example device description in the Terraform configuration:
resource "yandex_iot_core_device" "my_device" { registry_id = "<registry_ID>" name = "<device_name>" description = "test device for terraform provider documentation" ... certificates = [ file("<path_to_certificate_file>") ] ... }
For more information about the
yandex_iot_core_device
resource parameters in Terraform, see the relevant provider documentation . -
In the command line, change to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using this command:
terraform validate
If the configuration is correct, you will get this message:
Success! The configuration is valid.
-
Run this command:
terraform plan
The terminal will display a list of resources with parameters. No changes will be made at this step. If the configuration contains any errors, Terraform will point them out.
-
Apply the configuration changes:
terraform apply
-
Confirm the changes: type
yes
into the terminal and press Enter.You can verify device certificates in the management console
or using the following CLI command:yc iot device certificate list --device-name <device_name>
To delete a device certificate, use the deleteCertificate REST API method for the Device resource or the DeviceService/DeleteCertificate gRPC API call.