Proficiency

AWS 使用 Session Manager 實現無金鑰安全登入 EC2

前言

使用金鑰檔案登入 EC2 雖然方便,但需要將金鑰檔案保存在本地端,存在外洩風險,進而增加資安隱患。

為解決這一問題,AWS 提供了 Session Manager 功能,允許使用者無需金鑰檔案,直接通過 AWS 管理介面安全地登入並操作 EC2。這不僅消除了金鑰外洩的風險,還顯著提升了資安防護水平和管理效率。

先決條件

  1. EC2 綁定的 Security group,Outbound rule 須開放 443 port
  2. EC2 所在子網域,可連線外網或是綁定 Systems manager 相關的 VPC endpoint

操作步驟

建立 IAM Role

  1. 至 AWS IAM 服務,Roles 介面,點擊 Create role
001. 至 IAM Role 介面,點擊 Create role
  1. 選擇 EC2 服務作為 IAM Role 綁定之標的
002. 選擇綁定 EC2
  1. 選擇名稱為 AmazonSSMManagedInstanceCore 的 IAM Policy
003. 選擇 Policy
  1. 設定 IAM Role 名稱,並建立 IAM Role
004. 設定 Role 名稱
  1. 建立成功
005. 建立成功

EC2 綁定 IAM Role

  1. 至 AWS EC2 服務,Instances 介面,選擇要綁定 IAM Role 的 EC2 instance,點擊 Modify IAM role
006. 至 EC2 介面,修改 IAM Role
  1. 選擇剛剛建立的 IAM Role
007. 選擇剛建立的 IAM Role
  1. Security 項目查看,可看到成功綁定 IAM Role
008. 確認綁定成功

登入 EC2

  1. 至 AWS Systems Manager 服務,Fleet Manager 介面,點擊要登入的 EC2 instance
009. 至 Systems Manager Fleet Manager 介面,點擊 EC2
  1. 點擊 Start terminal session,開啟終端顯示畫面
010. 點擊 Connect
  1. Session Manager 預設使用 shell 為登入方式,可輸入以下指令,登入使用者,並到當前使用者所在路徑。接下來可以正式部署 EC2 內的環境了!
sudo su ec2-user
cd ~
011. 成功登入 EC2

結語

透過 Session Manager,AWS 使用者可以實現更安全且高效的 EC2 管理方式,不再依賴金鑰檔案,降低了金鑰外洩的風險。

同時,Session Manager 的集中化管理功能,讓使用者能輕鬆追蹤登入活動並符合企業的資安要求。未來,隨著雲端技術的不斷發展,這樣的無金鑰登入模式將可能成為更多企業採用的資安標準,為雲端環境的安全運營提供更強有力的保障。

希望這篇文章能啟發您更進一步的學習和研究,感謝您耐心閱讀。如果您有任何相關問題或想要討論,請隨時寄信給我,我們一起來探討吧!