Чтобы расшарить ECR репозиторий (только на чтение - лишь скачать) для всей организации (нужно заменить на свой
Данные правила (download only) применяются для других аккаунтов, а для аккаунта, где расположен ECR - регулируется с помощью IAM, которыми можно поставить нужные права (в том числе на upload).
#ECR
aws:PrincipalOrgID):{ "Version": "2008-10-17", "Statement": [ { "Sid": "Organization ReadOnly access", "Effect": "Allow", "Principal": "*", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-gs1bsr375" } } } ]}Данные правила (download only) применяются для других аккаунтов, а для аккаунта, где расположен ECR - регулируется с помощью IAM, которыми можно поставить нужные права (в том числе на upload).
#ECR
Уважаемые москвичи, напоминаю про AWS Meetup 29-го января в 19:00 (случайно совпавший с юбилеем @aws_ru).
Telegram
Alexey Stekov in AWS_ru
Как и обещал, митап от @aws_ru! И не просто митап - у нас День Рождения, нам 3 годика!
29 января в 19:00 в офисе Райффайзен банка пройдет митап, посвященный нашему 3-летию! (много_радостных_эмоджи, салюты, и тд.)
Итак, список докладов на нашем совместном…
29 января в 19:00 в офисе Райффайзен банка пройдет митап, посвященный нашему 3-летию! (много_радостных_эмоджи, салюты, и тд.)
Итак, список докладов на нашем совместном…
Amazon Linux 1 отправлен на пенсию:
https://aws.amazon.com/blogs/aws/update-on-amazon-linux-ami-end-of-life/
10 лет продержался, хватит, пора. Amazon Linux 2 уже два года как правильная замена.
https://aws.amazon.com/blogs/aws/update-on-amazon-linux-ami-end-of-life/
10 лет продержался, хватит, пора. Amazon Linux 2 уже два года как правильная замена.
Amazon
Update on Amazon Linux AMI end-of-life | Amazon Web Services
Update Jan 2, 2024 – The Amazon Linux AMI (also called Amazon Linux 1) reached its end of life on December 31, 2023. Amazon Linux AMI will no longer receive any security updates or bug fixes. We encourage customers to upgrade their applications to use Amazon…
AWS Notes
Уважаемые москвичи, напоминаю про AWS Meetup 29-го января в 19:00 (случайно совпавший с юбилеем @aws_ru).
YouTube
AWS_RU MeetUp - Райффайзенбанк, AWS, независимые эксперты Владимир Попов и Петр Сальников
Приглашаем на митап AWS_Ru: будем слушать интересные доклады и отмечать три года сообщества, ура!
О чём будем говорить:
«AWS как заначка на черный день, или как мы расширяем внутренние ресурсы при пиковых нагрузках»
Андрей Соловьев, Райффайзенбанк
«Как…
О чём будем говорить:
«AWS как заначка на черный день, или как мы расширяем внутренние ресурсы при пиковых нагрузках»
Андрей Соловьев, Райффайзенбанк
«Как…
SCP для запрета запуска мощных виртуалок
Удобно применять для каких-то sandbox или каких-то личных аккаунтов, чтобы ограничить разработчиков возможностью запускать лишь слабые виртуалки.
#Organizations #SCP #policy
{ "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotLike": { "ec2:InstanceType": [ "*.nano", "*.micro", "*.small", "*.medium" ] } }}Удобно применять для каких-то sandbox или каких-то личных аккаунтов, чтобы ограничить разработчиков возможностью запускать лишь слабые виртуалки.
#Organizations #SCP #policy
Загадка по IAM
Имеем policy из примера выше про расшаривание ECR репозитория для других аккаунтов.
Однако вопрос будет не про мультиаккаунты, а на счёт того аккаунта, где находится данный ECR репозиторий.
Есть инстанс (в этом же аккаунте, где ECR), к которому нужно прикрепить роль с минимальными правами, чтобы спулить образ из расшаренного приведенным способом ECR-репозитория.
Имеются следующие варианты:
1.
2. то же, что 1 плюс
3. то же, что 2 плюс еще на
Какой роли минимально достаточно?
#загадка #IAM
Имеем policy из примера выше про расшаривание ECR репозитория для других аккаунтов.
Однако вопрос будет не про мультиаккаунты, а на счёт того аккаунта, где находится данный ECR репозиторий.
Есть инстанс (в этом же аккаунте, где ECR), к которому нужно прикрепить роль с минимальными правами, чтобы спулить образ из расшаренного приведенным способом ECR-репозитория.
Имеются следующие варианты:
1.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "*", "Action": [ "ecr:GetAuthorizationToken" ] } ]}2. то же, что 1 плюс
GetDownloadUrlForLayer:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "*", "Action": [ "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer" ] } ]}3. то же, что 2 плюс еще на
Batch:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "*", "Action": [ "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage" ] } ]}Какой роли минимально достаточно?
#загадка #IAM
Telegram
aws_notes
Чтобы расшарить ECR репозиторий (только на чтение - лишь скачать) для всей организации (нужно заменить на свой aws:PrincipalOrgID):
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "Organization ReadOnly access",
"Effect": "Allow",
"Principal":…
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "Organization ReadOnly access",
"Effect": "Allow",
"Principal":…
Какая минимальная роль нужна, чтобы спулить образ из расшаренного ECR репозитория в том же аккаунте?
Anonymous Quiz
26%
1. GetAuthorizationToken
28%
2. ... + GetDownloadUrlForLayer
47%
3. ... + BatchCheckLayerAvailability + BatchGetImage
Загадка по IAM с одной стороны примитивно простая, а с другой ненормально сложная. Из разряда тех, которыми можно ставить в ступор даже знающих AWS профессионалов. Хороший пример, как и откуда потом берутся утечки информации.
Правильный ответ 1 - по сути, никаких прав IAM роли не нужно (чисто лишь залогиниться на докере
Проблема тут на уровне IAM, точней отношения к нему, как к главному способу выделения доступа. Ведь так учат в документации — IAM предназначен для управления доступом, а что не разрешно, то запрещено.
И правильно учат. Только, как говорится, есть нюансы. И нюанс в том, что управление доступом это не только IAM, но Resource-based политики (JSON, прикреплённый в данном случае к ECR-репозиторию)
В случае мульти-аккаунт схемы для внешних аккаунтов происходит проверка IAM прав юзера (другого аккаунта) и Resource-based policy по очереди. Нет прав IAM - до свидания. Не важно, что там написано в Resource-based policy ресурса.
В случае же одного и того же аккаунта, IAM и Resource-based policy разрешаются одновременно. Т.е. складываем и смотрим. IAM не разрешает (но и не запрещает), а Resource-based policy - разрешает, итого - разрешено!
Кому интересны подробности, то на примере S3 Bucket policy и с разбором исторического подтекста - можно почитать здесь.
#отгадка #IAM
Правильный ответ 1 - по сути, никаких прав IAM роли не нужно (чисто лишь залогиниться на докере
GetAuthorizationToken). Кто не верит, может попробовать и убедиться.Проблема тут на уровне IAM, точней отношения к нему, как к главному способу выделения доступа. Ведь так учат в документации — IAM предназначен для управления доступом, а что не разрешно, то запрещено.
И правильно учат. Только, как говорится, есть нюансы. И нюанс в том, что управление доступом это не только IAM, но Resource-based политики (JSON, прикреплённый в данном случае к ECR-репозиторию)
В случае мульти-аккаунт схемы для внешних аккаунтов происходит проверка IAM прав юзера (другого аккаунта) и Resource-based policy по очереди. Нет прав IAM - до свидания. Не важно, что там написано в Resource-based policy ресурса.
В случае же одного и того же аккаунта, IAM и Resource-based policy разрешаются одновременно. Т.е. складываем и смотрим. IAM не разрешает (но и не запрещает), а Resource-based policy - разрешает, итого - разрешено!
Кому интересны подробности, то на примере S3 Bucket policy и с разбором исторического подтекста - можно почитать здесь.
#отгадка #IAM
Session Duration Time
Люди, кто мучается при переключении аккаунтов, из-за сессии, подло истекающей через 1 час и сбрасывающей недоделанную в консоли работу в самый неподходящий момент — не мучайтесь, пожалуйста, зайдите и поставьте себе 12 часов session duration time!
https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html#API_AssumeRole_RequestParameters
Просто дефолтное значение именно 1 час.
Аналогично для SSO:
https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html
Поставь себе 12 часов - и работай спокойно!
#лайфхак #IAM #SSO
Люди, кто мучается при переключении аккаунтов, из-за сессии, подло истекающей через 1 час и сбрасывающей недоделанную в консоли работу в самый неподходящий момент — не мучайтесь, пожалуйста, зайдите и поставьте себе 12 часов session duration time!
https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html#API_AssumeRole_RequestParameters
Просто дефолтное значение именно 1 час.
Аналогично для SSO:
https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html
Поставь себе 12 часов - и работай спокойно!
#лайфхак #IAM #SSO
Видео с прошедшей 30 января встречи в компании IDT, где попросили выступить с докладом по AWS мульти-аккаунтам, который переделал, чтобы не повторять тот, что был на предыдущем митапе.
https://www.youtube.com/watch?v=tCN2D35E6xQ
Самое полезное - это вторые полчаса обсуждения, где было много вопросов. К большому сожалению, самих вопросов, в том числе дискуссии вопрошавших, не слышно.
#video
https://www.youtube.com/watch?v=tCN2D35E6xQ
Самое полезное - это вторые полчаса обсуждения, где было много вопросов. К большому сожалению, самих вопросов, в том числе дискуссии вопрошавших, не слышно.
#video
YouTube
Мульти-аккаунт схема — практика использования
Рассматриваются некоторые практические моменты, возникающие при переходе на мульти-аккант схему — как для ресурсов в организации, так и для её сетевой инфрас...
bare metal инстансы + AWS Console
Когда вы хотите выбрать bare metal инстансы (i3 или или другие *.metal), чтобы, например, соблюсти какие-то жёсткие требования для вашего окружения, то при выборе в консоли по-прежнему обнаружите менюшку Tenancy и Shared по умолчанию.
Ничего такого в реальности нет, никакие Shared неприменимы к bare metal типу инстансов, вы полностью работаете напрямую с железом, без гипервизоров (потому можно запустить свою виртуализацию, что не позволяют другие типы инстансов - на них не получится запустить условный Virtual Box, только на bare metal) и без каких-то "соседей".
Недоработка текущей версии AWS Console.
#AWS_Console #bare_metal #issue
Когда вы хотите выбрать bare metal инстансы (i3 или или другие *.metal), чтобы, например, соблюсти какие-то жёсткие требования для вашего окружения, то при выборе в консоли по-прежнему обнаружите менюшку Tenancy и Shared по умолчанию.
Ничего такого в реальности нет, никакие Shared неприменимы к bare metal типу инстансов, вы полностью работаете напрямую с железом, без гипервизоров (потому можно запустить свою виртуализацию, что не позволяют другие типы инстансов - на них не получится запустить условный Virtual Box, только на bare metal) и без каких-то "соседей".
Недоработка текущей версии AWS Console.
#AWS_Console #bare_metal #issue
Что делать, если утекли ключи:
https://aws.amazon.com/pt/blogs/security/what-to-do-if-you-inadvertently-expose-an-aws-access-key/
Т.е. в общем случае бежим в IAM консоль скомпроментированного аккаунта и деактивируем всё, что деактивируется. Время полного отключения ключей занимает 1-2 минуты (глобально) после нажатия Make inactive.
Предупреждён - значит вооружён.
https://aws.amazon.com/pt/blogs/security/what-to-do-if-you-inadvertently-expose-an-aws-access-key/
Т.е. в общем случае бежим в IAM консоль скомпроментированного аккаунта и деактивируем всё, что деактивируется. Время полного отключения ключей занимает 1-2 минуты (глобально) после нажатия Make inactive.
Предупреждён - значит вооружён.
14 февраля в Минске пройдёт конференция https://delex-conf.com/, где в том числе планировалось, что буду я с докладом, но, к сожалению, у меня в это время не получается. Однако заявленная тема "CI/CD на AWS" не пропадёт и вместо меня её подхватит и расскажет Пётр Сальников, который выступал с докладами на декабрьском AWS митапе в Минске. Так что если вы планировали пойти на delex-конференцию - не пропустите его доклад (15 февраля) про AWS!
Ну, а кто из минчан не хочет ждать и не любит крупные мероприятия, то есть группа AWS Friday, в которой мы договариваемся, где собираться в очередную пятницу, чтобы отдохнуть, поесть и заодно обсудить какую-то тему. Например, в ближайшую будет небольшой доклад и обсудим новые фичи Transit Gateway + Shared VPC и их влияние на пересмотр сетевой архитектуры в AWS.
Ну, а кто из минчан не хочет ждать и не любит крупные мероприятия, то есть группа AWS Friday, в которой мы договариваемся, где собираться в очередную пятницу, чтобы отдохнуть, поесть и заодно обсудить какую-то тему. Например, в ближайшую будет небольшой доклад и обсудим новые фичи Transit Gateway + Shared VPC и их влияние на пересмотр сетевой архитектуры в AWS.
DelEx Conference: DevOps & Test Automation
DelEx Conference: DevOps & Test Automation - Minsk, Belarus | Делeкс
Annual DevTestSecOps Conference, focused on advanced DevOps and Test Automation practices, shared by inspiring thinkers. Stands for Delivery Excellence Делекс Конференция
SSE-S3 (AES 256) - что даёт?
У многих возникает вопрос - что за такое шифрование, которое просто галку поставил и всё типа зашифровано. В чём его смысл, если ничего не нужно делать и все запросы автоматически отдаются, если есть к бакету доступ?
Это никакой не развод (да и бесплатно), смысл в соблюдении различных compliance. Условно говоря, если есть требование, что данные зашифрованы и что враги не могут взорвать датацентр, утащить оттуда винчестеры и скопировать с них ваши данные - поставили эту галочку и compliance выполнены. Да и просто душу греет - данные не просто там бесхозно лежат, а зашифрованы.
Не ленитесь поставить - полезно, несложно, на халяву да и сразу же даёт хоть какое-то ощущение безопасности.
#S3 #security
У многих возникает вопрос - что за такое шифрование, которое просто галку поставил и всё типа зашифровано. В чём его смысл, если ничего не нужно делать и все запросы автоматически отдаются, если есть к бакету доступ?
Это никакой не развод (да и бесплатно), смысл в соблюдении различных compliance. Условно говоря, если есть требование, что данные зашифрованы и что враги не могут взорвать датацентр, утащить оттуда винчестеры и скопировать с них ваши данные - поставили эту галочку и compliance выполнены. Да и просто душу греет - данные не просто там бесхозно лежат, а зашифрованы.
Не ленитесь поставить - полезно, несложно, на халяву да и сразу же даёт хоть какое-то ощущение безопасности.
#S3 #security
SCP для запрещения обновления CloudFormation стэков
Если вы деплоите всё с помощью CloudFormation и используете мульти-аккаунт схему, то очень удобно в конце отработки процесса создания/обновления для требующих защиты окружений (читай - prod) накладывать на аккаунт следующее SCP:
В списке запрещены именно изменяющие действия, просто запретить
#SCP
Если вы деплоите всё с помощью CloudFormation и используете мульти-аккаунт схему, то очень удобно в конце отработки процесса создания/обновления для требующих защиты окружений (читай - prod) накладывать на аккаунт следующее SCP:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"cloudformation:CreateChangeSet",
"cloudformation:CreateStack",
"cloudformation:CreateStackInstances",
"cloudformation:CreateStackSet",
"cloudformation:CreateUploadBucket",
"cloudformation:DeleteChangeSet",
"cloudformation:DeleteStack",
"cloudformation:DeleteStackInstances",
"cloudformation:DeleteStackSet",
"cloudformation:ExecuteChangeSet",
"cloudformation:SetStackPolicy",
"cloudformation:UpdateStack",
"cloudformation:UpdateStackInstances",
"cloudformation:UpdateStackSet",
"cloudformation:UpdateTerminationProtection"
],
"Resource": [
"*"
]
}
]
}В списке запрещены именно изменяющие действия, просто запретить
cloudformation:* неудобно, т.к. тогда не получится зайдя в этот аккаунт посмотреть текущее состояние CloudFormation стэков. А так внешне ничего не меняется, только CI/CD утилиты получат отказ при случайном (или намерянном) запуске - прод в безопасности.#SCP
Single-Table Design with DynamoDB
Хорошая разъясняющая статья по #best_practices архитектуры для DynamoDB:
https://www.alexdebrie.com/posts/dynamodb-single-table/
Подробно описаны свойства и преимущества single-table архитектуры, а также случаи, когда это неуместно.
#DynamoDB #design
Хорошая разъясняющая статья по #best_practices архитектуры для DynamoDB:
https://www.alexdebrie.com/posts/dynamodb-single-table/
Подробно описаны свойства и преимущества single-table архитектуры, а также случаи, когда это неуместно.
#DynamoDB #design
Alexdebrie
The What, Why, and When of Single-Table Design with DynamoDB | DeBrie Advisory
AWS recommends using just a single DynamoDB table for your entire application. In this post, learn why you would do that and the few times you shouldn't.
Подробности.
Надпись на фото: «Друзья, не позволяйте друзьям строить датацентры».
Когда есть AWS — незачем строить свои датацентры — когда есть AWS!
Надпись на фото: «Друзья, не позволяйте друзьям строить датацентры».
Когда есть AWS — незачем строить свои датацентры — когда есть AWS!
Хорошее практически-прикладное видео по Amazon EventBridge:
https://www.youtube.com/watch?v=ea9SCYDJIm4
Коротко (9 мин.), понятно, на простом примере работы с эвентами для S3.
Кто ещё не познакомился с Amazon EventBridge - очень советую. А всем, кто работает с Event Driven архитектурой - просто must know.
#EventBridge
https://www.youtube.com/watch?v=ea9SCYDJIm4
Коротко (9 мин.), понятно, на простом примере работы с эвентами для S3.
Кто ещё не познакомился с Amazon EventBridge - очень советую. А всем, кто работает с Event Driven архитектурой - просто must know.
#EventBridge
YouTube
How To Get Started With Amazon EventBridge
Amazon EventBridge is a serverless event bus that is both powerful and easy to use. In this video we will demonstrate how you can get started with EventBridge including creating an event bus, setting up rules, and adding a target. You can use EventBridge…
Временные аккаунты в AWS
Если коротко - их нет. Ждём-с. А пока есть проект, где группа энтузиастов попыталось такое реализовать уже сейчас:
https://github.com/Optum/dce
Работает в схеме с AWS Organizations — вы закидываете в pool свои аккаунты, которые после можно легко выдавать в работу, под капотом отрабатывает терраформ, который делает базовые настройки аккаунта, а по окончании использования в аккаунте с помощью aws-nuke удаляются все ресурсы и он вновь отправляется в pool свободных для использования.
Хорошая идея реализации "одноразовой инфраструктуры". Которую, не будем показывать пальцем, всё ещё не сделали, хотя надо и давно.
Могу лишь добавить, что есть некоторая информация о новых фичах AWS Organizations и, возможно, как раз вскоре выкатят удаление аккаунтов, на которое так часто жалуюсь (что его нет). В общем - ждите настойчиво и дождётесь!
#Organizations
Если коротко - их нет. Ждём-с. А пока есть проект, где группа энтузиастов попыталось такое реализовать уже сейчас:
https://github.com/Optum/dce
Работает в схеме с AWS Organizations — вы закидываете в pool свои аккаунты, которые после можно легко выдавать в работу, под капотом отрабатывает терраформ, который делает базовые настройки аккаунта, а по окончании использования в аккаунте с помощью aws-nuke удаляются все ресурсы и он вновь отправляется в pool свободных для использования.
Хорошая идея реализации "одноразовой инфраструктуры". Которую, не будем показывать пальцем, всё ещё не сделали, хотя надо и давно.
Могу лишь добавить, что есть некоторая информация о новых фичах AWS Organizations и, возможно, как раз вскоре выкатят удаление аккаунтов, на которое так часто жалуюсь (что его нет). В общем - ждите настойчиво и дождётесь!
#Organizations
GitHub
GitHub - Optum/dce: Disposable Cloud Environment
Disposable Cloud Environment. Contribute to Optum/dce development by creating an account on GitHub.