Сервис EC2 — облачное решение, предоставляющее доступ к вычислительным мощностям, которые физически размещены в удаленном ЦОД. Пользоваться же ими можно на любом рабочем месте с доступом к интернету независимо от производительности локальной машины, ее типа (ноутбук, планшет или смартфон). На базе Elastic Compute Cloud разворачивают виртуальные АРМ на Windows, Ubuntu, Debian и других платформах (схоже с услугами timeweb.cloud).
Безопасность работы с EC2 обеспечивает система идентификации и управления доступом AWS IAM (Identity and Access Management). Она позволяет создавать удостоверения экземпляров непрерывного или временного доступа к AWS. Последним проще манипулировать через роли EC2, которые назначают перечень разрешений для пользователя или целой группы. Их можно назначать не только людям, а еще и приложениям, сторонним сервисам.
Процедура настройки довольно проста: достаточно «привязать» конкретную роль пользователю, задать ее имя для удобства и прикрепить к ней заранее созданную политику. Такой подход создает предпосылки для оперативного управления временным доступом. Например, при организации облака публичного типа. Особых ограничений по количеству ролей нет, как и по способу их организации. Так, разработчикам доступны инструменты API IAM и полная автоматизация системы.
В рамках одного аккаунта AWS допускается создавать до 1000 ролей. Если требуется расширение количества, необходимо отправить запрос в поддержку Amazon с подробным описанием. Процесс настройки включает создание политики, роли, их привязку к конкретному аккаунту в сервисе EC2 и последующую проверку штатными средствами. Это весь цикл управления ролями AWC.
Последовательность действий при настройке:
Пользователю доступен визуальный редактор, можно ограничиться и одним из типовых вариантов. Пример открытия доступа к My-Pod-Secrets-Bucket:
{"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::my-pod-secrets-bucket/*"
]
}
]
}
Теперь создаем роль IAM. Например, через консоль управления eksctl:
eksctl create iamserviceaccount \
--name kubernetes_service_account_name \
--namespace kubernetes_service_account_namespace \
--cluster my-cluster \
--attach-policy-arn IAM_policy_ARN \
--approve \
--override-existing-serviceaccounts
Результат — будет развернут шаблон AWS CloudFormation, который одновременно создает роль и присоединяет к ней политику IAM. Роль будет связана с учетной записью Kubernetes (ее требуется создать заранее). Если в кластере ранее не было поставщика IAM OIDC, он создается «автоматом». Ничего сложного, ведь разработчик предусмотрел все необходимые функции для работы с сервисами компании.