#amazon-web-services #amazon-iam #amazon-sagemaker #amazon-comprehend
#amazon-веб-сервисы #amazon-iam #amazon-sagemaker #amazon-понять
Вопрос:
Я пытаюсь заставить AWS SageMaker вызвать AWS Comprehend. Я получаю это сообщение в SageMaker:
Ошибка интерфейса: произошла ошибка (AccessDeniedException) при вызове операции StartTopicsDetectionJob: Пользователь: arn: aws: sts::545176143103:предполагаемая роль / доступ к aws-сервисам-от-sagemaker / SageMaker не авторизован для выполнения: iam: PassRole для ресурса: arn: aws: iam::545176143103:роль / доступ к aws-сервисам-от- создатель мудрости
При создании Jupyter notebook я использовал эту роль:
arn: aws: sagemaker: us-east-2:545176143103: экземпляр ноутбука / доступ к пониманию из sagemaker
…с приложением следующих политик:
Я использую ту же роль IAM в SageMaker:
data_access_role_arn = "arn:aws:iam::545176143103:role/access-aws-services-from-sagemaker"
Похоже, я предоставляю роли весь необходимый доступ. Как я могу исправить эту ошибку?
Комментарии:
1. К вашему сведению: Этот вопрос был показан сегодня в потоке AWS twitch: twitch.tv/videos/1785378869
Ответ №1:
Судя по вашей ошибке, похоже, что возникла проблема с разрешениями для ноутбука SageMaker, пытающегося изменить настройки IAM из ноутбука, у которого явно нет разрешения на это.
У вас есть несколько вариантов, чтобы исправить это:
Вариант 1. Предоставление записной книжке SageMaker разрешений на определение роли IAM в записной книжке во время выполнения.
В консоли щелкните Hosted Notebooks
вдоль левой панели навигации, затем под Permissions
выберите прикрепленную роль IAM. Здесь вы можете добавить такие политики, как IAMFullAccess
или IAMReadOnlyAccess
. Это должно устранить ошибку разрешений при попытке подключить роль IAM из ноутбука.
Вариант 2. Явно определите разрешения, которые вы хотите, чтобы SageMaker имел в консоли.
В консоли щелкните Hosted Notebooks
вдоль левой панели навигации, затем под Permissions
выберите прикрепленную роль IAM. Здесь вы можете напрямую добавлять политики для разрешений ресурсов (например, Comprehend). Без привязки явных политик доступа IAM к этой роли вы не сможете изменять разрешения во время выполнения.
Вариант 3: Оба
Если вы хотите предварительно определить доступ к некоторым ресурсам, но также потенциально добавить разрешения на другие ресурсы во время эксперимента, вы можете выполнить оба шага 1 и 2 (Добавить IAM другие разрешения на ресурсы к размещенному ноутбуку в консоли с возможностью изменения встроенной роли SageMaker IAM во время эксперимента).
Комментарии:
1. «В консоли щелкните по размещенным записным книжкам вдоль левой панели навигации, затем в разделе Разрешения » Не удается найти этот параметр
2. Вам нужно нажать на
Notebook instances
, затем на свой экземпляр notebook и в разделеPermissions and encryption
нажмите наIAM role ARN
, после чего вы сможете прикрепить правильную политику
Ответ №2:
Вам необходимо добавить полный доступ sts, чтобы Sagemaker принял на себя роль. User: arn:aws:sts::545176143103:assumed-role
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"sts:DecodeAuthorizationMessage",
"sts:GetAccessKeyInfo",
"sts:GetCallerIdentity"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "sts:*",
"Resource": "*"
}
]
}