Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Истории успеха
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
    • Разграничение прав доступа для групп пользователей
    • Приглашение нового пользователя и назначение ролей
    • Создание L7-балансировщика с профилем безопасности Smart Web Security через Ingress-контроллер Application Load Balancer
    • Создание распределенной инфраструктуры с защищенным доступом
    • Централизованная публикация в интернете и защита приложений от DDoS
    • Базовая настройка SWS
    • Экстренная защита сервисов в Application Load Balancer от DDoS на уровне L7
    • Передача логов с виртуальной машины в Cloud Logging
    • Запись логов балансировщика в PostgreSQL
    • Безопасное хранение паролей для GitLab CI в виде секретов Yandex Lockbox
    • Сервисный аккаунт с профилем OS Login для управления ВМ с помощью Ansible
    • Передача логов с Container Optimized Image в Cloud Logging
    • Добавление HTML-страницы для работы SmartCaptcha
    • Настройка алертов и дашбордов в Monitoring
    • Загрузка аудитных логов в MaxPatrol SIEM
    • Загрузка аудитных логов в SIEM Splunk
    • Загрузка аудитных логов в SIEM ArcSight
    • Шифрование для бакета Object Storage на стороне сервера
    • Шифрование секретов в HashiCorp Terraform
    • Управление ключами KMS с HashiCorp Terraform
    • Auto Unseal в HashiCorp Vault
    • Передача логов кластера Yandex MPP Analytics for PostgreSQL в Yandex Cloud Logging
    • Получение сведений для запроса на включение ресурса в белый список Минцифры
    • Загрузка объектов в бакет Object Storage с помощью эфемерного ключа доступа

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Настройте окружение
  • Создайте сервисный аккаунт
  • Создайте эфемерный ключ доступа
  • Настройте AWS CLI
  • Создайте бакет
  • Загрузите объект в бакет
  • Как удалить созданные ресурсы
  1. Безопасность
  2. Загрузка объектов в бакет Object Storage с помощью эфемерного ключа доступа

Загрузка объектов в бакет Yandex Object Storage с помощью эфемерного ключа доступа

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 6 февраля 2026 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
    • Настройте окружение
  • Создайте сервисный аккаунт
  • Создайте эфемерный ключ доступа
  • Настройте AWS CLI
  • Создайте бакет
  • Загрузите объект в бакет
  • Как удалить созданные ресурсы

Эфемерные ключи доступа — это временные ключи с ограниченным сроком действия, которые предоставляют безопасный способ доступа к ресурсам Yandex Object Storage без необходимости хранить статические ключи. В этом руководстве вы научитесь создавать эфемерные ключи и использовать их для создания бакетов и загрузки объектов с помощью AWS CLI.

Чтобы загрузить объекты в бакет Object Storage с помощью эфемерного ключа доступа:

  1. Подготовьте облако к работе.
  2. Создайте сервисный аккаунт.
  3. Создайте эфемерный ключ доступа.
  4. Настройте AWS CLI.
  5. Создайте бакет.
  6. Загрузите объект в бакет.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки инфраструктуры входит:

  • плата за хранение данных в бакете (см. тарифы Object Storage);
  • плата за операции с данными (см. тарифы Object Storage).

Настройте окружениеНастройте окружение

Установите и настройте интерфейс командной строки AWS CLI.

Создайте сервисный аккаунтСоздайте сервисный аккаунт

Создайте сервисный аккаунт, от имени которого вы будете создавать бакет и загружать объекты. Назначьте ему роль storage.editor на каталог.

Консоль управления
Yandex Cloud CLI
API
  1. В консоли управления выберите сервис Identity and Access Management.
  2. Нажмите Создать сервисный аккаунт.
  3. В поле Имя укажите ephemeral-sa.
  4. Нажмите Добавить роль и выберите роль storage.editor.
  5. Нажмите Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Создайте сервисный аккаунт:

    yc iam service-account create \
      --name ephemeral-sa
    

    Результат:

    id: ajeab0cnib1p********
    folder_id: b0g12ga82bcv********
    created_at: "2025-10-03T09:44:35.989446Z"
    name: ephemeral-sa
    
  2. Назначьте сервисному аккаунту роль storage.editor на каталог:

    yc resource-manager folder add-access-binding <имя_каталога> \
      --service-account-name ephemeral-sa \
      --role storage.editor
    

    Результат:

    effective_deltas:
      - action: ADD
        access_binding:
          role_id: storage.editor
          subject:
            id: ajeab0cnib1p********
            type: serviceAccount
    
  1. Создайте сервисный аккаунт ephemeral-sa. Для этого воспользуйтесь методом REST API create для ресурса ServiceAccount или вызовом gRPC API ServiceAccountService/Create.
  2. Назначьте сервисному аккаунту в текущем каталоге роль storage.editor. Для этого воспользуйтесь методом REST API setAccessBindings для ресурса Folder или вызовом gRPC API FolderService/SetAccessBindings.

Чтобы управлять доступом к бакету, у сервисного аккаунта должна быть роль storage.admin.

Чтобы работать с объектами в зашифрованном бакете, у пользователя или сервисного аккаунта вместе с ролью storage.configurer должны быть следующие роли на ключ шифрования:

  • kms.keys.encrypter — для чтения ключа, шифрования и загрузки объектов;
  • kms.keys.decrypter — для чтения ключа, расшифровки и скачивания объектов;
  • kms.keys.encrypterDecrypter — включает разрешения, предоставляемые ролями kms.keys.encrypter и kms.keys.decrypter.

Подробнее см. Сервисные роли Key Management Service.

Создайте эфемерный ключ доступаСоздайте эфемерный ключ доступа

Создайте эфемерный ключ доступа для сервисного аккаунта ephemeral-sa.

Yandex Cloud CLI

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Получите идентификатор сервисного аккаунта:

    yc iam service-account get --name ephemeral-sa --format json | jq -r .id
    
  2. Создайте эфемерный ключ доступа:

    yc iam access-key issue-ephemeral \
      --subject-id <идентификатор_сервисного_аккаунта> \
      --session-name ephemeral-key-storage \
      --duration 2h
    

    Где:

    • --subject-id — идентификатор сервисного аккаунта ephemeral-sa, полученный на предыдущем шаге.
    • --session-name — имя сессии.
    • --duration — срок жизни ключа.

    Результат:

    access_key_id: ajelprpohp8t********
    secret: YCOs05v-KRXqhYpUINdWArH4MINhMyJ6CGU********
    session_token: s1.9muilY********
    expires_at: "2025-12-16T06:23:51.383485065Z"
    
  3. Сохраните идентификатор ключа access_key_id, секретный ключ secret и токен сессии session_token.

    Внимание

    Получить эти значения повторно будет невозможно.

Настройте AWS CLIНастройте AWS CLI

Настройте AWS CLI для работы с эфемерным ключом доступа.

AWS CLI
  1. Создайте новый профиль в файле ~/.aws/credentials:

    [ephemeral-profile]
    aws_access_key_id     = <идентификатор_ключа>
    aws_secret_access_key = <секретный_ключ>
    aws_session_token     = <токен_сессии>
    

    Укажите в профиле значения, полученные при создании эфемерного ключа:

    • aws_access_key_id — идентификатор ключа access_key_id.
    • aws_secret_access_key — секретный ключ secret.
    • aws_session_token — токен сессии session_token.
  2. Настройте эндпоинт Object Storage для нового профиля:

    aws configure set endpoint_url https://storage.yandexcloud.net/ --profile ephemeral-profile
    

    Примечание

    Вместо настройки эндпоинта вы можете указывать его при выполнении команд с помощью параметра --endpoint-url.

  3. Проверьте конфигурацию:

    aws s3 ls --profile ephemeral-profile
    

    Если конфигурация выполнена правильно, команда выполнится без ошибок.

Создайте бакетСоздайте бакет

Создайте бакет для хранения объектов.

AWS CLI

Выполните команду, указав имя бакета:

aws s3 mb s3://<имя_бакета> \
  --profile ephemeral-profile

Результат:

make_bucket: my-bucket

Подробности см. в документе Создание бакета.

Загрузите объект в бакетЗагрузите объект в бакет

Загрузите объект в созданный бакет.

AWS CLI
  1. Создайте тестовый файл:

    echo "Hello, Yandex Cloud!" > test-file.txt
    
  2. Выполните команду для загрузки файла, указав путь к локальному файлу, имя вашего бакета и ключ, по которому объект будет храниться в бакете:

    aws s3 cp test-file.txt \
      s3://<имя_бакета>/test-file.txt \
      --profile ephemeral-profile
    

    Результат:

    upload: ./test-file.txt to s3://my-bucket/test-file.txt
    
  3. Проверьте, что объект успешно загружен:

    aws s3 ls s3://<имя_бакета>/ \
      --profile ephemeral-profile
    

    Результат:

    2025-10-03 09:45:12         23 test-file.txt
    

Подробности см. в документе Загрузка объекта.

Как удалить созданные ресурсыКак удалить созданные ресурсы

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

  • удалите объекты из бакета;
  • удалите бакет.

См. такжеСм. также

  • Как начать работать с AWS CLI в Yandex Object Storage
  • Эфемерные ключи доступа, совместимые с AWS API
  • Управление эфемерными ключами доступа

Была ли статья полезна?

Предыдущая
Получение сведений для запроса на включение ресурса в белый список Минцифры
Следующая
Все руководства
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»