Третья глава: чувак, это всегда IAM

Отказ от ответственности: эта статья является частью серии статей.

1. Дорога к специалисту по архитектору решений AWS: обзор

2. Путь к AWS SAA: S3, простая служба хранения Amazon

3. Путь к AWS SAA: безопасность и бессерверность

4. Путь к AWS SAA: управление доступом к удостоверениям (IAM)

5. Путь к AWS SAA: EC2, Elastic Compute Cloud (1/2)

6. Путь к AWS SAA: EC2, Elastic Compute Cloud (2/2)

7. Путь к AWS SAA: базы данных

8. Путь к AWS SAA: Route53

9. Путь к AWS SAA: виртуальные частные облака, виртуальные частные облака

10. Путь к AWS SAA: архитектура высокой доступности

11. Путь к AWS SAA: приложения

Мы уже рассмотрели хранилище с S3, безопасностью и бессерверностью. Теперь настала очередь управления пользователями, которое в Amazon называется Identity Access Management или IAM.

IAM - это глобальная услуга, не ограниченная регионом, что означает, что изменения в IAM применяются ко всем регионам сразу. Для управления несколькими аккаунтами AWS и объединения всех счетов лучше всего использовать организации AWS.

Ключевые концепции IAM

  • Пользователи: все говорит само за себя :) По умолчанию у нового пользователя нет разрешений - после этого все должно быть разрешено.
  • Группы: набор пользователей.
  • Роли: способ разрешить одному сервису AWS взаимодействовать с другим. Они более безопасны, чем хранение ключей доступа в инстансе EC2. Они также просты в управлении и универсальны.
  • Политики: файлы в формате JSON, определяющие разрешения. Программный документ - это список заявлений; каждый из них соответствует запросу API AWS с эффектом, который разрешает или запрещает, и он соответствует их действию. В документации есть несколько примеров - например, для разрешения пользователю IAM доступа к одной из ваших корзин:
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action": "s3:ListAllMyBuckets",
         "Resource":"arn:aws:s3:::*"
      },
      {
         "Effect":"Allow",
         "Action":["s3:ListBucket","s3:GetBucketLocation"],
         "Resource":"arn:aws:s3:::awsexamplebucket1"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:DeleteObject"
         ],
         "Resource":"arn:aws:s3:::awsexamplebucket1/*"
      }
   ]
}

Или, чтобы разрешить группе иметь общую папку в Amazon S3:

{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion"
         ],
         "Resource":"arn:aws:s3:::mycorporatebucket/share/marketing/*"
      }
   ]
}

Ресурс - это имя ресурса Amazon или ARN, которое начинается с:

arn: partition: service: region: account_id

И заканчивается, например (обратите внимание, что есть и другие варианты!):

resource_type: ресурс

Некоторые инструменты и советы

  • AWS Directory Service: семейство сервисов, управляемых Amazon, которые соединяют ресурсы AWS с локальной службой Active Directory или AD. Данные (т. Е. Пользователи, группы и т. Д.) Будут локальными, и AWS будет управлять развертыванием нескольких зон доступности, установкой исправлений и мониторингом, снимками состояния и т. Д. Обратите внимание, что и Simple AD, и AWS AD Connector совместимы с AD, а Cloud Directory и Cognito - нет.
  • Resource Access Manager или RAM: для совместного использования ресурсов между учетными записями.
  • Система единого входа: инструмент для централизованного управления пользователями.

Подсказки:

  1. Если что-то не разрешено явно, то это неявно запрещается.
  2. Но если это прямо отрицается, то это все.
  3. Только прикрепленные политики имеют эффект.
  4. Границы разрешений позволяют делегировать, контролируя максимальное количество разрешений.

Вот и все, ребята! Это теория управления пользователями, необходимая для экзамена SAA, согласно отличному курсу Крооненбурга и Рихмана.

Будьте на связи!

использованная литература

Райан Крооненбург и Марк Ричман, Партнер по архитектуре решений, сертифицированный AWS, SAA-C02, 2021 г.

Бен Пайпер и Дэвид Клинтон, Учебное пособие для сертифицированных архитекторов решений, Sybex, 2019.

Больше контента на plainenglish.io