Рейтинг:1

Роли AWS IAM: что такое доверенный объект?

флаг de

У меня есть роль, прикрепленная к LaunchConfiguration для экземпляра EC2, которая дает привилегии экземпляра EC2 делать определенные вещи, например вести журналы Cloudwatch (контекст не важен для вопроса). В Cloudformation роль выглядит так:

    Тип: «AWS::IAM::Роль»
    Характеристики:
      Ассумролеполицидокумент:
        Версия: '2012-10-17'
        Заявление:
        - Эффект: Разрешить
          Главный:
            Сервис: ec2.amazonaws.com.
          Действие: 'sts:AssumeRole'
      Политики: ...

Если я просматриваю роль в консоли AWS, в разделе «Доверительные отношения» говорится «Доверенные лица: поставщики удостоверений ec2.amazonaws.com»:


введите описание изображения здесь


Я предполагаю, что Cloudformation AssumeRolePolicyDocument.Principal.Service сопоставляется с "Trusted Entity" в консоли (что, кстати, является странным способом называть вещи, потому что я читал "Главный" как имеющие другое значение в IAM, но тем не менее...). Я напрягаю свой мозг, пытаясь собрать воедино то, что происходит. Мои вопросы:

  1. Что такое «доверенный объект» IAM?
  2. Как это сущность «ec2.amazonaws.com» "принимает на себя роль"? Концепция сервиса «ec2.amazonaws.com» предполагая, что рулон просто не щелкает со мной.
  3. В каком смысле сущность «ec2.amazonaws.com» это "предоставление идентичности"?
  4. Где я могу найти полный список этих так называемых доверенных лиц?
Рейтинг:2
флаг gp
Tim
  1. Доверенный объект — это служба, которая может взять на себя любую заданную роль. Если вы сделаете EC2 доверенным объектом, вы не сможете взять на себя роль для использования разрешений, лямбда не сможет взять на себя эту роль, только экземпляр EC2. Большинство сервисов в AWS получают разрешения, принимая на себя роли. Многие сервисы могут автоматически настроить это для вас, что обычно происходит, когда люди изучают AWS. Когда вы работаете в защищенной среде, настройка ролей и разрешений становится довольно важной. Например, если вы даете EC2 роль с правами администратора, а кто-то скомпрометирует экземпляр, у него фактически есть права администратора в вашей учетной записи AWS, поэтому вы предоставляете всем ресурсам / ролям наименьшие разрешения.
  2. Когда вы настраиваете ресурс, такой как экземпляр EC2 или функцию Lambda (и т. д.), вы указываете ему, какую роль взять на себя. Затем этот экземпляр/функция/и т. д. EC2 имеет разрешения, связанные с ролью.
  3. Это просто означает, что экземпляр EC2 может взять на себя эту роль. Когда экземпляр EC2 запускается, он определяет роль, которую хочет взять на себя. IAM проверяет, что роли разрешено принимать эту роль, а экземпляру разрешено запускаться.
  4. Есть список участников сервисов AWS. здесь. Когда вы нажимаете «создать роль» в консоли, вы получаете список доверенных лиц. Когда мне нужно что-то добавить в CloudFormation, я просто щелкаю по нему, а затем копирую и вставляю из json.

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

Вы можете представить роли IAM похожими на роли людей. Моя роль «архитектора компании XYZ» дает мне право входить в офис, входить в систему и тому подобное.Если я беру на себя роль, скажем, полицейского, у меня есть дополнительные права, такие как посещение полицейского участка, аресты людей и т. д.

spinkus avatar
флаг de
Это очень помогает, спасибо. Q3 все еще остается для меня загадкой.Сервисный объект ec2.amazonaws.com предоставляет идентификаторы экземпляров? Или просто идентификаторы в этом случае находятся в сфере ec2, вроде того, как полицейское управление предоставляет личности своих офицеров? Я понимаю аналогию с полицейским, пожарным, архитектором, но я больше думал, что это мой экземпляр ec2 / полицейский *сам* взял на себя роль, а не служба ec2 / полицейское управление. Я просто не могу понять концепцию полицейского управления, берущего на себя роль :/.
Tim avatar
флаг gp
Tim
В аналогии человек берет на себя роль полицейского, полицейский участок роли не берет. В AWS роль берет на себя экземпляр EC2, а не служба EC2. В доверенных объектах вы сообщаете AWS, что отдельные экземпляры/функции/и т. д. в службе могут взять на себя роль, а не сама служба может взять на себя роль.
Tim avatar
флаг gp
Tim
Мне потребовалось довольно много времени, чтобы понять IAM, это довольно сложно. После прохождения ассоциированной и профессиональной сертификации AWS у меня появилась довольно хорошая идея, но только после того, как я получил специальность по безопасности, а затем активно использовал IAM каждый день как часть своей работы, я действительно полностью понял это. Даже сейчас меня иногда сбивают с толку взаимодействия между политиками IAM, SCP и политиками сервисных ресурсов. Предлагаем вам пройти обучение по AWS, специальное обучение по безопасности Cloud Guru охватывает это очень хорошо, но начните с младшего архитектора.
spinkus avatar
флаг de
«... вы говорите AWS, что отдельные экземпляры/функции/и т. д. в службе могут брать на себя роль, а не сама служба может брать на себя роль». Итак, я интуитивно понял это, но консоль IAM говорит: «Следующие доверенные лица могут взять на себя эту роль», а затем перечисляет службу. И я заметил, что иногда «доверенный объект» *является* фактически пользователем (для ролей доступа к учетной записи в разных организациях).
spinkus avatar
флаг de
Оказывается, у меня это тоже занимает довольно много времени. Я думал, что более-менее разобрался, но чем больше смотрю, тем больше разваливается :). Я доберусь туда. Спасибо.
Tim avatar
флаг gp
Tim
Консольная формулировка не совсем корректна, роли могут брать на себя пользователи/экземпляры EC2/лямбда-функции/и т.д. Мы широко используем роли между учетными записями в некоторых организациях AWS, где у нас есть аутентификация пользователей IAM.(Следующий шаг более продвинутый). В других организациях, объединенных с внешним поставщиком удостоверений, таким как AD, мы используем AWS SSO, который создает роли в каждой учетной записи, которую могут взять на себя пользователи.
glitchwizard avatar
флаг br
Это было так полезно, спасибо. Я пытался выяснить, как определить спящие роли, и это помогло мне довольно хорошо разобраться в этом. У нас есть роли, которые устарели, но не обязательно полностью исчезли, например, они могут использоваться каждые несколько лет, поэтому идентификация их только с отслеживанием 400 дней по умолчанию не помогает, учитывая, что они могут использоваться каждые 700 дней или около того. Это помогает мне определить, какие службы могут взять на себя роли на основе их доверенных сущностей.

Ответить или комментировать

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