2017-10-19 210 views
0

我試圖以limit access to a VPC未獲成功。也許從另一方面接近這個問題是一個更好的主意,但我也無法做到這一點。AWS IAM授予用戶只讀特定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

這對我來說似乎是一個非常明顯且常用的策略。 任何幫助表示讚賞。

+0

請參閱https://aws.amazon.com/premiumsupport/knowledge-center/iam-policy-restrict-vpc/。 – jarmod

+0

@jarmod我是否正確理解'ec2:Describe *'操作不能以任何方式限制/限制,因爲它不是基於資源的? – kev

+0

相信這是正確的。有關支持資源級許可權的操作的明確列表,請參閱http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html。 AWS的組織方式並不是讓您按照自己的意願去做,因爲它的分離確實處於帳戶級別,而不是VPC級別。就我個人而言,我希望看到AWS爲資源引入新的分層容器,以便IAM憑證可以在vpc,項目,文件夾,帳戶或組織中進行限定。 – jarmod

回答

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":"*" 
    } 
    ] 
} 

此外,如果您有多個室性早搏,你不希望他們甚至可以看到,也許你應該考慮的只有他們應該跨越具有知名度的網絡的一部分建立子賬戶:

  1. 設置合併結算

作爲第一步,登錄到您的AWS帳號並點擊「註冊爲合併結算」按鈕。

  • 創建一個新帳戶
  • 從非登錄瀏覽器,然後你會想再次重新註冊到AWS這樣的:

    給這個新帳戶是您客戶的適當名稱。請注意您註冊的電子郵件地址。

  • 鏈接賬戶
  • 在主帳戶,頭回ConsolidatedBilling並點擊發送請求按鈕。爲新的子帳戶提供電子郵件地址。

    您應該收到一封電子郵件到您的新子帳戶的電子郵件地址。複製激活鏈接並將其粘貼到登錄到子帳戶的瀏覽器中。

    您的帳戶現在已鏈接!

    1. 創建您的客戶端VPC並啓用客戶端所需的服務。

    接下來,您可以創建客戶需要的VPC &服務,並通過上述策略限制其訪問。

    +0

    對單個vpc的限制在哪裏? – kev

    +0

    @kev查看我的帳戶更新。 – shenku

    +0

    您是否可以更精確地說明「啓用客戶需要的服務」。我創建了一個子帳戶,但我只能允許/拒絕訪問服務(例如Amazon EC2)和操作(例如DescribeInstances),但我無法瞭解如何限制對特定vpc的訪問。謝謝。 – kev

    0

    您無法以您想要的方式限制Describe*調用。這創建資源

    可以將呼叫限制(例如,給予許可在特定的VPC啓動一個實例),但調用列表資源不能被限制。

    如果你需要,以防止某些用戶從上市資源的能力,那麼你要麼需要建立自己的前端,它呈現給用戶之前過濾信息,或使用多個AWS賬戶自他們完全相互隔離。

    相關問題