我正在testingAWS和Elastic Beanstalk,并让Beanstalk运行手动上传的版本。 当我尝试通过命令行更新版本时,命令行返回OK,但Beanstalk显示错误事件。 [ec2-user@ip-172-31-35-38 ~]$ /usr/bin/aws elasticbeanstalk update-environment –environment-name play-app-test –version-label play-app-1051 –region us-east-1 True play-app play-app-test.elasticbeanstalk.com 2015-09-27T04:05:25.486Z 2015-09-27T06:07:28.031Z …..us-east-1.elb.amazonaws.com e-jk8fyjd3dt play-app-test Grey 64bit Amazon Linux 2015.03 v2.play-app-1051Node.js TIER WebServer Standard [ec2-user@ip-172-31-35-38 ~]$ 服务:Amazon S3,消息:您无权执行“s3:ListBucket”操作。 validation您的S3策略和您的ACL允许您执行这些操作。 到底是谁没有权限? 我的Beanstalk环境的健康权限angular色是aws-elasticbeanstalk-service-role ,我附加了一个授予对S3的访问权限的策略(我使用上传构build到S3的用户的相同策略,并在那里工作)。 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": "arn:aws:s3:::*" }, { […]
有一些我不能控制的AWS账户。 我已经让帐户所有者将IAMangular色TrustingSecurityAuditor部署到他们的帐户中,这些帐户授予在我的AWS帐户TrustedSecurityAuditor中将TrustingSecurityAuditorangular色承担到不同IAMangular色的权利。 ( 关于委托访问的文档 ) 这很好,并允许我和我的安全团队为公司的其他帐户持有人提供安全审计服务。 为此,我们创build一个具有TrustedSecurityAuditor IAMangular色的ec2实例,我们的代码通过对每个帐户的AssumeRoleangular色执行AssumeRole来从每个使用STS的帐户请求临时凭证。 现在,我想创build一个额外的服务,运行在我帐户中的另一个ec2实例上,不仅可以承担这些“信任”帐户的angular色,还可以在我的帐户中执行其他操作,例如访问我的帐户的DynamoDB以存储信息。 如果我将TrustedSecurityAuditorangular色应用于实例,则我不具有所需的本地权限(如DynamoDB访问)。 我不能将多个IAMangular色应用到实例(除非我错了)。 当我试图创build一个新的angular色, MyNewService与DynamoDB访问,可以AssumeRole到TrustedSecurityAuditorangular色,希望然后使用这些STS凭据做外部帐户中的AssumeRoleangular色的第二个AssumeRole我遇到此问题: 我能够从MyNewServiceangular色的AssumeRole到TrustedSecurityAuditorangular色,但是当我执行AssumeRoleangular色的第二个AssumeRole ,AWS返回错误 User: arn:aws:sts::123456789012:assumed-role/TrustedSecurityAuditor/MyNewService is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::123456789012:role/TrustingSecurityAuditor 这是因为尝试AssumeRole的“用户”是 arn:aws:sts::123456789012:assumed-role/TrustedSecurityAuditor/MyNewService 不 arn:aws:sts::123456789012:assumed-role/TrustedSecurityAuditor 这意味着你不能链接你的AssumeRole因为一个调用来自的ARN,当它来自一个假定的angular色不是假定的angular色,而是假设的angular色名称与angular色名称卡住的结尾。 我不愿意使用的一个解决scheme是我可以添加我需要的权限,例如将DynamoDB用于TrustedSecurityAuditorangular色的function。 我不愿意的原因是我只需要MyNewService实例上的这个权限,而不是我的原始实例,它只进行安全审计,不需要访问DynamoDB。 任何build议如何完成我在找什么?
我正在运行具有分配的Iamangular色的EC2实例上的Ansible。 我正在运行这个剧本: $ cat s3.yaml — – hosts: localhost remote_user: ec2-user tasks: – name: download ec2.py from s3 s3: bucket: mybucket object: /ec2.py dest: /tmp/ec2.py mode: get 用-vvv运行它提供了这个错误信息: fatal: [localhost]: FAILED! => { "changed": false, "failed": true, "invocation": { "module_args": { "aws_access_key": null, "aws_secret_key": null, "bucket": "mybucket", "dest": "/tmp/ec2.py", "ec2_url": null, "encrypt": true, "expiry": "600", […]
我有一个CloudFormation模板用于build立一个ECS集群,我正试图使用ASG上的CloudFormation :: Init将一些configuration文件放到该框上,并将它们从S3中抽出。 "ECSASGLaunchConfiguration": { "Type": "AWS::AutoScaling::LaunchConfiguration", "Metadata": { "AWS::CloudFormation::Authentication": { "S3AccessCreds": { "type": "S3", "roleName": { "Ref": "ECSEC2InstanceIAMRole" } } }, "AWS::CloudFormation::Init": { "config": { "packages": { }, "groups": { }, "users": { }, "sources": { }, "files": { "/etc/dd-agent/conf.d/nginx.yaml": { "source": "https://s3.amazonaws.com/foobar/scratch/nginx.yaml", "mode": "000644", "owner": "root", "group": "root" }, "/etc/dd-agent/conf.d/docker_daemon.yaml": { "source": "https://s3.amazonaws.com/foobar/scratch/docker_daemon.yaml", […]
我试图设置IAMangular色的权限,如果需要,将提交一个新的专题实例请求。 它将被一个Lambda函数使用。 该代码执行以下AWS API调用: ec2.describeSpotInstanceRequests ec2.requestSpotInstances ec2.createTags 我为它创build了以下策略(尝试了很多其他选项之后): { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1437749945000", "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:RequestSpotInstances", "ec2:RunInstances", "ec2:CreateTags", "iam:List*" ], "Resource": [ "*" ] } ] } 如果我添加iam:*它的工作,但显然我不想这样做.. 任何人都可以帮助我猜测它真的需要什么权限? 有人知道AWS API调用和所有必需的权限之间的映射吗?
我有一个用户的以下IAM策略 { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1395161912000", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:*" ], "Resource": [ "arn:aws:s3:::bucketname" ] }, { "Sid": "list", "Effect": "Allow", "Action": [ "s3:ListAllMyBuckets" ], "Resource": [ "arn:aws:s3:::*" ] } ] } 目标是让用户将file upload到存储桶,但不能覆盖或删除。 这是为了备份。 我开始与ListBucket和PutObject ,但添加*因为它不工作。 甚至没有*让用户上传文件,只是得到Access Denied 。 当我尝试模拟器,它会返回Denied – Implicitly denied (no matching statements found). 为ListBucket […]
我们刚刚开始我们的AWS存在。 我们需要多个VPC,每个VPC托pipe我们自己的服务器或客户的服务器。 每个VPC有4个子网 – 2个公共,2个私人,每个都有不同的AZ。 每个VPC有7个或更多的EC2实例。 我们通过AWS Web控制台进行pipe理。 但是,即使使用2个VPC,每个开发人员也可以看到所有的EC2实例和所有的子网,并且变得有点混乱。 理想情况下,我们想用IAM来限制VPC的可见性,但是我找不到VPC的ARN。 这是否存在? 或者,我们是否应该为每个VPC创build一个单独的AWS账户以保持独立? 但是,你如何pipe理用户?
从EC2实例调用Get-EC2Instance并获取 Get-EC2Instance : You are not authorized to perform this operation. 我需要将哪些IAM操作添加到我的政策中?
我试图限制用户到一个单一的VPC。 我通过控制访问亚马逊VPC资源,并提出了以下政策,但它不起作用。 有人能指出它的错误吗? 我应该提到, IAM策略模拟器似乎认为在模拟设置中的条件键下设置VPC ARN后,策略是正确的。 (我已经用我的政策中的实际值replace了地区,帐户和vpc-id。) { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*Vpc*", "ec2:*Subnet*", "ec2:*Gateway*", "ec2:*Vpn*", "ec2:*Route*", "ec2:*Address*", "ec2:*SecurityGroup*", "ec2:*NetworkAcl*", "ec2:*DhcpOptions*", "ec2:RunInstances", "ec2:StopInstances", "ec2:StartInstances", "ec2:TerminateInstances", "ec2:Describe*" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:Vpc": "arn:aws:ec2:region:account:vpc/vpc-id" } } } ] } 谢谢。
我们设置了IAMangular色,允许通过Oktaauthentication的联合用户访问AWS控制台。 某些用户需要临时AWS访问密钥才能在本地使用AWS命令行工具。 这些用户有什么方法可以在AWS控制台或shell脚本中创build临时访问密钥?