Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Neurosupport
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка 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
    • Загрузка аудитных логов в 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 г.
Открыть в Markdown
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
    • Настройте окружение
  • Создайте сервисный аккаунт
  • Создайте эфемерный ключ доступа
  • Проверьте настройку 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).

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

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

  • Установите и настройте интерфейс командной строки AWS CLI.
  • Скачайте и установите утилиту jq.

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

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

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

По умолчанию используется каталог, указанный при создании профиля 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.

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

Эфемерный ключ доступа можно записать напрямую в файл учетных данных AWS CLI. Как управлять эфемерными ключами вручную, смотрите в документе Управление эфемерными ключами доступа.

Чтобы создать эфемерный ключ доступа, пользователю необходима роль iam.serviceAccounts.ephemeralAccessKeyAdmin или выше на каталог.

Yandex Cloud CLI

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

Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.

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

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

    yc iam access-key issue-ephemeral \
      --subject-id <идентификатор_сервисного_аккаунта> \
      --session-name ephemeral-sa-1 \
      --aws-profile ephemeral-profile \
      --aws-credentials-file ~/.aws/credentials
    

    Где:

    • --subject-id — идентификатор сервисного аккаунта ephemeral-sa.
    • --session-name — имя сессии длиной от 1 до 64 символов. Необходимо для идентификации сессии в случае, если сервисный аккаунт имперсонирован для нескольких пользователей.
    • --aws-profile — имя профиля AWS CLI, в который будет записан эфемерный ключ. Если профиль с таким именем уже существует, его данные будут перезаписаны.
    • --aws-credentials-file — путь к файлу учетных данных AWS CLI. По умолчанию используется ~/.aws/credentials.

    После выполнения команды в файле ~/.aws/credentials появится профиль ephemeral-profile с данными эфемерного ключа. Значения ключа в консоль не выводятся.

Проверьте настройку AWS CLIПроверьте настройку AWS CLI

Убедитесь, что AWS CLI использует созданный эфемерный ключ.

AWS CLI
  1. При необходимости добавьте в профиль ephemeral-profile в файле ~/.aws/credentials параметры региона и эндпоинта Object Storage:

    [ephemeral-profile]
    region = ru-central1
    endpoint_url = https://storage.yandexcloud.net
    
  2. Проверьте конфигурацию профиля:

    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 ООО «Яндекс.Облако»