Роли IAM для Sagemaker?

#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": "*"
    }
]
  

}