Вот политика, которую я разработал после невозможности работать с опубликованной политикой.Я уверен, что это может быть улучшено, чтобы сделать его более точным и т. Д.
Специальная политика ниже позволит пользователю взаимодействовать с одним приложением EB.Обратите внимание, что для EB требуется полный доступ к некоторым сервисам AWS, таким как EC2, S3, Cloudformation и т. Д.
Как сказано в документации Amazon -
Хотя вы можете ограничить взаимодействие пользователя сAPI-интерфейсы Elastic Beanstalk, в настоящее время не существует эффективного способа запретить пользователям, у которых есть разрешение на создание необходимых базовых ресурсов, создавать другие ресурсы в Amazon EC2 и других сервисах.
Политика -
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "CreateEnvironment",
"Effect": "Allow",
"Action": "elasticbeanstalk:CreateEnvironment",
"Resource": [
"arn:aws:elasticbeanstalk:[zone]:[user-id]:environment/[eb-app-name]/*",
"arn:aws:elasticbeanstalk:[zone]:[user-id]:application/[eb-app-name]/*"
]
},
{
"Sid": "GlobalUnspecificResources",
"Effect": "Allow",
"Action": [
"sns:*",
"iam:List*",
"s3:*",
"cloudwatch:*",
"ecs:*",
"ec2:*",
"cloudformation:*",
"sqs:*",
"autoscaling:*",
"elasticloadbalancing:*",
"elasticbeanstalk:DescribePlatformVersion",
"elasticbeanstalk:DescribeConfigurationSettings",
"elasticbeanstalk:CheckDNSAvailability",
"elasticbeanstalk:ListAvailableSolutionStacks",
"elasticbeanstalk:ListPlatformVersions",
"elasticbeanstalk:DescribeConfigurationOptions",
],
"Resource": "*"
},
{
"Sid": "IAMActions",
"Effect": "Allow",
"Action": [
"iam:CreateInstanceProfile",
"iam:Get*",
"iam:PassRole",
"iam:CreateRole",
"iam:AddRoleToInstanceProfile"
],
"Resource": [
"*"
]
},
{
"Sid": "VisualEditor2",
"Effect": "Allow",
"Action": [
"elasticbeanstalk:ComposeEnvironments",
"elasticbeanstalk:AbortEnvironmentUpdate",
"elasticbeanstalk:TerminateEnvironment",
"elasticbeanstalk:DescribeEnvironmentManagedActionHistory",
"elasticbeanstalk:ValidateConfigurationSettings",
"elasticbeanstalk:DescribeEnvironmentResources",
"elasticbeanstalk:RequestEnvironmentInfo",
"elasticbeanstalk:RebuildEnvironment",
"elasticbeanstalk:UpdateApplicationVersion",
"elasticbeanstalk:DescribeEnvironments",
"elasticbeanstalk:DescribeInstancesHealth",
"elasticbeanstalk:DescribeApplicationVersions",
"elasticbeanstalk:DescribeEnvironmentHealth",
"elasticbeanstalk:DescribeApplications",
"elasticbeanstalk:DeleteConfigurationTemplate",
"elasticbeanstalk:RestartAppServer",
"elasticbeanstalk:CreateConfigurationTemplate",
"elasticbeanstalk:UpdateConfigurationTemplate",
"elasticbeanstalk:UpdateApplication",
"elasticbeanstalk:DescribeEnvironmentManagedActions",
"elasticbeanstalk:DescribeConfigurationOptions",
"elasticbeanstalk:ApplyEnvironmentManagedAction",
"elasticbeanstalk:DescribeEvents",
"elasticbeanstalk:CreateEnvironment",
"elasticbeanstalk:DeleteEnvironmentConfiguration",
"elasticbeanstalk:UpdateEnvironment",
"elasticbeanstalk:RetrieveEnvironmentInfo"
],
"Resource": [
"arn:aws:elasticbeanstalk:[zone]:[user-id]:application/[eb-app-name]",
"arn:aws:elasticbeanstalk:[zone]:[user-id]:application/[eb-app-name]/*",
"arn:aws:elasticbeanstalk:*:*:environment/*/*",
"arn:aws:elasticbeanstalk:*:*:applicationversion/*/*",
"arn:aws:elasticbeanstalk:*:*:configurationtemplate/*/*"
]
}
]
}
Замените зону на зону, с которой вы работаете, идентификатор пользователя на основной идентификатор пользователя и т. Д.
Использованные ресурсы: