Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for YDB
  • Начало работы
  • Управление доступом
      • Настройка инструментов AWS
      • Работа с данными через HTTP-интерфейс
    • Общие ошибки при работе с Document API
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Публичные материалы
  • Обучающие курсы

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

  • Назначение роли на ресурс
  • Назначение роли на организацию
  1. Document API, совместимый с Amazon DynamoDB
  2. Инструменты
  3. Настройка инструментов AWS

Настройка инструментов AWS

Статья создана
Yandex Cloud
Улучшена
Обновлена 14 ноября 2025 г.
  • Назначение роли на ресурс
  • Назначение роли на организацию

Для работы с БД через Document API в режиме совместимости с AWS DynamoDB вы можете использовать инструменты AWS:

  • AWS CLI — интерфейс командной строки AWS.
  • AWS SDK — инструменты для разработки.

Важно

Через Document API возможен доступ только к документным таблицам.

Для работы инструментов AWS выполните следующие настройки:

  1. Создайте сервисный аккаунт, от имени которого вы будете работать с базой.

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

    Консоль управления
    CLI
    API
    1. Войдите в консоль управления.

    2. В левой части экрана нажмите на строку с именем каталога, в котором вы хотите создать сервисный аккаунт.

    3. Перейдите в сервис Identity and Access Management.

    4. Нажмите кнопку Создать сервисный аккаунт.

    5. Введите имя сервисного аккаунта.

      Требования к формату имени:

      • длина — от 2 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.

      Имя сервисного аккаунта должно быть уникальным в рамках облака.

    6. Нажмите кнопку Создать.

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

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

      yc iam service-account create --help
      
    2. Создайте сервисный аккаунт с именем my-robot:

      yc iam service-account create --name my-robot
      

      Требования к имени сервисного аккаунта:

      • длина — от 2 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.

    Чтобы создать сервисный аккаунт, воспользуйтесь методом create для ресурса ServiceAccount.

  2. Назначьте сервисному аккаунту роль editor.

    Сервисному аккаунту можно назначать роли на любые ресурсы в любом облаке, если эти ресурсы относятся к той же организации, что и сервисный аккаунт. Также сервисному аккаунту можно назначать роли на саму организацию.

    Назначение роли на ресурсНазначение роли на ресурс

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

    Узнайте, на какие ресурсы можно назначать роли.

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

    Консоль управления
    CLI
    Terraform
    API

    Роли сервисному аккаунту назначаются так же, как пользовательскому аккаунту.

    Чтобы назначить сервисному аккаунту роль на облако или каталог:

    1. В консоли управления выберите нужное облако или каталог.
    2. Перейдите на вкладку Права доступа.
    3. Нажмите кнопку Настроить доступ.
    4. В открывшемся окне выберите раздел Сервисные аккаунты.
    5. Выберите нужный сервисный аккаунт из списка или воспользуйтесь поиском.
    6. Нажмите кнопку Добавить роль и выберите роль из списка или воспользуйтесь поиском.
    7. Нажмите кнопку Сохранить.

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

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

    Чтобы назначить сервисному аккаунту роль на облако или каталог, выполните команду:

    yc resource-manager <категория_ресурса> add-access-binding <имя_или_идентификатор_ресурса> \
      --role <идентификатор_роли> \
      --subject serviceAccount:<идентификатор_сервисного_аккаунта>
    

    Где:

    • <категория_ресурса> — cloud, чтобы назначить роль на облако, или folder, чтобы назначить роль на каталог.
    • <имя_или_идентификатор_ресурса> — имя или идентификатор ресурса, на который назначается роль.
    • --role — идентификатор роли, например viewer.
    • --subject serviceAccount — идентификатор сервисного аккаунта, которому назначается роль.

    Например, чтобы назначить сервисному аккаунту роль viewer на каталог my-folder:

    1. Выберите роль, которую хотите назначить сервисному аккаунту. Описание ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud.

    2. Узнайте идентификатор сервисного аккаунта по его имени:

      yc iam service-account get my-robot
      

      Результат:

      id: aje6o61dvog2********
      folder_id: b1gvmob95yys********
      created_at: "2018-10-15T18:01:25Z"
      name: my-robot
      

      Если вы не знаете имя сервисного аккаунта, получите список сервисных аккаунтов с их идентификаторами:

      yc iam service-account list
      

      Результат:

      +----------------------+------------------+-----------------+
      |          ID          |       NAME       |   DESCRIPTION   |
      +----------------------+------------------+-----------------+
      | aje6o61dvog2******** | my-robot         | my description  |
      +----------------------+------------------+-----------------+
      
    3. Назначьте роль viewer сервисному аккаунту my-robot, используя его идентификатор:

      yc resource-manager folder add-access-binding my-folder \
        --role viewer \
        --subject serviceAccount:aje6o61dvog2********
      

    Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

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

      Пример структуры конфигурационного файла:

      resource "yandex_resourcemanager_folder_iam_member" "admin-account-iam" {
        folder_id   = "<идентификатор_каталога>"
        role        = "<роль>"
        member      = "serviceAccount:<идентификатор_сервисного_аккаунта>"
      }
      

      Где:

      • folder_id — идентификатор каталога. Обязательный параметр.
      • role — назначаемая роль. Описание ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud. Обязательный параметр.
      • member — идентификатор сервисного аккаунта, которому назначается роль. Указывается в виде serviceAccount:<идентификатор_сервисного_аккаунта>. Обязательный параметр.

      Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

    2. Проверьте корректность конфигурационных файлов.

      1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

      2. Выполните проверку с помощью команды:

        terraform plan
        

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

    3. Разверните облачные ресурсы.

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

        terraform apply
        
      2. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

      После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить создание ресурса можно в консоли управления или с помощью команды CLI:

      yc resource-manager folder list-access-bindings <имя_или_идентификатор_каталога>
      

    Чтобы назначить сервисному аккаунту роль на облако или каталог, воспользуйтесь методом REST API updateAccessBindings для ресурса Cloud или Folder:

    1. Выберите роль, которую хотите назначить сервисному аккаунту. Описание ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud.

    2. Узнайте ID каталога с сервисными аккаунтами.

    3. Получите IAM-токен для авторизации в API Yandex Cloud.

    4. Получите список сервисных аккаунтов в каталоге, чтобы узнать их идентификаторы:

      export FOLDER_ID=b1gvmob95yys********
      export IAM_TOKEN=CggaATEVAgA...
      curl \
        --header "Authorization: Bearer ${IAM_TOKEN}" \
        "https://iam.api.cloud.yandex.net/iam/v1/serviceAccounts?folderId=${FOLDER_ID}"
      

      Результат:

      {
       "serviceAccounts": [
        {
         "id": "ajebqtreob2d********",
         "folderId": "b1gvmob95yys********",
         "createdAt": "2018-10-18T13:42:40Z",
         "name": "my-robot",
         "description": "my description"
        }
       ]
      }
      
    5. Сформируйте тело запроса, например в файле body.json. В свойстве action укажите ADD, в свойстве roleId — нужную роль, например editor, а в свойстве subject — тип serviceAccount и идентификатор сервисного аккаунта:

      body.json:

      {
        "accessBindingDeltas": [{
          "action": "ADD",
          "accessBinding": {
            "roleId": "editor",
            "subject": {
              "id": "ajebqtreob2d********",
              "type": "serviceAccount"
            }
          }
        }]
      }
      
    6. Назначьте роль сервисному аккаунту. Например, на каталог с идентификатором b1gvmob95yys********:

      export FOLDER_ID=b1gvmob95yys********
      export IAM_TOKEN=CggaAT********
      curl \
        --request POST \
        --header "Content-Type: application/json" \
        --header "Authorization: Bearer ${IAM_TOKEN}" \
        --data '@body.json' \
        "https://resource-manager.api.cloud.yandex.net/resource-manager/v1/folders/${FOLDER_ID}:updateAccessBindings"
      

    Назначение роли на организациюНазначение роли на организацию

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

    Чтобы предоставить сервисному аккаунту права доступа к организации, необходима роль не ниже organization-manager.admin.

    Интерфейс Cloud Center
    CLI
    Terraform
    API
    1. Войдите в сервис Yandex Identity Hub с учетной записью администратора или владельца организации.

    2. На панели слева выберите Права доступа.

    3. В фильтре Тип аккаунта выберите Сервисные аккаунты.

    4. Если у нужного сервисного аккаунта уже есть хотя бы одна роль, в строке с этим аккаунтом нажмите значок и выберите Назначить роли.

      Если нужного сервисного аккаунта нет в списке, в правом верхнем углу страницы нажмите кнопку Назначить роли. В открывшемся окне перейдите в раздел Сервисные аккаунты и выберите аккаунт из списка или воспользуйтесь поиском.

    5. Нажмите кнопку Добавить роль и выберите роль, которую хотите назначить сервисному аккаунту. Вы можете назначить несколько ролей.

      Описание доступных ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud.

    6. Нажмите кнопку Сохранить.

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

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

    Чтобы назначить сервисному аккаунту роль на организацию, выполните команду:

    yc organization-manager organization add-access-binding <имя_или_идентификатор_организации> \
      --role <идентификатор_роли> \
      --subject serviceAccount:<идентификатор_сервисного_аккаунта>
    

    Где:

    • <имя_или_идентификатор_организации> — техническое название или идентификатор организации.
    • --role — идентификатор роли, например viewer.
    • --subject serviceAccount — идентификатор сервисного аккаунта, которому назначается роль.

    Например, чтобы назначить сервисному аккаунту роль viewer на организацию MyOrg:

    1. Выберите роль, которую хотите назначить сервисному аккаунту. Описание ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud.

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

      yc organization-manager organization list
      

      Результат:

      +---------------------------------+---------------------------------+----------------------+
      |               ID                |              NAME               |        TITLE         |
      +---------------------------------+---------------------------------+----------------------+
      | bpf1smsil5q0********            | hdt5j5uw********                | MyOrg                |
      +---------------------------------+---------------------------------+----------------------+
      

      Техническое название организации находится в столбце NAME, идентификатор организации — в столбце ID.

    3. Узнайте идентификатор сервисного аккаунта по его имени:

      yc iam service-account get my-robot
      

      Результат:

      id: aje6o61dvog2********
      folder_id: b1gvmob95yys********
      created_at: "2018-10-15T18:01:25Z"
      name: my-robot
      

      Если вы не знаете имя сервисного аккаунта, получите полный список сервисных аккаунтов с их идентификаторами:

      yc iam service-account list
      

      Результат:

      +----------------------+------------------+-----------------+
      |          ID          |       NAME       |   DESCRIPTION   |
      +----------------------+------------------+-----------------+
      | aje6o61dvog2******** | my-robot         | my description  |
      +----------------------+------------------+-----------------+
      
    4. Назначьте сервисному аккаунту my-robot роль viewer на организацию с идентификатором bpf1smsil5q0********:

      yc organization-manager organization add-access-binding bpf1smsil5q0******** \
        --role viewer \
        --subject serviceAccount:aje6o61dvog2********
      

    Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

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

      Пример структуры конфигурационного файла:

      resource "yandex_organizationmanager_organization_iam_binding" "editor" {
        organization_id   = "<идентификатор_организации>"
        role              = "<роль>"
        members           = [
                              "serviceAccount:<идентификатор_сервисного_аккаунта>",
                            ]
      }
      

      Где:

      • organization_id — идентификатор организации. Обязательный параметр.
      • role — назначаемая роль. Описание ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud. Для каждой роли можно использовать только один yandex_organization manager_organization_iam_binding. Обязательный параметр.
      • members — идентификатор сервисного аккаунта, которому назначается роль. Указывается в виде serviceAccount:<идентификатор_сервисного_аккаунта>. Обязательный параметр.

      Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

    2. Проверьте корректность конфигурационных файлов.

      1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

      2. Выполните проверку с помощью команды:

        terraform plan
        

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

    3. Разверните облачные ресурсы.

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

        terraform apply
        
      2. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

      После этого в указанной организации будут созданы все требуемые ресурсы. Проверить создание ресурса можно в консоли управления или с помощью команды CLI:

      yc organization-manager organization list-access-bindings <имя_или_идентификатор_организации>
      

    Чтобы назначить сервисному аккаунту роль на организацию, воспользуйтесь методом REST API updateAccessBindings для ресурса Organization:

    1. Выберите роль, которую хотите назначить сервисному аккаунту. Описание ролей можно найти в документации Yandex Identity and Access Management в справочнике ролей Yandex Cloud.

    2. Узнайте ID каталога с сервисными аккаунтами.

    3. Получите IAM-токен для авторизации в API Yandex Cloud.

    4. Получите список сервисных аккаунтов в каталоге, чтобы узнать их идентификаторы:

      export FOLDER_ID=b1gvmob95yys********
      export IAM_TOKEN=CggaATEVAgA...
      curl \
        --header "Authorization: Bearer ${IAM_TOKEN}" \
        "https://iam.api.cloud.yandex.net/iam/v1/serviceAccounts?folderId=${FOLDER_ID}"
      

      Результат:

      {
       "serviceAccounts": [
        {
         "id": "ajebqtreob2d********",
         "folderId": "b1gvmob95yys********",
         "createdAt": "2018-10-18T13:42:40Z",
         "name": "my-robot",
         "description": "my description"
        }
       ]
      }
      
    5. Получите список организаций, чтобы узнать их идентификаторы:

      export IAM_TOKEN=CggaATEVAgA... 
      curl \
        --header "Authorization: Bearer ${IAM_TOKEN}" \
        --request GET \
        "https://organization-manager.api.cloud.yandex.net/organization-manager/v1/organizations"
      

      Результат:

      {
       "organizations": [
        {
         "id": "bpfaidqca8vd********",
         "createdAt": "2023-04-07T08:11:54.313033Z",
         "name": "xvdq9q22********",
         "title": "MyOrg"
        }
       ]
      }
      
    6. Сформируйте тело запроса, например в файле body.json. В свойстве action укажите ADD, в свойстве roleId — нужную роль, например viewer, а в свойстве subject — тип serviceAccount и идентификатор сервисного аккаунта:

      body.json:

      {
        "accessBindingDeltas": [{
          "action": "ADD",
          "accessBinding": {
            "roleId": "viewer",
            "subject": {
              "id": "ajebqtreob2d********",
              "type": "serviceAccount"
            }
          }
        }]
      }
      
    7. Назначьте роль сервисному аккаунту. Например, на организацию с идентификатором bpfaidqca8vd********:

      export ORGANIZATION_ID=bpfaidqca8vd********
      export IAM_TOKEN=CggaATEVAgA...
      curl \
        --header "Content-Type: application/json" \
        --header "Authorization: Bearer ${IAM_TOKEN}" \
        --data '@body.json' \
        --request POST \
        "https://organization-manager.api.cloud.yandex.net/organization-manager/v1/organizations/${ORGANIZATION_ID}:updateAccessBindings"
      
  3. Получите идентификатор ключа и ключ доступа созданного сервисного аккаунта:

    Консоль управления
    CLI
    API
    1. Перейдите в каталог, которому принадлежит сервисный аккаунт.

    2. В списке сервисов выберите Identity and Access Management.

    3. На панели слева выберите Сервисные аккаунты и выберите нужный сервисный аккаунт.

    4. Нажмите кнопку Создать новый ключ на верхней панели.

    5. Выберите пункт Создать статический ключ доступа.

    6. Задайте описание ключа, чтобы потом было проще найти его в консоли управления.

    7. Сохраните идентификатор и секретный ключ.

      Внимание

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

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

    1. Посмотрите описание команды создания статического ключа доступа:

      yc iam access-key create --help
      
    2. Выберите сервисный аккаунт, например my-robot:

      yc iam service-account list
      +----------------------+------------------+-------------------------------+
      |          ID          |       NAME       |          DESCRIPTION          |
      +----------------------+------------------+-------------------------------+
      | aje6o61dvog2******** | my-robot         |                               |
      ...
      
    3. Создайте ключ доступа для сервисного аккаунта my-robot:

      yc iam access-key create --service-account-name my-robot
      
      access_key:
        id: aje6t3vsbj8l********
        service_account_id: ajepg0mjt06s********
        created_at: "2018-11-22T14:37:51Z"
        key_id: 0n8X6WY6S24N********
      secret: JyTRFdqw8t1kh2-OJNz4JX5ZTz9Dj1rI********
      
    4. Сохраните идентификатор key_id и секретный ключ secret. Получить значение ключа снова будет невозможно.

    Чтобы создать ключ доступа, воспользуйтесь методом create для ресурса AccessKey.

  4. Установите AWS CLI.

  5. Настройте окружение AWS CLI: Запустите команду aws configure и последовательно введите сохраненные ранее идентификатор ключа и секретный ключ. Для значения региона используйте ru-central1:

    aws configure
    AWS Access Key ID [None]: AKIAIOSFODNN********
    AWS Secret Access Key [None]: wJalr********/*******/bPxRfiCYEX********
    Default region name [None]: ru-central1
    Default output format [None]:
    

    В результате будут созданы файлы ~/.aws/credentials и ~/.aws/config (C:\Users\USERNAME\.aws\credentials и C:\Users\USERNAME\.aws\config в Windows).

  6. Проверьте корректность настройки, запустив команду листинга таблиц в созданной ранее БД. В качестве значения --endpoint укажите Document API эндпоинт, доступный на вкладке Обзор вашей базы данных в консоли управления.

    aws dynamodb list-tables \
    --endpoint https://docapi.serverless.yandexcloud.net/ru-central1/b1gia87mbaom********/etnudu2n9ri3********
    

    Результат:

    {
        "TableNames": [
        ]
    }
    

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

Предыдущая
list
Следующая
Работа с данными через HTTP-интерфейс
Проект Яндекса
© 2025 ООО «Яндекс.Облако»