Skip to main content

Учетные данные IAM

Overview

  • AWS Bedrock: Полностью управляемый сервис, предоставляющий доступ к ведущим генеративным AI-моделям (например, Anthropic Claude, Amazon Nova) через AWS.
    Узнать больше об AWS Bedrock.
  • Careti: Расширение VS Code, которое выступает в роли помощника по программированию, интегрируясь с AI-моделями, что позволяет разработчикам генерировать код, выполнять отладку и анализировать данные.
  • Корпоративный фокус: Данное руководство предназначено для организаций с настроенными средами AWS (использующих IAM-роли, AWS SSO, AWS Organizations и т. д.) для обеспечения безопасного и соответствующего требованиям использования.

Step 1: Prepare Your AWS Environment

1.1 Create or Use an IAM Role/User

  1. Войдите в AWS Management Console:
    AWS Console
  2. Перейдите в IAM:
    • Найдите IAM (Identity and Access Management) в AWS Console.
    • Создайте нового IAM-пользователя или используйте AWS SSO вашей организации для получения выделенной роли с доступом к Bedrock.
    • AWS IAM User Guide

1.2 Attach the Required Policies

Чтобы Careti мог взаимодействовать с AWS Bedrock, вашему IAM-пользователю или роли требуются определенные разрешения. Хотя управляемая политика AmazonBedrockLimitedAccess предоставляет полный доступ, для более ограниченной и безопасной настройки, следуя принципу наименьших привилегий, для основной функции вызова моделей в Careti достаточно следующих минимальных разрешений:

  • bedrock:InvokeModel
  • bedrock:InvokeModelWithResponseStream

Вы можете создать кастомную IAM-политику с этими разрешениями и прикрепить ее к своему IAM-пользователю или роли.

Вариант 1: Минимальные разрешения (рекомендуется для Production и соблюдения принципа наименьших привилегий)

  1. В консоли AWS IAM создайте новую политику.
  2. Используйте JSON-редактор, чтобы добавить следующий документ политики:
    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Action": ["bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream"],
    "Resource": "*" // Для повышения безопасности ограничьте доступ к конкретным ARN моделей, если это возможно.
    }
    ]
    }
  3. Назовите политику (например, ClineBedrockInvokeAccess) и прикрепите ее к своему IAM-пользователю или роли.

Вариант 2: Использование управляемой политики (более простая начальная настройка)

  • В качестве альтернативы вы можете прикрепить управляемую политику AWS AmazonBedrockLimitedAccess. Она предоставляет более широкие разрешения, включая возможность вывода списка моделей, управление ресурсами и другие функции Bedrock. Это может быть проще для начальной настройки или если вам требуются эти дополнительные возможности. Просмотреть детали политики AmazonBedrockLimitedAccess

Важные соображения:

  • Список моделей в Careti: Минимальных разрешений (bedrock:InvokeModel, bedrock:InvokeModelWithResponseStream) достаточно для того, чтобы Careti мог использовать модель, если вы укажете ID модели напрямую в настройках Careti. Если вы хотите, чтобы Careti динамически загружал список доступных моделей Bedrock, вам могут понадобиться дополнительные разрешения, такие как bedrock:ListFoundationModels.
  • Подписки AWS Marketplace: Для сторонних моделей (например, Anthropic Claude) убедитесь, что у вас есть активные подписки в AWS Marketplace. Обычно это настраивается в консоли AWS Bedrock в разделе "Model access" и может потребовать разрешений aws-marketplace:Subscribe, если это не было сделано ранее.
  • Совет для Enterprise: Всегда применяйте принцип наименьших привилегий. Где возможно, ограничивайте ARN ресурсов в ваших IAM-политиках конкретными моделями или регионами. Используйте Service Control Policies (SCPs) для глобального управления в AWS Organizations.

Step 2: Verify Regional and Model Access

2.1 Choose and Confirm a Region

  1. Выберите регион:
    AWS Bedrock доступен в нескольких регионах (например, US East, Europe, Asia Pacific). Выберите регион, который соответствует вашим требованиям по задержке и комплаенсу.
    AWS Global Infrastructure
  2. Проверьте доступ к моделям:
    • В консоли AWS Bedrock подтвердите, что модели, необходимые вашей команде (например, Anthropic Claude, Amazon Nova), имеют статус "Access granted".
    • Примечание: Для некоторых продвинутых моделей может потребоваться Inference Profile, если они недоступны по запросу (on-demand).

2.2 Set Up AWS Marketplace Subscriptions (if needed)

  1. Подпишитесь на сторонние модели:
    • Перейдите в консоль AWS Bedrock и найдите раздел подписок на модели.
    • Для моделей от сторонних поставщиков (например, Anthropic) примите условия использования, чтобы оформить подписку.
    • AWS Marketplace
  2. Совет для Enterprise:
    • Подписки на модели часто управляются централизованно. Уточните у вашей облачной команды, существует ли стандартный процесс оформления подписок.

Step 3: Configure the Careti VS Code Extension

3.1 Install and Open Careti

  1. Установите VS Code:
    Скачайте с сайта VS Code.
  2. Установите расширение Careti:
    • Откройте VS Code.
    • Перейдите в Extensions Marketplace (Ctrl+Shift+X или Cmd+Shift+X).
    • Найдите Careti и установите его.

3.2 Configure Careti Settings

  1. Откройте настройки Careti:
    • Нажмите на иконку настроек ⚙️, чтобы выбрать API Provider.
  2. Выберите AWS Bedrock в качестве API Provider:
    • В выпадающем списке API Provider выберите AWS Bedrock.
  3. Введите ваши учетные данные AWS:
    • Введите ваши Access Key и Secret Key (или используйте временные учетные данные, если используете AWS SSO).
    • Укажите правильный AWS Region (например, us-east-1 или одобренный вашей организацией регион).
  4. Выберите модель:
    • Выберите on-demand модель (например, anthropic.claude-3-5-sonnet-20241022-v2:0).
  5. Сохраните и протестируйте:
    • Нажмите Done/Save, чтобы применить настройки.
    • Проверьте интеграцию, отправив простой запрос (например, "Generate a Python function to check if a number is prime.").

Step 4: Security, Monitoring, and Best Practices

  1. Безопасный доступ:
    • Отдавайте предпочтение AWS SSO/федерированным ролям вместо долгосрочных учетных данных IAM.
    • AWS IAM Best Practices
  2. Сетевая безопасность:
    • Рассмотрите возможность настройки AWS PrivateLink для безопасного подключения к Bedrock.
  3. Мониторинг и логирование:
    • Включите AWS CloudTrail для логирования вызовов API Bedrock.
    • Используйте CloudWatch для мониторинга метрик, таких как количество вызовов, задержка и использование токенов.
    • Настройте алерты для обнаружения аномальной активности.
  4. Обработка ошибок и управление затратами:
    • Реализуйте экспоненциальную задержку (exponential backoff) для обработки ошибок превышения лимитов (throttling).
    • Используйте AWS Cost Explorer и настройте оповещения о счетах для отслеживания расходов.
      AWS Cost Management
  5. Регулярный аудит и комплаенс:
    • Периодически пересматривайте IAM-роли и логи CloudTrail.
    • Следуйте внутренним политикам конфиденциальности данных и корпоративного управления.

Conclusion

Следуя этим шагам, ваша корпоративная команда сможет безопасно интегрировать AWS Bedrock с расширением Careti для VS Code для ускорения разработки:

  1. Подготовка среды AWS: Создайте или используйте безопасную IAM-роль/пользователя, прикрепите политику AmazonBedrockLimitedAccess и обеспечьте необходимые разрешения.
  2. Проверка региона и доступа к моделям: Подтвердите, что выбранный регион поддерживает нужные модели, и оформите подписку через AWS Marketplace, если это необходимо.
  3. Настройка Careti в VS Code: Установите и настройте Careti, используя ваши учетные данные AWS, и выберите подходящую модель.
  4. Внедрение безопасности и мониторинга: Используйте лучшие практики IAM, сетевой безопасности, мониторинга и управления затратами.

Для получения более подробной информации обратитесь к документации AWS Bedrock и координируйте действия со своей внутренней облачной командой. Приятной работы!


Это руководство будет обновляться по мере развития AWS Bedrock и Careti. Всегда обращайтесь к актуальной документации и внутренним политикам для получения свежей информации.