Полезная статья по установке SSM Manager - есть отсутствующий в документации список используемых SSM менеджером API.
Вообще, по теме доступа для SSM Manager, единственный найденный список, чтобы не использовать встроенную AmazonEC2RoleforSSM - policy для SSM.
В реальности это, видимо, компиляция из официальной доки, которая описыват лишь отдельные права (потому нужно проверять), а полные даются лишь присоединяемой (ManagedPolicy) ролью, чтобы это делать отдельно, а не давать в шаблоне изначально — иначе будут полные права, в частности, на s3, которые есть в AmazonEC2RoleforSSM. Итого, я пока оставляю свои, вручную подобратнные когда-то для SSM-agent (чтобы не было ошибок в логах - уже может устарело, нужно обновить):
Вообще, по теме доступа для SSM Manager, единственный найденный список, чтобы не использовать встроенную AmazonEC2RoleforSSM - policy для SSM.
В реальности это, видимо, компиляция из официальной доки, которая описыват лишь отдельные права (потому нужно проверять), а полные даются лишь присоединяемой (ManagedPolicy) ролью, чтобы это делать отдельно, а не давать в шаблоне изначально — иначе будут полные права, в частности, на s3, которые есть в AmazonEC2RoleforSSM. Итого, я пока оставляю свои, вручную подобратнные когда-то для SSM-agent (чтобы не было ошибок в логах - уже может устарело, нужно обновить):
- PolicyName: amazon-ssm-agent#ssm #ssm_manager #policy #AmazonEC2RoleforSSM #check #todo
PolicyDocument:
Statement:
- Effect: Allow
Action:
- 'ssm:UpdateInstanceInformation'
- 'ssm:ListAssociations'
Resource:
- 'arn:aws:ec2:*:*:instance/*'
- 'arn:aws:ssm:*:*:*'
Easy Cloud
Setting Up AWS Systems Manager
This section describes tasks and prerequisites for setting up AWS Systems Manager. Use the following table to help you get started.
What do you want to do with Systems Manager?
Set up tasks
Verify...
What do you want to do with Systems Manager?
Set up tasks
Verify...
Cloud Custodian https://capitalone.github.io/cloud-custodian/docs/index.html подойдёт для реализации #compliance, проверки #policy и всевозможных требований к различным #environment. При этом #serverless и помимо #AWS поддерживает также #Azure и #google #GCP.
#note После применения (изменения) #IAM_role на инстанс, права изменяются (обновляются) где-то через 30 секунд, а после добавления в #role новой #policy — где-то 2-3 минуты.
При проблемах на амазоне максимальное время применения #IAM — 5-6 минут. Если прошло больше и всё равно не работает, то "проблема на вашей стороне".
При проблемах на амазоне максимальное время применения #IAM — 5-6 минут. Если прошло больше и всё равно не работает, то "проблема на вашей стороне".
В общем случае стоит избегать использования #IAM #ManagedPolicy, т.к. граждане в Амазоне не утруждают себя использованием ограниченных #permissions в них и запросто ставят "жирные" #policy.
Например, в AmazonEC2RoleforSSM, которое рекомендуется для работы с #SSM #Session_Manager, имеется правило на работу #s3 с любыми ресурсами:
#ужас #сколькоможнотерпеть
Например, в AmazonEC2RoleforSSM, которое рекомендуется для работы с #SSM #Session_Manager, имеется правило на работу #s3 с любыми ресурсами:
{
"Effect": "Allow",
"Action": [
"s3:GetBucketLocation",
"s3:PutObject",
"s3:GetObject",
"s3:GetEncryptionConfiguration",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts",
"s3:ListBucket",
"s3:ListBucketMultipartUploads"
],
"Resource": "*"
}#ужас #сколькоможнотерпеть
Amazon
Tutorial: Remotely Manage Your Amazon EC2 Instances - Amazon Elastic Compute Cloud
Learn how to quickly execute a command using Amazon EC2 Run Command.
Добавление в #ECR возможности тэгировать репозитории может поломать ваши сценарии, т.к. в #IAM добавилось новое #policy 'ecr:ListTagsForResource':
... error getting ECR repository tags: AccessDeniedException: User: ... is not authorized to perform: ecr:ListTagsForResource ...Amazon Web Services, Inc.
Amazon ECR now allows Repository Tagging
Большинство сервисов для #IAM #policy не допускает использовать пробелы в "Sid", однако #s3 их разрешает, а потому можно (нужно) писать человеческие комментарии к используемым #bucket_policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Full access for Blue, Green",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::123456789012:root",
"arn:aws:iam::234567890123:root"
]
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
},
{
"Sid": "ReadOnly access for Dev, Stage",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::345678901234:root",
"arn:aws:iam::456789012345:root"
]
},
"Action": [
"s3:GetObject",
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}Амазоновцы таки отреагировали на народные чаяния и убрали из рекомендаций для #SSM эту жирную политику AmazonEC2RoleForSSM, переведя её в статус deprecated.
Вместо неё теперь рекомендуется использовать #IAM #ManagedPolicy AmazonSSMManagedInstanceCore, которая обеспечивает базовый функционал SSM агента, докидывая уже своё по необходимости.
#справедливость #язнал #яверил
Вместо неё теперь рекомендуется использовать #IAM #ManagedPolicy AmazonSSMManagedInstanceCore, которая обеспечивает базовый функционал SSM агента, докидывая уже своё по необходимости.
#справедливость #язнал #яверил
Telegram
aws_notes
В общем случае стоит избегать использования #IAM #ManagedPolicy, т.к. граждане в Амазоне не утруждают себя использованием ограниченных #permissions в них и запросто ставят "жирные" #policy.
Например, в AmazonEC2RoleforSSM, которое рекомендуется для работы…
Например, в AmazonEC2RoleforSSM, которое рекомендуется для работы…
IAM с самоуничтожением
Можно ли сделать такие политики для IAM, чтобы они отработали и уничтожились через некоторое время?
Чтобы совсем уничтожились - придётся наворачивать лямбду. А чтобы просто отработали лишь на какое-то определённое время — запросто.
Для этого нужно использовать Date Condition Operators, например, так:
#IAM #policy
Можно ли сделать такие политики для IAM, чтобы они отработали и уничтожились через некоторое время?
Чтобы совсем уничтожились - придётся наворачивать лямбду. А чтобы просто отработали лишь на какое-то определённое время — запросто.
Для этого нужно использовать Date Condition Operators, например, так:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/my-file",
"Condition": {
"DateGreaterThan": {
"aws:CurrentTime": "2020-01-04T10:00Z"
},
"DateLessThan": {
"aws:CurrentTime": "2020-01-05T18:00Z"
}
}
}
]
}
Т.е. доступ к my-bucket/my-file будет лишь с завтрашнего утра до послезавтрашнего вечера.#IAM #policy
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 обновлена:
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
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