簡體   English   中英

AWS 按用戶管理 ec2 入站/出站規則

[英]AWS manage ec2 inbound/outboud rules by user

作為管理員,我正在尋找一種方法,允許用戶管理他們自己的特定安全組的入站/出站規則,但不允許他們修改其他安全組的入站/出站規則。 現在這可以使用策略實現,但是,這種方法的唯一問題是您必須將每個員工的安全組添加到每個 EC2 實例。

例如(雙關語),如果我有 20 個 EC2 和 50 名員工,我需要手動添加 50 * 20 個安全組。 那不實用。

這個問題的更易於管理的解決方案是什么?

根據 OP 反饋編輯

好的,所以如果我正確理解你的情況;

  • 您有 N 個工程師需要連接到 VPC 中的后端 EC2 實例。

  • 您可以根據 IP 調節進出 EC2 實例的流量

  • 工程師四處走動,因此 IP 地址會發生變化。 因此,他們需要能夠使用新的 IP 地址進行更新。

我認為 AWS 的首選響應(他們在 DevOps Pro 證書上提出的要求,並在白皮書中聲明)是您設置了堡壘主機或 Jumpbox。 取決於網絡連接的工作方式。

無論哪種方式,您都可以將后端服務的所有連接限制到您的堡壘主機,並要求工程師首先連接到那里,然后通過 ssh 連接到其他服務器。 這簡化了應用程序實例上的安全組。 這顯然假設您使用的是 SSH,但我相信您可以使用 RDP 做類似的事情。

如果您想繼續使用基於 IP 的規則,我想這會起作用 - 只需將每個安全組附加到堡壘主機上,然后工程師就可以像這樣管理它。

然而,安全性遠不止於此。 現在,你只回答“授權”的問題,而不是身份驗證,你仍然需要考慮治理

驗證

如果僅通過 IP 設置,則該 IP 上的任何人都可以連接。 AWS 建議讓每個工程師生成一個 SSH 密鑰對。 他們將他們的公共證書上傳到 S3 並隨身攜帶他們的私鑰。 然后每隔幾分鍾運行一次 CRON 作業,將 S3 上的公鑰拉下來,並使用該密鑰為他們創建一個用戶條目。

這樣,只有將公鑰上傳到 S3 的人才能訪問您的堡壘主機,然后進入后端服務器。

治理

您還應該確保跟蹤誰在登錄,以及他們在做什么。 由於您現在有了一個中心連接點,您可以將用戶操作的日志發送到 S3 和 CloudWatch。 我認為如果有人執行了他們不應該執行的操作,您甚至可以觸發 CloudWatch 事件。 應該很容易分辨出他們來自哪里以及他們要去哪里。

總的來說,我認為您應該考慮刪除整個 IP 過濾策略並獲得 VPN 連接。 它可能花費 40~100/月,但它更安全。 如果您讓工程師手動設置 IP,那么有人搞砸並且大量 CIDR 塊對世界開放只是時間問題。 此外,請考慮返回的工程師時間的價值。 必須獲取他們的 IP 並將其設置在 AWS 中是非增值工作


初始職位

所以,我不確定我是否理解你想要完成的任務。 但我猜你想給每個員工一個獨特的環境,他們可以隨心所欲地改變。 你有幾個選擇

CloudFormation - 最好的選擇,IMO構建一個主 CloudFormation 模板,用於構建您需要的所有部分:

  • EC2 實例
  • 安全組
  • 政策

確保它具有用戶 IAM 角色的參數,該參數將與策略相關聯。

接下來,將堆棧注冊為具有服務目錄的應用程序。 讓您的 IAM 用戶能夠啟動應用程序,並讓它提供他們的 IAM 角色作為參數。 這應該給他們他們的實例和編輯安全組的能力(假設策略設置正確)

啟動配置。 hacky,但可能有用

  1. 為每個員工創建一個安全組,並為每個員工制定一個策略。
  2. 為自動縮放組定義啟動配置。
  3. 然后,使用啟動配置啟動所有 EC2 實例並提供配置中的所有安全組。
  4. 將 EC2 實例擴展到您需要的任意數量。 每個安全組將應用於每個 EC2 實例。

使用 AWS 客戶端 VPN。

https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html

在其設備上安裝了 VPN 客戶端的用戶可以從任何公共網絡 VPN 到 vpc,並可以安全地訪問資源。 無需為每個用戶維護和更新安全組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM