AccessDeniedException в Amazon Kendra

Я использую Amazon Kendra для создания системы семантического поиска. Ниже приведен фрагмент моего кода Python, написанный в блокноте Sagemaker:

kendra = boto3.client("kendra",region_name='us-east-1')    
index_id = "05d8defe-e2-a9e3-3534de"
query = "boots please"

response = kendra.query(
    QueryText = query1,
    IndexId = index_id
)

«ответ» выдает мне ошибку:

AccessDeniedException: An error occurred (AccessDeniedException) when calling the Query operation: User: arn:aws:sts::9174853:assumed-role/AmazonSageMaker-ExecutionRole-2023083103184/SageMaker is not authorized to perform: kendra:Query on resource: arn:aws:kendra:us-east-1:9174853:index/5ba72cde-24e-8736-020a21bce

Вот основные шаги, которые я выполнил: создайте сегмент в S3, загрузите набор данных, создайте индекс в Kendra и назначьте ему роль, подключите индекс к источнику данных (S3) и назначьте ему новую роль (отличную от роль индекса), синхронизируйте данные и выполните вышеупомянутый код.

Некоторые уточнения:

  1. Я нигде не назначал разрешения и я здесь единственный пользователь.
  2. Я создал разные роли IAM для индекса и источника данных.

Почему я получаю эту ошибку и как ее исправить?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
52
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Согласно сообщению об ошибке, роль индекса Kendra не авторизована для выполнения действия запроса по индексу Kendra. Вы можете явно добавить разрешение и повторить попытку. Или вы можете попытаться создать новый индекс и позволить Kendra создать для вас роль индекса на этапе создания индекса Kendra. Это рекомендуемый подход.

Я назначил роли Кендры в разделе IAM -> Роли все необходимые разрешения — S3FullAccess, AdministratorAccess, доступ Sgemaker и доступ к другим ролям. Ошибка сохраняется.

Apoorva 20.09.2023 12:59

У Кендры есть два типа ролей: роль индекса и роль источника данных. Убедитесь, что вы добавили все соответствующие разрешения для роли индекса.

gt2rs 21.09.2023 19:13

Кроме того, ваш код принимает на себя роль «AmazonSageMaker-ExecutionRole-2023083103184/SageMaker», вам необходимо предоставить эту роль разрешениям на выполнение «kendra:Query» на ресурсе «arn:aws:kendra:us-east-1:9174853: index/5ba72cde-24e-8736-02‌​0a21bce". Вам понадобится что-то вроде ниже: ` { "Эффект": "Разрешить", "Действие": "kendra:Query", "Ресурс": "arn:aws:kendra:region:account-id:index/index-id" } `

gt2rs 22.09.2023 00:32
Ответ принят как подходящий

Я исправил проблему. Вот как я это сделал:

Я прикрепил политику «AmazonKendraFullAccess» к роли SageMaker (AmazonSageMaker-ExecutionRole-xxxxxxxxx) в консоли AWS Identity and Access Management (IAM).

Другие вопросы по теме

Похожие вопросы

Скачивание CSV-файлов из корзины AWS S3 в хранилище BLOB-объектов Azure с помощью ADF (фабрика данных Azure)
Rails 7 - форматированный текст, не отображающий прикрепленный медиаконтент
Отказано в доступе при создании S3 Bucket ACL и политики S3 с использованием Terraform
«не удается импортировать имя« DEFAULT_CIPHERS »из« urllib3.util.ssl_ »» в AWS Lambda с использованием слоя
Как я могу загружать изображения в корзину Amazon S3 с помощью маршрутизатора приложений Next.js 13 и преодолевать изменения структуры маршрутов API?
Как я могу программно уменьшить/контролировать скорость запросов S3?
Прямая загрузка S3 с использованием предварительно подписанного URL-адреса, сгенерированного из временных учетных данных STS
Удаление объекта terraform s3 в правиле жизненного цикла версионной корзины
Обеспечение использования Laravel 5.1 TLS 1.2 с корзиной AWS S3
Как предотвратить случайное пустое ведро S3 из консоли AWS?