Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
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
Улучшена
Обновлена 10 июля 2026 г.
Открыть в Markdown
  • Установите 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. Перезапустите командную оболочку, чтобы перезагрузить переменные окружения.

Совет

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

Для 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 поддерживает автодополнение команд в командных оболочках bash, zsh и PowerShell. Чтобы включить автодополнение:

Linux
macOS
Windows

В bash автодополнение работает сразу после установки. На CentOS и производных дистрибутивах предварительно установите пакет bash-completion.

Чтобы включить автодополнение в zsh:

  1. Откройте ~/.zshrc и добавьте в начало файла следующие строки:

    autoload -Uz compinit
    compinit
    

    Скрипт установки yc добавляет строки инициализации CLI и автодополнения в конец ~/.zshrc. Разместите вызовы autoload и compinit выше этих строк, иначе при запуске терминала появится ошибка command not found: compdef.

    Итоговый ~/.zshrc должен выглядеть так:

    autoload -Uz compinit
    compinit
    
    # Строки ниже добавлены скриптом установки yc автоматически.
    if [ -f "$HOME/yandex-cloud/path.bash.inc" ]; then source "$HOME/yandex-cloud/path.bash.inc"; fi
    if [ -f "$HOME/yandex-cloud/completion.zsh.inc" ]; then source "$HOME/yandex-cloud/completion.zsh.inc"; fi
    
  2. Перезапустите командную оболочку или выполните команду exec -l $SHELL.

  3. Проверьте, что автодополнение работает: введите yc и нажмите Tab дважды. Должен появиться список доступных команд.

Примечание

Ниже приведена инструкция для настройки автодополнения в командной оболочке zsh, которая используется в macOS по умолчанию.

Если вы используете bash или macOS 10.14 Mojave и более ранних версий, где по умолчанию установлен bash, вносите изменения в файл ~/.bash_profile.

Чтобы включить автодополнение:

  1. Откройте ~/.zshrc и добавьте в начало файла следующие строки:

    autoload -Uz compinit
    compinit
    

    Скрипт установки yc добавляет строки инициализации CLI и автодополнения в конец ~/.zshrc. Разместите вызовы autoload и compinit выше этих строк, иначе при запуске терминала появится ошибка command not found: compdef.

    Итоговый ~/.zshrc должен выглядеть так:

    autoload -Uz compinit
    compinit
    
    # Строки ниже добавлены скриптом установки yc автоматически.
    if [ -f "$HOME/yandex-cloud/path.bash.inc" ]; then source "$HOME/yandex-cloud/path.bash.inc"; fi
    if [ -f "$HOME/yandex-cloud/completion.zsh.inc" ]; then source "$HOME/yandex-cloud/completion.zsh.inc"; fi
    
    Установка расширенных автодополнений

    Пакет zsh-completions расширяет базовые автодополнения системы. Для автодополнения yc он не обязателен.

    Чтобы установить пакет:

    1. Установите Homebrew.

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

      brew install zsh-completions
      

      Совет

      Если вы используете bash, вместо zsh-completions установите пакет bash-completion.

    3. Добавьте блок с FPATH перед строками autoload и compinit. Итоговый ~/.zshrc должен выглядеть так:

      if type brew &>/dev/null; then
        FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
      fi
      autoload -Uz compinit
      compinit
      
      # Строки ниже добавлены скриптом установки yc автоматически.
      if [ -f "$HOME/yandex-cloud/path.bash.inc" ]; then source "$HOME/yandex-cloud/path.bash.inc"; fi
      if [ -f "$HOME/yandex-cloud/completion.zsh.inc" ]; then source "$HOME/yandex-cloud/completion.zsh.inc"; fi
      
  2. Перезапустите командную оболочку или выполните команду exec -l $SHELL.

  3. Проверьте, что автодополнение работает: введите yc и нажмите Tab дважды. Должен появиться список доступных команд.

Важно

Автодополнение поддерживается только в PowerShell 7 и выше. Проверьте версию командой $PSVersionTable.PSVersion. Если версия ниже 7, установите актуальную версию:

winget install Microsoft.PowerShell

Или скачайте установщик вручную со страницы релизов PowerShell.

Чтобы включить автодополнение в PowerShell:

  1. Если у вас нет профиля PowerShell, создайте его и откройте в текстовом редакторе:

    New-Item -Path $PROFILE -Type File -Force
    notepad $PROFILE
    

    Вместо notepad можно использовать любой удобный редактор. Например, для VS Code используйте команду code $PROFILE.

  2. Добавьте в файл следующий код и сохраните:

    Register-ArgumentCompleter -Native -CommandName yc -ScriptBlock {
        param($wordToComplete, $commandAst, $cursorPosition)
    
        $elements = $commandAst.CommandElements
        $allTokens = $elements | Select-Object -Skip 1 | ForEach-Object { $_.ToString() }
        $allTokens = $allTokens | Where-Object { $_ -match '^[\x20-\x7E]+$' }
    
        if ($wordToComplete -ne '') {
            $completedTokens = $allTokens | Select-Object -SkipLast 1
            $queryTokens = @($completedTokens) + @("")
        } else {
            $queryTokens = @($allTokens) + @("")
        }
    
        $result = yc __completeNoDesc @queryTokens 2>$null
    
        $completions = $result | Where-Object {
            $_ -notmatch '^\:' -and $_ -notmatch '^Completion'
        } | Where-Object {
            $_.StartsWith($wordToComplete)
        }
    
        if ($completions.Count -eq 0 -and $wordToComplete -ne '') {
            $queryTokensFallback = @($completedTokens) + @($wordToComplete)
            $resultFallback = yc __completeNoDesc @queryTokensFallback 2>$null
    
            $completions = $resultFallback | Where-Object {
                $_ -notmatch '^\:' -and $_ -notmatch '^Completion'
            } | Where-Object {
                $_.StartsWith($wordToComplete)
            }
        }
    
        $completions | ForEach-Object {
            $parts = $_ -split '\t'
            [System.Management.Automation.CompletionResult]::new(
                $parts[0], $parts[0], 'ParameterValue', $parts[0]
            )
        }
    }
    

    Примечание

    По умолчанию при нажатии Tab в PowerShell варианты подставляются по очереди. Чтобы вместо этого открывалось меню со всеми вариантами и всплывающими подсказками, добавьте в начало файла следующие строки:

    Set-PSReadLineOption -ShowToolTips
    Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
    

    Эти строки меняют поведение Tab во всех командах PowerShell, не только в yc.

  3. Перезапустите PowerShell. Проверьте, что автодополнение работает: введите yc и нажмите Tab. Должны появиться варианты доступных команд.

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

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

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

Аккаунт на Яндексе
Федеративный аккаунт
Сервисный аккаунт
Аккаунт локального пользователя

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

  1. Получите адрес электронной почты:

    1. Перейдите в ваш аккаунт на Яндексе.
    2. В блоке Контакты скопируйте адрес электронной почты.
  2. Запустите интерактивное создание профиля:

    yc init --username=<электронная_почта>
    

    Если запустить yc init без параметра --username, для аутентификации в браузере откроется страница выбора аккаунта на Яндексе. Указав параметр --username заранее, вы попадете на страницу входа с уже подставленным адресом электронной почты.

  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 username '<электронная_почта>'.
    Authentication web site will be opened.
    After your successful authentication, you will be redirected to 'https://console.yandex.cloud'.
    
    Press 'enter' to continue...
    

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

    Чтобы продлить срок, в течение которого не нужно аутентифицироваться в браузере, используйте refresh-токены, позволяющие перевыпускать IAM-токены без перехода в браузер. Для этого разрешите использовать refresh-токены на уровне организации и инициализируйте DPoP-защиту в 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
    

    Результат:

    subject-id: b1g159pa15cd********
    username: <электронная_почта>
    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-токен. При каждой операции аутентификация будет происходить с помощью этого IAM-токена, пока не истечет время его жизни (не более 12 часов). После этого CLI снова выведет сообщение о необходимости пройти аутентификацию в браузере.

    Чтобы продлить срок, в течение которого не нужно аутентифицироваться в браузере, используйте refresh-токены, позволяющие перевыпускать IAM-токены без перехода в браузер. Для этого разрешите использовать refresh-токены на уровне организации и инициализируйте DPoP-защиту в 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********
    subject-id: ajea53egl28l********
    cloud-id: b1g159pa15cd********
    folder-id: b1g8o9jbt58********
    compute-default-zone: ru-central1-b
    

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

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

    yc iam service-account --folder-id <идентификатор_каталога> list
    

    Результат:

    +----------------------+------------+--------+---------------------+-----------------------+
    |          ID          |    NAME    | LABELS |     CREATED AT      | LAST AUTHENTICATED AT |
    +----------------------+------------+--------+---------------------+-----------------------+
    | ajeg2b2et02f******** | my-robot   |        | 2024-09-08 18:59:45 | 2025-08-21 06:40:00   |
    | ajegtlf2q28a******** | default-sa |        | 2023-06-27 16:18:18 | 2025-08-21 06:30:00   |
    +----------------------+------------+--------+---------------------+-----------------------+
    
  2. Создайте авторизованный ключ для сервисного аккаунта и сохраните его в файл key.json:

    yc iam key create \
      --service-account-name default-sa \
      --output key.json \
      --folder-id <идентификатор_каталога>
    

    Результат:

    id: aje83v701b1u********
    service_account_id: aje3932acd0c********
    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: aje83v701b1u********
      service_account_id: aje3932acd0c********
      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.

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

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

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

    Пул пользователей
    Электронная почта
    1. Узнайте идентификатор пула пользователей у вашего администратора.

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

      yc init --userpool-id=<идентификатор_пула_пользователей>
      
    1. Получите адрес электронной почты:

      1. Перейдите в портал Мой аккаунт.
      2. На панели слева выберите Профиль.
      3. В блоке Контакты скопируйте адрес электронной почты.
    2. Запустите интерактивное создание профиля:

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

    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
    
  3. CLI выведет сообщение о продолжении аутентификации в браузере. Для продолжения нажмите клавишу Enter.

    You are going to be authenticated via userpool-id 'ek0auknfc0mh********'.
    Your userpool authentication web site will be opened.
    After your successful authentication, you will be redirected to cloud console.
    
    Press 'enter' to continue...
    

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

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

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

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

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

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

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

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

    yc config list
    

    Результат:

    Пул пользователей
    Электронная почта
    userpool-id: ek0auknfc0mh********
    subject-id: ek00cd1m8hdd8********
    cloud-id: b1g159pa15cd********
    folder-id: b1g8o9jbt58********
    compute-default-zone: ru-central1-b
    
    subject-id: b1g159pa15cd********
    username: <электронная_почта>
    folder-id: b1g8o9jbt58********
    compute-default-zone: ru-central1-b
    

Проверьте работу 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 — ледяное хранилище.
    • intelligent_tiering — умное хранилище.

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

    • --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
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»