AWS Notes
5.6K subscribers
460 photos
43 videos
10 files
2.82K links
AWS Notes — Amazon Web Services Educational and Information Channel

Chat: https://xn--r1a.website/aws_notes_chat

Contacts: @apple_rom, https://www.linkedin.com/in/roman-siewko/
Download Telegram
​​Python-библиотека для переключения в нужную IAM роль:

https://github.com/benkehoe/aws-assume-role-lib

Удобно использовать, когда нужно сделать что-то в многих аккаунтах Organizations. Пример использования:

https://gist.github.com/benkehoe/52fdbe425fcfc2675cd0ec2bb996257d

#IAM #Python
​​Кто виноват и что делать?

Наверняка все знают эту картинку (внизу поста). Кто не знает, обязательно стоит изучить, т.к. это база для понимания как работает доступ на AWS.

Когда возникает проблема доступа и вы получаете отлуп access denied от IAM, то проблема может быть результатом запрета доступа на любой из стадий с картинки (куда ещё нужно мысленно добавить политики S3 buckets и VPC endpoints).

И нет способа однозначно понять, кто же заблочил доступ, нужно держать в голове все варианты, итерационно перебирать, от того, что прописано в IAM до того, что доступно лишь админу на уровне Organizations - запрета от SCP.

Но теперь выход есть, то есть будет очень скоро!

https://aws.amazon.com/blogs/security/aws-introduces-changes-to-access-denied-errors-for-easier-permissions-troubleshooting/

Мы, наконец, сможем получать конкретный отчёт — что же стало результатом IAM access denied, в первой версии это будут следующие варианты:

🔹 SCP
🔹 Resource-based policies (S3 buckets, ECR, ES etc)
🔹 IAM permissions boundaries
🔹 Session policies
🔹 IAM policies
🔹 VPC endpoint policies

Очень круто, это огромное облегчение для дебага проблем доступа. Так долго ждал этого, как говорится, не прошло и десять лет! (а вот и нет - прошло 😄)

В общем, ждём сентября.

#IAM #SCP #debug
Худшие практики AWS IAM — ReadOnlyAccess:

https://posts.specterops.io/aws-readonlyaccess-not-even-once-ffbceb9fc908

Нужно помнить, что ReadOnlyAccess IAM Managed policy имеет избыточные права доступа к некоторым сервисам (из которых наиболее критичный - IAM), с помощью которых запросто можно поломать ваше окружение.

Не стоит воспринимать ReadOnlyAccess как какую-то "защиту", правильней рассматривать установку такого доступа как быстрое/временное решение, выдавая лишь в целях какого-то аудита, а не постоянного использования.

#IAM #security
​​Открытая база данных IAM политик:

https://permissions.cloud/

The permissions.cloud website uses a variety of information gathered within the IAM Dataset and exposes that information in a clean, easy-to-read format. It was built in order to provide an alternate, community-driven source of truth for AWS identity.

#IAM #security
AWS Authentication: Principals in AWS IAM

https://ben11kehoe.medium.com/principals-in-aws-iam-38c4a3dc322a

Лучшее, что читал по IAM аутентификции (да простит меня Карен), крайне рекомендую — ноль воды, чистые и современные (что важно) знания.

Сложно, но кратко и только по делу. Да и IAM — это, к сожалению, не про просто по определению. В закладки без вариантов.

#IAM
IAM Permissions Boundary на защите Лямбда инфраструктуры:

https://www.iampulse.com/t/control-the-blast-radius-of-your-lambda-functions-with-an-iam-permissions-boundary

▪️ Problem 1: IAM is hard and application developers aren’t IAM experts
▪️ Problem 2: Traditional organisational policy may disallow IAM role creation by application teams
An IAM permissions boundary allows us to get the best of both worlds:
▫️ Application team retains ownership of granular permissions in per-function roles and can ship independently 👍
▫️ Platform team can continue to enforce a maximum blast radius (equal to the EC2Application role) on the application, regardless of how developers specify their function policies 👍

#IAM #Lambda #security
Где нужно прописывать временные IAM credentials (не в ~/.aws/credentials) и почему:

https://ben11kehoe.medium.com/never-put-aws-temporary-credentials-in-env-vars-or-credentials-files-theres-a-better-way-25ec45b4d73e

Для работы с временными кредами нужно использовать переменную credential_process. Для случаев, где не работает credential_process, можно использовать авторскую утилиту https://github.com/benkehoe/aws-export-credentials либо на её базе сделать свою.

Очень полезный документ от Ben Kehoe (как и другие) по внутренностям работы IAM:

🔹 Principals and credentials
🔹 Assuming a role and using the credentials
🔹 Configuring and using named profiles
🔹 Assumed role profiles
🔹 AWS SSO profiles
🔹 Federated sign-in (AssumeRoleWithSAML
🔹 credential_process
🔹 aws-export-credentials

Очень рекомендуется к прочтению для понимания IAM — это рафинированный опыт, практические знания, сложные, как и вся тема IAM, но при этом и самые важные.

Однозначно в закладки, причём те, что стоит постоянно держать перед глазами.

#IAM #security
This media is not supported in your browser
VIEW IN TELEGRAM
Leapp — утилита для переключения в мультиаккаунтной среде в один клик:

https://github.com/Noovolari/leapp

Утилита не новая, но в последней версии 0.7.4 добавилась поддержка AWS SSO, выглядит привлекательно, а потому стоит ознакомиться и попробовать.

Кроме AWS также работает с Azure.

#IAM #SSO #multi_account_strategy
👍1
​​Самая главная диаграмма по IAM обновлена:

https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow

Были добавлены Session policies.

p.s. Важно отметить, что кажующаяся сложной диаграмма работы IAM в реальности не отражает настоящей сложности работы IAM. Для действительно полной картины поведения IAM обязательно требуется учитывать таблицу ниже её, где в подробностях перечисляются ситуации и поведение IAM, которые нельзя отразить на картинке.

#IAM
Всесторонний документ, почему IAM – это боль:

https://www.effectiveiam.com/

Очень полезен и для того, чтобы разобраться в том, как работает IAM, и для того, чтобы глубже понять проблемы настройки политик, и для того, чтобы шире взглянуть на то, почему это так проблематично вообще (спойлер – всё сложно, в прямом смысле этого слова).

Описываются подходы и для настройки IAM политик в рамках одного аккаунта, и для выстраивания процессов в рамках Organizations.

#IAM #security #best_practices