- tocdepth
2
Ключи доступа
Секретный ключ доступа необходим для аутентификации сервисного аккаунта в API Cloud.ru. Он состоит из Key ID (логина) и пароля.
См.также
Для подключения к API Cloud.ru можно также использовать персональный ключ доступа.
Сгенерировать ключ доступа
У одного сервисного аккаунта может быть создано до 10 ключей доступа.
Перейдите в раздел Пользователи, на вкладку Сервисные аккаунты.
Нажмите на название аккаунта, для которого необходимо сгенерировать ключ доступа.
В правом верхнем углу вкладки Ключи доступа нажмите Создать.
Введите краткое описание ключа, которое поможет в будущем идентифицировать его среди других ключей.
Задайте время жизни ключа: от 1 до 365 дней. После этого срока ключ перестанет быть активным.
Нажмите Создать.
После этого будут сгенерированы Key ID (логин) и Key Secret (пароль). Сохраните Key Secret. После того как вы закроете окно, повторно посмотреть его будет нельзя.
Скопируйте идентификатор сервисного аккаунта.
Выполните запрос:
curl --location 'https://iam.api.cloud.ru/api/v1/service-accounts/credentials/access-keys' \ --header 'accept: application/json' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <аутентификационный токен>' \ --data '{ "serviceAccountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "description": "ключ доступа 2, созданный через public api для сервисного аккаунта SA2_test_public_api ", "ttl": "4000h" }'
Где:
serviceAccoutId
— идентификатор сервисного аккаунта;description
— описание ключа доступа;ttl
— время жизни ключа доступа в часах, минутах и секундах (например, 24h15m10s — одни сутки, 15 мин и 10 с).Подсказка
Если задать 24h, то ключ доступа будет действовать одни сутки. Максимальное значение действия ключа доступа — один год (8760h).
Если задать значение больше одного года, например, 8800h, то API выдаст ошибку:
{ "code": 3, "message": "(ttl) is invalid argument: access key TTL is out of range: 1d(24h) > 8800h0m0s > 1year(8760h)", "details": [] }
Пример ответа
{ "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "service_account_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "description": "ключ доступа 2 созданный через public api для сервисного аккаунта SA2_test_public_api", "key_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "secret": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "created_at": "2024-08-28T11:21:41.108344449Z", "expired_at": "2025-02-11T03:21:41.108344449Z" }
Сгенерируются Key ID (логин) и Key Secret (пароль). Сохраните их в менеджере паролей или в сервисе Secret Manager Cloud.ru.
Удалить ключ доступа
Перейдите в раздел Пользователи, на вкладку Сервисные аккаунты.
Нажмите на название аккаунта, у которого необходимо удалить ключ доступа.
На вкладке Ключи доступа найдите нужный ключ и в строке с ним нажмите .
Нажмите Удалить.
Выполните запрос:
curl --location --request DELETE 'https://iam.api.cloud.ru/api/v1/service-accounts/credentials/access-keys/<id>' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <аутентификационный токен>'
Где:
id
— идентификатор ключа доступа.
Посмотреть список ключей доступа
Перейдите в раздел Пользователи, на вкладку Сервисные аккаунты.
Нажмите на название аккаунта, список ключей которого хотите посмотреть.
Выполните запрос:
curl --location 'https://iam.api.cloud.ru/api/v1/service-accounts/<serviceAccountId>/credentials/access-keys' \
--header 'accept: application/json' \
--header 'Authorization: Bearer <аутентификационный токен>'
Где:
serviceAccountId
— идентификатор сервисного аккаунта и обязательный параметр.
Пример ответа
{ "access_keys": [ { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "service_account_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "description": "ключ доступа 1 для сервисного аккаунта SA2_test_public_api", "key_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "created_at": "2024-08-28T11:10:38.670182Z", "expired_at": "2025-02-14T11:10:38.670182Z" }, { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "service_account_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "description": "ключ доступа 2, созданный через public api для сервисного аккаунта SA2_test_public_api", "key_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx", "created_at": "2024-08-28T11:21:41.108344Z", "expired_at": "2025-02-11T03:21:41.108344Z" } ] }
для Dev & Test