View a markdown version of this page

AWS IAM Roles Anywhere 使用私有憑證保護 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS IAM Roles Anywhere 使用私有憑證保護

Barnali Singh,Amazon Web Services

摘要

此模式示範如何使用 AWS IAM Roles Anywhere AWS 私有憑證授權單位 (AWS 私有 CA) 實作 ,為存取 AWS 資源的外部工作負載啟用安全的憑證型身分驗證。解決方案使用 X.509 憑證取得臨時 AWS 登入資料,無需長期存取金鑰。這是一種雲端原生安全模式,包括透過 AWS CloudFormation 範本和 shell 指令碼進行完全自動化,讓組織能夠快速部署現場部署應用程式、CI/CD 管道和外部系統的安全混合身分驗證。

先決條件和限制

先決條件

對於AWS基礎設施部署:

  • AWS CLI 已安裝並設定管理許可

  • IAM IAM Roles Anywhere、 和 AWS 私有 CA 服務的管理許可

對於用戶端系統設定:

  • AWS CLI安裝在具有下列許可的用戶端系統上:

    • acm-pca:IssueCertificate

    • acm-pca:GetCertificate

  • 安裝在用戶端系統的 OpenSSL

  • AWS 在每個用戶端系統上安裝簽署 Helper

  • 對 X.509 憑證和 PKI 概念的基本了解

注意

CloudFormation 範本會自動處理 AWS 資源建立。只有使用憑證存取 資源的外部系統才需要 OpenSSL。 AWS

限制

  • 根 CA 的憑證有效期間上限為 10 年

  • 定期輪換用戶端憑證。我們建議您至少每年執行一次此操作。

  • 區域限制:信任錨點和 AWS 私有 CA 必須位於相同 AWS 區域

  • 憑證大小上限:用戶端憑證為 16KB

產品版本

  • AWS CLI 2.0 版或更新版本

  • OpenSSL 1.1.1 或更新版本

  • AWS 簽署 Helper 1.4.0 或更新版本

  • AWS 私有 CA,目前版本

  • IAM Roles Anywhere e,目前版本

Architecture

目標技術堆疊

• AWS 私有 CA - 憑證發行的根 CA

• IAM Roles Anywhere - 憑證型角色擔任服務

• IAM 角色和政策 - 存取控制和許可

• AWS 簽署協助程式 - 用戶端憑證擷取工具

• OpenSSL - 憑證和金鑰產生

• CloudFormation - 基礎設施自動化

目標架構

圖 1 IAM Roles Anywhere憑證型身分驗證

架構包含:

  1. 目前憑證 - 外部系統向 提供 X.509 憑證 AWS

  2. 驗證 - IAM Roles Anywhere 接收憑證並啟動 身分驗證

  3. 驗證 - 信任錨點會針對信任的憑證 授權單位驗證憑證

  4. 驗證 - AWS 私有 CA 驗證憑證真偽和狀態

  5. 憑證有效 - AWS 私有 CA 確認憑證有效且受信任

  6. 擔任角色 - IAM Roles Anywhere 允許外部系統擔任設定的 IAM 角色

  7. 授予存取權 - 外部系統接收臨時登入資料以存取 AWS 資源

自動化和擴展

此模式包含完全自動化,透過:

• 使用可設定 IAM 許可進行 AWS 資源佈建的 CloudFormation 範本

• 憑證產生和用戶端設定的 Shell 指令碼

• 多個環境和自訂 IAM 政策的參數化組態

• 為多個用戶端產生批次憑證

• 自動化登入資料協助程式安裝和組態

工作流程

  1. 使用 建立憑證型 身分驗證所需的基礎 AWS 服務 IAM Roles Anywhere。

  2. 建立和設定用戶端憑證和身分驗證工具,以 安全 AWS 存取。

  3. 驗證憑證型身分驗證功能,並建立持續操作 的監控。

工具

• CloudFormation - 自動化 PCA、信任錨點、IAM 角色和設定檔的建立

• AWS CLI - 用於 AWS 服務互動的命令列界面

• OpenSSL - 產生憑證簽署請求並管理憑證

• AWS 簽署協助程式 - 交換憑證以取得臨時 AWS 憑證

• Bash/shell 指令碼 - 自動化完整的設定程序

程式碼儲存庫

具有私有憑證授權單位的 AWS IAM Roles Anywhere

最佳實務

  • 使用 根據最低權限原則設定 IAM 政策 --iam-policies parameter

  • 定期輪換用戶端憑證。我們建議您每年執行此操作。

  • 在信任政策中使用強大的憑證驗證

  • 實作憑證撤銷程序

  • 監控憑證過期日期

史詩

任務Description所需的技能

部署CloudFormation基礎設施

建立和部署佈建所有必要 AWS 資源的 CloudFormation 範本 AWS 私有 CA,包括 Trust Anchor、具有適當政策和 IAM Roles Anywhere 設定檔的 IAM 角色。  設定專案命名、憑證有效期間、工作階段持續時間和 IAM 政策附件的參數,以建立核心基礎設施 基礎。

雲端架構師、DevOps 工程師

設定憑證授權機構設定

AWS 私有 CA 透過 安裝根憑證、設定憑證範本,以及 建立憑證信任鏈來初始化 。設定 IAM Roles Anywhere 驗證所需的憑證有效 期間、金鑰演算法和憑證延伸,以確保適當的 PKI 基礎設施。

AWS 管理員、雲端管理員

驗證 &AWS; 資源組態

對所有部署 AWS 的資源執行全面驗證,以確保適當的組態和連線。確認 Trust Anchor 已正確連結至 AWS 私有 CA、IAM 角色具有適當的許可、設定檔已正確設定,且所有資源都處於 憑證型身分驗證工作流程的作用中/就緒狀態。

AWS 系統管理員、測試工程師
任務Description所需的技能

準備用戶端環境

透過讓部署指令碼 可執行並確保適當的許可來設定用戶端環境。使用 必要的工具和相依性設定本機系統、驗證指令碼可存取性,並建立憑證產生和部署程序的基礎。

DevOps 工程師、AWS 系統管理員

產生憑證簽署請求

使用 OpenSSL 或同等工具為用戶端 系統建立憑證簽署請求 (CSR)。設定憑證參數, 包括主旨資訊、金鑰演算法和憑證延伸。  確保 CSR 符合 AWS 私有 CA 要求,並包含適當的中繼資料 以進行 IAM Roles Anywhere 身分驗證。

雲端管理員、DevOps 工程師

透過 發行用戶端憑證 AWS 私有 CA

透過 處理 CSR AWS 私有 CA 以 發出有效的用戶端憑證。設定憑證有效期間、 憑證範本,並確保適當的憑證鏈建立。驗證憑證發行,並下載簽署的憑證以進行用戶端部署。

AWS 管理員、雲端架構師
任務Description所需的技能

取得臨時 AWS 登入資料

執行登入資料協助程式指令碼,以使用設定的用戶端憑證和私有金鑰擷取臨時 AWS 登入資料。驗證 登入資料擷取程序是否正常運作、驗證登入資料格式和過期時間,並確保與 IAM Roles Anywhere 服務適當整合,以實現無縫身分驗證工作流程。

DevOps 工程師、AWS 系統管理員

測試 AWS 資源存取

使用 取得的暫時登入資料執行 AWS 資源存取的完整測試。執行各種 AWS CLI 命令和 API 呼叫,以驗證與 Amazon S3、Amazon EC2 和 等目標服務的連線 AWS Lambda。 驗證許可是否符合設定的 IAM 角色政策,並記錄 成功的存取模式。

測試工程師、雲端管理員

驗證角色假設和許可

徹底驗證 IAM 角色擔任程序和 許可界限。測試允許和限制的操作, 以確認已正確強制執行最低權限存取。驗證工作階段持續時間 限制、登入資料重新整理機制,並確保角色假設遵循 安全最佳實務。

AWS 管理員、測試工程師

實作監控和記錄

設定 憑證型身分驗證系統的完整監控和記錄。設定稽核 追蹤的 CloudTrail 記錄、實作憑證過期監控、設定 身分驗證失敗警示,以及建立儀表板以追蹤 IAM Roles Anywhere 基礎設施的使用模式 和安全事件。

DevOps 工程師,雲端架構師

疑難排解

問題解決方案

憑證驗證失敗 –  嘗試驗證時發生「憑證驗證失敗」或「InvalidCertificate」錯誤。

解決步驟:

• 使用 驗證憑證有效日期 

openssl x509 -in certificate.pem -dates -noout

• 檢查信任錨點組態是否指向正確的私有 CA

• 確保私有金鑰對應至憑證

• 如果憑證是由錯誤的 CA 發行,請重新產生憑證

 IAM 許可拒絕錯誤 – 即使身分驗證成功,存取 AWS 資源時仍出現「存取遭拒」或「UnauthorizedOperation」

解決步驟:

• 檢閱並展開 IAM 角色政策,以包含必要的許可

• 確認信任政策包含 rolesanywhere.amazonaws.com 做為信任的實體

• 檢查設定檔 ARN 組態是否符合部署的資源

• 針對長時間執行的程序實作登入資料重新整理機制

相關資源

其他資訊

此模式非常適合具有混合雲端架構、在外部執行的 CI/CD 管道, AWS或任何需要安全 AWS 存取的外部系統的組織。憑證型方法提供比長期存取金鑰更好的安全性,並透過 啟用集中式憑證管理 AWS 私有 CA。

可設定的 IAM 許可 – 解決方案支援透過 的彈性 IAM 政策組態--iam-policies parameter

  • 預設:ReadOnlyAccess用於安全初始部署

  • 自訂:指定特定使用案例的逗號分隔政策 ARNs。例如,S3ReadOnlyAccessEC2ReadOnlyAccess或 自訂政策。針對複雜的許可要求支援多個政策。

使用範例:

# Default read-only access ./deploy.sh # S3-only access ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess" # Multiple services ./deploy.sh --iam-policies "arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess"