我目前有这个政策(HCL) data "aws_caller_identity" "current" {} data "aws_iam_policy_document" "admin_policy_doc" { statement { sid = "DenyAccessToModifySelf" effect = "Deny" actions = [ "iam:AddUserToGroup", "iam:AttachUserPolicy" ] resources = [ "arn:aws:iam::${data.aws_caller_identity.current.account_id}:user/&{aws:username}", ] } statement { sid = "AllowIAMControl" effect = "Allow" actions = ["iam:*"] resources = ["*"] } } 这旨在让pipe理员能够更新其他人的权限,而无需更新自己的权限以符合职责分离和最小特权。 看来,使用AddUserToGroup权限问题的资源是组而不是用户。 因此,如果用户有这个权限,用户仍然可以将自己添加到更多特权组中。 我也尝试使用这样的条件: { "Sid": "DenyAccessToAddSelfToGroup", "Effect": "Deny", "Action": […]
我有一个IAM策略设置,我认为它提供了将新版本部署到Elastic Beanstalk应用程序的正确权限。 我仍然得到InsufficientPrivilegesException ,特别是: aws elasticbeanstalk update-environment –environment-name LearnTfsBff –version-label LearnTfsBff-30 调用UpdateEnvironment操作时发生错误(InsufficientPrivilegesException):访问被拒绝 这是为部署用户设置的策略: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:*", "cloudformation:GetTemplate", "cloudformation:DescribeStackResource", "cloudformation:DescribeStackResources", "autoscaling:*", "cloudfront:CreateInvalidation", "ec2:describeVpcs", "ec2:DescribeImages", "elasticbeanstalk:CreateApplicationVersion", "elasticbeanstalk:DescribeApplications", "elasticbeanstalk:DescribeApplicationVersions", "elasticbeanstalk:DescribeEnvironments", "elasticbeanstalk:UpdateEnvironment", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "s3:ListAllMyBuckets", ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::learn-tfs-builds" }, […]
我有一个旧的aws帐户与一个托pipe的外部域。 我有一个新的aws帐户,我应该通过cli / Terrafrom作为新域的用户来pipe理域。 如何设置合适的跨账户权限? 有很多文档(例如http://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html ),我已经尝试了很多方法,但没有运气远。
我正在开发一个可能用于AWS托pipe的网站。 这导致了一个关于存储在S3桶中的东西的访问权限的问题: 我为这个网站build立了一个EC2服务器,还有一个S3存储桶来存放一些网站的东西。 爱丽丝和鲍勃在我的网站上创build帐户。 爱丽丝和鲍勃都上传文件,最终在桶中。 爱丽丝应该能够看到她的文件,而不是鲍勃的,反之亦然。 该网站的匿名用户应该能够看到两个文件。 这是可能的S3? 我的印象是,这是AWS IAM的用途; 它是否正确? 我正在慢慢地越过我的AWS新手主机,但是我还没有完成 – 谢谢!
我想使用AWS RDS命令行工具使用create-db-snapshot为我的数据库my-database create-db-snapshot 。 我在IAM中创build了一个特殊的备份angular色,允许我描述,复制和创build快照。 它看起来像这样(我用x代替了敏感的id): { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmtxxxxxxxxxxxxxx", "Effect": "Allow", "Action": [ "rds:CopyDBSnapshot", "rds:CreateDBSnapshot", "rds:DescribeDBSnapshots", "rds:DescribeEventCategories", "rds:DescribeEvents" ], "Resource": [ "arn:aws:rds:eu-west-1:xxxxxxxxxxxxxx:db:my-database" ] } ] } 使用aws configureconfigurationCLI工具并input这个用户的密钥后,我尝试通过执行这个命令来创build一个快照: aws rds create-db-snapshot \ –db-snapshot-identifier "my-database-backup-$(date +%d-%m-%Y-%Hh%Mm)" \ –db-instance-identifier "my-database" 这会导致一个错误消息说: 调用CreateDBSnapshot操作时发生客户端错误(AccessDenied):用户:arn:aws:iam :: xxxxxxxxxxxxxx:user / automated-tasks无权执行:资源上的rds:CreateDBSnapshot:arn:aws:rds:eu-west -1:XXXXXXXXXXXXXX:快照:我的数据库备份,24-11-2014-11h07m 我认为这很奇怪,因为它说访问被拒绝的资源与我指定的–db-snapshot-identifier参数的名称一样,与–db-instance-identifier参数相同。 如果我有足够的权限来创build应用于实例的快照,那么我是否应该不具有创build该快照的权限? 无论如何,我尝试将策略中的资源更改为RDS中的所有内容: "Resource": [ […]
例如,如果我将数据存储在美国标准中,那么S3定价页面会指出在弗吉尼亚州北部地区的Amazon EC2转换为每GB 0.00美元。 它看起来像GET请求$ 0.004每10,000个请求。 所以,在我看来,如果我正确地设置了我的美国标准区域S3规则,并且我的客户在弗吉尼亚州北部地区正确设置了他们的EC2实例,那么对于10,000个GET请求,总共花费0.004美元。 (在我的S3存储成本之上。) 如果我的客户想要将数据从EC2中移出,那么成本就是他们的,结算是他们的问题等等。 那么,什么S3桶策略和IAM策略的组合,甚至是传统的S3 ACL,都可以在我的terminal上实现呢?
我正在尝试创build一个只有PutObject访问权限的用户才能访问名为“desking”的S3存储桶。 在IAM中,我创build了一个用户,并应用此策略: { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPut", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::desking/*" ] } ] } 但是,当我去“模拟策略”,我得到的错误: implicitly denied (no matching statements found) 我试图给实际的“办公桌”添加一个策略: { "Id": "Policy1447457038043", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1447457035535", "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::desking/*", "Principal": "*" } ] } 不过,还是一样的错误。 […]
我希望能够让AWS上传结算CSV到S3。 这需要一个IAM策略。 我有一个IAM用户,我给了AmazonS3FullAccess。 在存储桶属性中,我可以添加一个策略。 然后popup一个策略编辑器,并链接到策略生成器 。 在那里我看到一个具有以下值的表单: 策略types:S3存储桶策略 效果:允许 校长: AWS服务:S3(不能更改) 行动:PutObject ARN:arn:aws:s3 ::: xyzbillingreport / keyname ??? 问题 什么是校长,我在那里放什么? 什么是关键字? 我在哪里find它? PutObject操作足以上传帐单报告,还是需要更多?
我的帐户中有两个VPC。 一个用于DEV和一个用于生产。 我想要创build一个IAM用户,用户只能在控制台中看到DEV EC2实例,并且应该能够创build或重新启动实例。 他不应该看到生产EC2实例。 我尝试了以下政策,并得到错误为"An error occurred fetching address data: You are not authorized to perform this operation." 我的IAM政策… { "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:Describe*", "ec2:RebootInstances", "ec2:RunInstances", "ec2:CreateTags" ], "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "ec2:Region:VPC": "us-west-2:vpc/vpc-00000000" } } } ] } 在这里,我可以在这里做一些事情。 但不能应用标签。 事情是用户不应该能够重命名任何其他标签在PRODUCTION VPC中,当我插入波纹pipe规则,然后用户可以更改其他VPC实例的标签以及… { "Effect": "Allow", […]
我正在寻找关于这两个日志logging系统“响应时间”的文档或信息。 对于使用不准确的术语,我感到抱歉,但是其含义应该在下面的段落中说明。 在aws中, Cloudtrail可以捕获与IAM更改相关的事件并访问并将日志收集到S3位置。 在Google云端平台中,我也可以在一个地方看到与权限相关的更改。 但是我无法找出这些测井系统的时间方面。 我想知道审计事件(IAM更改/权限更改/创build新login等)与其在每个日志logging系统中的外观之间的典型时间是什么。 我不是在寻找硬数字。 但是,如果我能find说明“尽力而为”的文档,我会很高兴的。