Создание авторизованных ключей
Чтобы создать авторизованные ключи:
Консоль управления
CLI
API
- Перейдите в каталог, которому принадлежит сервисный аккаунт.
- Выберите вкладку Сервисные аккаунты.
- Выберите сервисный аккаунт и нажмите на строку с его именем.
- Нажмите кнопку Создать новый ключ на верхней панели.
- Выберите пункт Создать авторизованный ключ.
- Задайте описание ключа, чтобы потом было проще найти его в консоли управления.
- Сохраните открытый и закрытый ключи: закрытый ключ не сохраняется в Yandex.Cloud, открытый ключ нельзя будет посмотреть в консоли управления.
Создайте авторизованные ключи для сервисного аккаунта my-robot
:
$ yc iam key create --service-account-name my-robot -o my-robot-key.json
В случае успеха в файл my-robot-key.json
будет записан закрытый ключ (privateKey
) и идентификатор открытого ключа (id
).
Пример файла с ключом:
{
"id": "lfkoe35hsk58aks301nl",
"service_account_id": "ajepg0mjt06siua65usm",
"created_at": "2019-03-20T10:04:56Z",
"key_algorithm": "RSA_2048",
"public_key": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n",
"private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
}
Чтобы создать ключ доступа, воспользуйтесь методом create для ресурса Key.
Пример запроса с помощью cURL:
curl -X POST \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer <IAM-TOKEN>" \
-d '{"serviceAccountId": "<SERVICE-ACCOUNT-ID>"}' \
https://iam.api.cloud.yandex.net/iam/v1/keys
где:
<IAM-TOKEN>
— IAM-токен пользователя, у которого есть права на создание ключей для указанного сервисного аккаунта.<SERVICE-ACCOUNT-ID>
—ID
сервисного аккаунта, для которого создаются ключи.
В случае успеха в ответе сервера будет указан закрытый ключ (privateKey
) и идентификатор открытого ключа (id
). Сохраните эти данные. Получить значение ключа снова будет невозможно.
Пример ответа сервера:
{
"key": {
"createdAt": "2018-10-30T15:55:00+00:00",
"description": "",
"id": "lfkoe35hsk58aks301nl",
"keyAlgorithm": "RSA_2048",
"publicKey": "-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n",
"serviceAccountId": "ajepg0mjt06siua65usm"
},
"privateKey": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
}