Установка и настройка aws cli для доступа к бакету
Для получения доступа кбакету с помощью утилиты командной строки aws cli необходимо ее установить и настроить.
Подготовим все необходимое для начала:
1. Создаем сервисный аккаунт. В консоли облака заходим в Сервисные аккаунты --> Создать сервисный аккаунт
В появившемся окне нужно вписать имя аккаунта, описание и выдать права доступа. В моем случае это будет выглядеть так:
1.1 cam-aws
1.2 SA for aws-cli
1.3 storage.editor
Или это можно сделать через CLI:
yc iam service-account create --name cam-aws yc resource folder add-access-binding b1gpe6racfn01jdm6o4v --role storage.editor --subject serviceAccount:aj8eog8gncdl9tejvjtj
где b1gpe6racfn01jdm6o4v - идентификатор каталога, в котором создан пользователь, а aj8eog8gncdl9tejvjtj - идентификатор пользователя, полученный при его создании на предыдущем этапе.
2. Создаем статический ключ доступа. Его можно создать с помощью консоли облака, подробнее об этом можно почитать здесь: https://cloud.yandex.ru/docs/iam/operations/sa/create-access-key
А можно с помощью утилиты командной строки yc. Подробнее про ее установку можно почитать здесь: https://cloud.yandex.ru/docs/cli/operations/install-cli
Итак, создаем статические ключи с помощью команды yc:
yc iam access-key create --service-account-name cam-aws
access_key: id: ajej00203t4kplfffb4m service_account_id: aje50ubavfdq6hti2hl8 created_at: "2022-04-18T06:48:50.429163971Z" key_id: YCAJEzxnCTR2dWRuoPqDnl7X- secret: YCPMMr8X5RDIkuWBYRIBeBCd9r9BOOQIMsOsbhvB
Отсюда нам понадобятся только 2 строчки, их надо запомнить:
key_id: YCAJEzxnCTR2dWRuoPqDnl7X- secret: YCPMMr8X5RDIkuWBYRIBeBCd9r9BOOQIMsOsbhvB
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install -i /usr/local/aws-cli -b /usr/local/bin which aws aws --version aws configure
После выполнения команды aws configure вставляем последовательно:
1. key_id
2. secret
3. ru-central1
alias ycs3='aws s3 --endpoint-url=https://storage.yandexcloud.net' ycs3 ls ycs3 s3 mb s3://bucket-name ycs3 ls