AWS IAM仅授予用户对特定VPC的读取权限

时间:2017-10-19 23:44:11

标签: amazon-web-services amazon-iam amazon-vpc

我试图limit access to a VPC没有成功。也许从另一方面接近这个问题是一个更好的主意,但我也无法做到这一点。

我试过了:

按标签限制,如here所示:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:Describe*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/client": "<client>"
                }
            }
        }
    ]
}

受VPC限制按建议here

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1508450090000",
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*"
            ],
            "Resource": [
                "arn:aws:ec2:<region>:<account>:subnet/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Vpc": "arn:aws:ec2:<region>:<account>:vpc/<vpc_id>"
                }
            }
        }
    ]
}

这两项政策都导致甚至没有列出任何实例,请参阅截图。 enter image description here

这对我来说似乎是一个非常明显且通常需要的政策。 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

根据文件:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_IAM.html#readonlyvpciam

  

以下政策授予用户列出您的VPC和的权限   他们的组件。他们无法创建,更新或删除它们。

{
    "Version": "2012-10-17",
    "Statement":[{
    "Effect":"Allow",
    "Action":["ec2:DescribeVpcs",
              "ec2:DescribeSubnets",
              "ec2:DescribeInternetGateways",
              "ec2:DescribeEgressOnlyInternetGateways",
              "ec2:DescribeVpcEndpoints",
              "ec2:DescribeNatGateways",
              "ec2:DescribeCustomerGateways",
              "ec2:DescribeVpnGateways",
              "ec2:DescribeVpnConnections",
              "ec2:DescribeRouteTables",
              "ec2:DescribeAddresses",
              "ec2:DescribeSecurityGroups",
              "ec2:DescribeNetworkAcls",
              "ec2:DescribeDhcpOptions",
              "ec2:DescribeTags",
              "ec2:DescribeInstances"],
    "Resource":"*"
    }
  ]
}

此外,如果您有多个您不希望他们看到的VPC,也许您应该考虑创建一个只包含您应该具有的网络部分的子帐户:

  1. 设置合并结算
  2. 首先,登录您的AWS账户并点击&#34;注册合并账单&#34;按钮。

    1. 创建新帐户
    2. 从未登录的浏览器中,您将需要再次注册到AWS,如下所示:

      为此新帐户指定适合您客户的名称。请注意您注册的电子邮件地址。

      1. 关联帐户
      2. 在您的主帐户中,返回ConsolidatedBilling并单击“发送请求”按钮。提供新子帐户的电子邮件地址。

        您应该会收到一封电子邮件,指向您的新子帐户的电子邮件地址。复制激活链接并将其粘贴到登录到子帐户的浏览器中。

        您的帐户现已关联!

        1. 创建客户端VPC并启用客户端所需的服务。
        2. 接下来,您可以创建VPC&amp;客户需要的服务,并通过上述政策限制他们的访问。

答案 1 :(得分:0)

您无法以您希望的方式限制public void Mins_TextChanged(object sender, EventArgs e) { var mintues = Convert.ToInt32(Mins.Text); } public void Seconds_TextChanged(object sender, EventArgs e) { var second = Convert.ToInt32(Seconds.Text); } public void button1_Click(object sender, EventArgs e) { timeLeft = (second+456); timer1.Start(); } 来电。

可以限制创建资源的调用(例如,授予在特定VPC中启动实例的权限),但不能限制 list 资源的调用。

如果您需要能够阻止某些用户列出资源,那么您需要构建自己的前端,在将信息呈现给用户之前对其进行过滤,或者< strong>使用多个AWS账户,因为它们完全相互隔离。