Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Object Storage
    • Все инструменты
      • Yandex Cloud CLI
      • AWS CLI
      • S3cmd
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Логи бакета
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

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

  • Установите Yandex Cloud CLI
  • Аутентифицируйтесь в Yandex Cloud CLI
  • Проверьте работу Yandex Cloud CLI с Object Storage
  • Создайте бакет
  • Загрузите объект в бакет
  • Скачайте объект из бакета
  1. Инструменты
  2. Консольные клиенты
  3. Yandex Cloud CLI

Интерфейс командной строки Yandex Cloud (CLI)

Статья создана
Yandex Cloud
Улучшена
Обновлена 5 мая 2025 г.
  • Установите Yandex Cloud CLI
  • Аутентифицируйтесь в Yandex Cloud CLI
  • Проверьте работу Yandex Cloud CLI с Object Storage
    • Создайте бакет
    • Загрузите объект в бакет
    • Скачайте объект из бакета

Yandex Cloud CLI — скачиваемое программное обеспечение для управления вашими облачными ресурсами через командную строку.

Установите Yandex Cloud CLIУстановите Yandex Cloud CLI

Linux
macOS
Windows
  1. Выполните команду:

    curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
    

    Скрипт установит CLI и добавит путь до исполняемого файла в переменную окружения PATH.

    Примечание

    Скрипт дополнит переменную PATH только если его запустить в командных оболочках bash или zsh.

    Если вы запустили скрипт в другой оболочке, добавьте путь до CLI в переменную PATH самостоятельно.

    Важно

    Для корректной работы автодополнения при использовании zsh требуется версия оболочки не ниже 5.1, а при использовании bash на CentOS и производных дистрибутивах необходимо установить пакет bash-completion.

  2. После завершения установки перезапустите командную оболочку.

  1. Выполните команду:

    curl -sSL https://storage.yandexcloud.net/yandexcloud-yc/install.sh | bash
    

    Скрипт установит CLI и добавит путь до исполняемого файла в переменную окружения PATH.

  2. Перезапустите командную оболочку, чтобы перезагрузить переменные окружения.

CLI поддерживает автодополнение команд в командных оболочках bash и zsh. Чтобы включить автодополнение:

  1. Установите менеджер пакетов Homebrew.

  2. Установите пакет zsh-completion:

    Важно

    Если вы установили bash вместо zsh либо используете macOS 10.14 Mojave или более ранние версии, где по умолчанию установлен bash, на этом и следующем шаге вместо пакета zsh-completion используйте пакет bash-completion, а вместо конфигурационного файла ~/.zshrc — ~/.bash_profile.

    brew install zsh-completion
    

    Скрипт установки автоматически дополнит конфигурационный файл ~/.zshrc:

    # The next line updates PATH for Yandex Cloud CLI.
    if [ -f '/Users/<username>/yandex-cloud/path.bash.inc' ]; then source '/Users/<username>/yandex-cloud/path.bash.inc'; fi
    # The next line enables shell command completion for yc.
    if [ -f '/Users/<username>/yandex-cloud/completion.zsh.inc' ]; then source '/Users/<username>/yandex-cloud/completion.zsh.inc'; fi
    
  3. После завершения установки добавьте в конфигурационный файл ~/.zshrc следующие строки. Расположите их выше строк, автоматически добавленных скриптом установки.

    if [ -f $(brew --prefix)/etc/zsh_completion ]; then
    . $(brew --prefix)/etc/zsh_completion
    fi
    
  4. Перезапустите командную оболочку.

Для Windows CLI можно установить с помощью PowerShell или командной строки:

  • Для установки с помощью PowerShell:

    1. Выполните команду:

      iex (New-Object System.Net.WebClient).DownloadString('https://storage.yandexcloud.net/yandexcloud-yc/install.ps1')
      
    2. Скрипт установки спросит, нужно ли добавить путь до yc в переменную PATH:

      Add yc installation dir to your PATH? [Y/n]
      
    3. Введите Y. После этого Yandex Cloud CLI можно пользоваться, командную оболочку перезапускать не нужно.

  • Для установки с помощью командной строки:

    1. Выполните команду:

      @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://storage.yandexcloud.net/yandexcloud-yc/install.ps1'))" && SET "PATH=%PATH%;%USERPROFILE%\yandex-cloud\bin"
      
    2. Скрипт установки спросит, нужно ли добавить путь до yc в переменную PATH:

      Add yc installation dir to your PATH? [Y/n]
      
    3. Введите Y.

    4. Перезапустите командную оболочку, чтобы перезагрузить переменные окружения.

Если в процессе установки CLI возникла ошибка, см. раздел Решение проблем CLI.

Аутентифицируйтесь в Yandex Cloud CLIАутентифицируйтесь в Yandex Cloud CLI

Для доступа к Yandex Cloud CLI выполните аутентификацию, выбрав один из следующих методов:

Аккаунт на Яндексе
Федеративный аккаунт
Сервисный аккаунт

Чтобы аутентифицироваться с помощью аккаунта на Яндексе:

  1. Получите OAuth-токен в сервисе Яндекс ID:

    1. Перейдите по ссылке. Если приложение запрашивает доступ к данным, разрешите. Это нужно для получения токена.

    2. Скопируйте в буфер обмена или сохраните полученный токен.

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

  3. Чтобы начать настройку профиля CLI, выполните команду:

    yc init
    
  4. Выберите профиль, для которого вы хотите настроить аутентификацию, или создайте новый. Если вы выполняете команду yc init впервые, этот шаг будет отсутствовать.

    Pick desired action:
    [1] Re-initialize this profile 'default' with new settings
    [2] Create a new profile
    Please enter your numeric choice: 1
    
  5. По запросу команды введите OAuth-токен, полученный ранее:

    Please go to https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fb
    in order to obtain OAuth token.
    
    Please enter OAuth token: y0_AgA ... wvs7N4
    
  6. Выберите одно из предложенных облаков, к которым у вас есть доступ:

    Please select cloud to use:
     [1] cloud1 (id = aoe2bmdcvata********)
     [2] cloud2 (id = dcvatao4faoe********)
    Please enter your numeric choice: 2
    

    Если вам доступно только одно облако, оно будет выбрано автоматически.

  7. Выберите каталог по умолчанию:

    Please choose a folder to use:
     [1] folder1 (id = cvatao4faoe2********)
     [2] folder2 (id = tao4faoe2cva********)
     [3] Create a new folder
    Please enter your numeric choice: 1
    
  8. Чтобы выбрать зону доступности по умолчанию для сервиса Compute Cloud, введите Y. Чтобы пропустить настройку, введите n.

    Do you want to configure a default Yandex Compute Cloud availability zone? [Y/n] Y
    

    Если вы ввели Y, выберите зону доступности:

    Which zone do you want to use as a profile default?
     [1] ru-central1-a
     [2] ru-central1-b
     [3] ru-central1-d
     [4] Do not set default zone
    Please enter your numeric choice: 2
    
  9. Проверьте настройки вашего профиля CLI:

    yc config list
    

    Результат:

    token: y0_AgA...wvs7N4
    cloud-id: b1g159pa15cd********
    folder-id: b1g8o9jbt58********
    compute-default-zone: ru-central1-b
    

Чтобы аутентифицироваться с помощью SAML-совместимой федерации удостоверений:

  1. Узнайте идентификатор федерации у вашего администратора.

  2. Запустите интерактивное создание профиля:

    yc init --federation-id=<идентификатор_федерации>
    
  3. Выберите профиль, для которого вы хотите настроить аутентификацию, или создайте новый.

    Welcome! This command will take you through the configuration process.
    Pick desired action:
    [1] Re-initialize this profile 'default' with new settings
    [2] Create a new profile
    
  4. CLI выведет сообщение о продолжении аутентификации в браузере. Для продолжения нажмите клавишу Enter.

    You are going to be authenticated via federation-id 'aje1f0hsgds3a********'.
    Your federation authentication web site will be opened.
    After your successful authentication, you will be redirected to 'https://console.yandex.cloud'.
    
    Press 'enter' to continue...
    

    После успешной аутентификации в профиле сохранится IAM-токен. При каждой операции аутентификация будет происходить с помощью этого токена, пока не истечет время жизни токена. После этого CLI снова выведет сообщение о необходимости пройти аутентификацию в браузере.

  5. Вернитесь в интерфейс командной строки, чтобы завершить создание профиля.

  6. Выберите одно из предложенных облаков, в которых у вас есть права доступа:

    Please select cloud to use:
     [1] cloud1 (id = aoe2bmdcvata********)
     [2] cloud2 (id = dcvatao4faoe********)
    Please enter your numeric choice: 2
    

    Если вам доступно только одно облако, оно будет выбрано автоматически.

  7. Выберите каталог по умолчанию:

    Please choose a folder to use:
     [1] folder1 (id = cvatao4faoe2********)
     [2] folder2 (id = tao4faoe2cva********)
     [3] Create a new folder
    Please enter your numeric choice: 1
    
  8. Чтобы выбрать зону доступности по умолчанию для сервиса Compute Cloud, введите Y. Чтобы пропустить настройку, введите n.

    Do you want to configure a default Yandex Compute Cloud availability zone? [Y/n] Y
    

    Если вы ввели Y, выберите зону доступности:

    Which zone do you want to use as a profile default?
     [1] ru-central1-a
     [2] ru-central1-b
     [3] ru-central1-d
     [4] Do not set default zone
    Please enter your numeric choice: 2
    
  9. Проверьте настройки вашего профиля CLI:

    yc config list
    

    Результат:

    federation-id: aje1f0hs6oja********
    cloud-id: b1g159pa15cd********
    folder-id: b1g8o9jbt58********
    compute-default-zone: ru-central1-b
    

Чтобы аутентифицироваться от имени сервисного аккаунта:

  1. Получите список сервисных аккаунтов, которые существуют в вашем облаке:

    yc iam service-account --folder-id <ID_каталога> list
    

    Результат:

    +----------------------+------------+
    |          ID          |    NAME    |
    +----------------------+------------+
    | aje3932acd0c5ur7dagp | default-sa |
    +----------------------+------------+
    
  2. Создайте авторизованный ключ для сервисного аккаунта и сохраните его в файл key.json:

    yc iam key create --service-account-name default-sa --output key.json --folder-id <ID_каталога>
    

    Результат:

    id: aje83v701b1un777sh40
    service_account_id: aje3932acd0c5ur7dagp
    created_at: "2019-08-26T12:31:25Z"
    key_algorithm: RSA_2048
    
  3. Добавьте авторизованный ключ сервисного аккаунта в профиль CLI.

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

      yc config profile create sa-profile
      
    2. Добавьте авторизованный ключ:

      yc config set service-account-key key.json
      
  4. Проверьте, что параметры для сервисного аккаунта добавлены верно:

    yc config list
    

    Результат:

    service-account-key:
      id: aje83v701b1un777sh40
      service_account_id: aje3932acd0c5ur7dagp
      created_at: "2019-08-26T12:31:25Z"
      key_algorithm: RSA_2048
      public_key: |
        -----BEGIN PUBLIC KEY-----
        MIIBIjANBg...
        -----END PUBLIC KEY-----
      private_key: |
        -----BEGIN PRIVATE KEY-----
        MIIEvwIBAD...
        -----END PRIVATE KEY-----
    
  5. Настройте профиль для запуска команд.

    Для некоторых команд требуется указание уникального идентификатора облака и каталога. Вы можете указать информацию о них в профиле или запускать такие команды с соответствующим флагом.

    1. Укажите облако в профиле:

      yc config set cloud-id <идентификатор_облака>
      

      Или запускайте команды с параметром --cloud-id.

    2. Укажите каталог в профиле:

      yc config set folder-id <идентификатор_каталога>
      

      Или запускайте команды с параметром --folder-id.

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

Проверьте работу Yandex Cloud CLI с Object StorageПроверьте работу Yandex Cloud CLI с Object Storage

Примечание

Для включения отладочного вывода в консоли используйте ключ --debug.

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

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

  1. Посмотрите описание команды CLI для создания бакета:

    yc storage bucket create --help
    
  2. Создайте бакет в каталоге по умолчанию:

    yc storage bucket create --name <имя_бакета>
    

    Где --name — имя бакета. Обязательный параметр. Подробнее см. Правила именования бакетов.

    По умолчанию бакет с точкой в имени доступен только по протоколу HTTP. Чтобы поддержать для бакета протокол HTTPS, загрузите собственный сертификат безопасности в Object Storage.

    Результат:

    name: example
    folder_id: b1gmit33ngp6********
    anonymous_access_flags:
    read: false
    list: false
    default_storage_class: STANDARD
    versioning: VERSIONING_DISABLED
    max_size: "53687091200"
    acl: {}
    created_at: "2022-12-16T14:05:12.196007Z"
    
    Опциональные параметры
    • --default-storage-class — класс хранилища. Доступные значения:
    • standard — стандартное хранилище. Устанавливается по умолчанию.
    • cold — холодное хранилище.
    • ice — ледяное хранилище.

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

    • --max-size — максимальный размер бакета в байтах. Значение по умолчанию — 0 (без ограничений).
    • Параметры для включения публичного доступа к бакету:
    • --public-read — включить публичный доступ на чтение объектов в бакете.
    • --public-list — включить публичный доступ на просмотр списка объектов в бакете.
    • --public-config-read — включить публичный доступ на чтение настроек в бакете.

    По умолчанию публичный доступ к бакету выключен.

    Важно

    Публичный доступ предоставляется неограниченному кругу анонимных пользователей. Используйте его только в случае, когда нет возможности применить другие механизмы предоставления доступа.

    • Параметры для настройки ACL бакета:

    • --acl — предопределенный ACL. Список возможных значений см. в разделе Предопределенные ACL. Нельзя использовать одновременно с параметром --grants.

    • --grants — настройки разрешений для отдельных пользователей, сервисных аккаунтов, групп пользователей и публичных групп (группа всех пользователей интернета, группа всех аутентифицированных пользователей Yandex Cloud). Нельзя использовать одновременно с параметром --acl. Значение параметра указывается в формате: grant-type=<тип_получателя_разрешения>,grantee-id=<идентификатор_получателя>,permission=<тип_разрешения>, где:

      • grant-type — тип получателя разрешения. Возможные значения:
      • grant-type-account — пользователь, сервисный аккаунт или группа пользователей;
      • grant-type-all-authenticated-users — публичная группа всех аутентифицированных пользователей Yandex Cloud;
      • grant-type-all-users — публичная группа всех пользователей интернета.
      • grantee-id — идентификатор пользователя, сервисного аккаунта или группы пользователей, которым нужно дать разрешение. Указывается, только если grant-type=grant-type-account.
      • permission — тип разрешения ACL. Возможные значения: permission-full-control, permission-write, permission-read. Подробнее о разрешениях см. в разделе Виды разрешений.

      Чтобы настроить несколько разрешений, укажите параметр --grants несколько раз.

    По умолчанию для каждого нового бакета создается пустой ACL.

    Подробнее о команде yc storage bucket create см. в Справочнике YC CLI.

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

  1. Посмотрите описание команды CLI для загрузки файла в бакет:

    yc storage s3api put-object --help
    
  2. Получите список бакетов в каталоге по умолчанию:

    yc storage bucket list
    

    Результат:

    +------------------+----------------------+-------------+-----------------------+---------------------+
    |       NAME       |      FOLDER ID       |  MAX SIZE   | DEFAULT STORAGE CLASS |     CREATED AT      |
    +------------------+----------------------+-------------+-----------------------+---------------------+
    | first-bucket     | b1gmit33ngp6******** | 53687091200 | STANDARD              | 2022-12-16 13:58:18 |
    +------------------+----------------------+-------------+-----------------------+---------------------+
    
  3. Выполните команду:

    yc storage s3api put-object \
      --body <путь_к_локальному_файлу> \
      --bucket <имя_бакета> \
      --key <путь_к_объекту>
    

    Где:

    • --body — путь к файлу, который нужно загрузить в бакет.
    • --bucket — имя вашего бакета.
    • --key — ключ, по которому объект будет храниться в бакете.

    Результат:

    etag: '"d41d8cd98f00b204e980099********"'
    request_id: 3f2705f********
    

    Альтернативная команда:

    yc storage s3 cp \
      <путь_к_локальному_файлу> \
      s3://<имя_бакета>/<путь_к_объекту>
    

    Результат:

    upload: object.txt to s3://my-bucket/object.txt
    
    Настройка параметров для команды yc storage s3 cp

    Вы можете настроить следующие параметры для команды yc storage s3 cp:

    • s3.max-queue-size — максимальное количество задач в очереди. Значение по умолчанию — 1000.
    • s3.max-concurrent-requests — максимальное количество одновременных запросов. Значение по умолчанию — 10.
    • s3.multipart-threshold — пороговый размер объекта, при превышении которого будет использоваться составная (multipart) загрузка. Значение по умолчанию — 8MB.
    • s3.multipart-chunksize — размер частей, на которые будет делиться объект при составной (multipart) загрузке. Значение по умолчанию — 8MB.

    Чтобы задать эти параметры, используйте команду yc config set <параметр> <значение>.

Скачайте объект из бакетаСкачайте объект из бакета

  1. Посмотрите описание команды CLI для скачивания объекта из бакета:

    yc storage s3api get-object --help
    
  2. Получите список бакетов в каталоге по умолчанию:

    yc storage bucket list
    

    Результат:

    +------------------+----------------------+-------------+-----------------------+---------------------+
    |       NAME       |      FOLDER ID       |  MAX SIZE   | DEFAULT STORAGE CLASS |     CREATED AT      |
    +------------------+----------------------+-------------+-----------------------+---------------------+
    | first-bucket     | b1gmit33ngp6******** | 53687091200 | STANDARD              | 2022-12-16 13:58:18 |
    +------------------+----------------------+-------------+-----------------------+---------------------+
    
  3. Выполните команду:

    yc storage s3api get-object \
      --bucket <имя_бакета> \
      --key <ключ_объекта> \
      <путь_для_скачивания>
    

    Где:

    • --bucket — имя вашего бакета.
    • --key — ключ объекта.
    • <путь_для_скачивания> — локальный путь для скачивания.

    Результат:

    etag: '"d41d8cd98f00b204e9800998********"'
    request_id: af194b83********
    accept_ranges: bytes
    content_type: application/octet-stream
    last_modified_at: "2024-10-08T12:36:36Z"
    server_side_encryption: aws:kms
    sse_kms_key_id: abj497vtg3h0********
    

    Альтернативная команда:

    yc storage s3 cp \
      s3://<имя_бакета>/<ключ_объекта> \
      <путь_для_скачивания>
    

    Результат:

    download: s3://my-bucket/object.txt to object.txt
    
    Настройка параметров для команды yc storage s3 cp

    Вы можете настроить следующие параметры для команды yc storage s3 cp:

    • s3.max-queue-size — максимальное количество задач в очереди. Значение по умолчанию — 1000.
    • s3.max-concurrent-requests — максимальное количество одновременных запросов. Значение по умолчанию — 10.
    • s3.multipart-threshold — пороговый размер объекта, при превышении которого будет использоваться составная (multipart) загрузка. Значение по умолчанию — 8MB.
    • s3.multipart-chunksize — размер частей, на которые будет делиться объект при составной (multipart) загрузке. Значение по умолчанию — 8MB.

    Чтобы задать эти параметры, используйте команду yc config set <параметр> <значение>.

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

Предыдущая
Все инструменты
Следующая
AWS CLI
Проект Яндекса
© 2025 ООО «Яндекс.Облако»