本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SEC03-BP02 授予最低權限存取
最佳實務是僅授予身分在特定情況下對特定資源執行特定動作所需的存取權。使用群組和身分屬性大規模動態設定許可,而不是定義個別使用者的許可。例如,您可以允許一組開發人員的存取權,以只管理其專案的資源。如此,當開發人員退出專案時,其存取權將自動被撤銷,而無需變更基礎存取政策。
預期成果:使用者應僅擁有完成其工作所需的許可。使用者只應獲得在有限時間內執行特定任務的生產環境存取權,且任務完成後,存取權就應該被撤銷。許可不再需要時就應撤銷,包括當使用者移至不同的專案或工作性質。管理員特權僅應授予給一小部分受信任的管理員。並應定期檢查許可,避免許可滲透的問題。電腦或系統帳戶應被授予完成其任務所需的最小許可集。
常見的反模式:
-
預設授予使用者管理員許可。
-
使用根使用者進行 day-to-day活動。
-
建立過於寬鬆的政策,但不具完整的管理員權限。
-
不檢閱許可,無法確定是否符合最低權限存取權。
未建立此最佳實務時的曝險等級:高
實作指引
最低權限原則指出,僅應允許身分執行完成特定任務所需的最小動作集。這平衡了可用性、效率和安全性。根據此原則運作有助於限制意外存取,也有助於追蹤誰有權存取哪些資源。IAM 使用者和角色預設沒有許可。根使用者預設擁有完整存取權,應受到嚴格監控,並僅用於需要根存取權的任務。
IAM 政策用於明確授予IAM角色或特定資源的許可。例如,身分型政策可以連接到IAM群組,而 S3 儲存貯體可以由資源型政策控制。
建立IAM政策時,您可以指定 所需的服務動作、資源和條件, AWS 以允許或拒絕存取。 AWS 支援各種條件,協助您縮小存取範圍。例如,如果請求者不是您 AWS 組織的一部分,您可以使用PrincipalOrgID
條件索引鍵 拒絕動作。
您也可以使用 CalledVia
條件金鑰來控制 AWS 服務代表您提出的請求,例如 AWS CloudFormation 建立 AWS Lambda 函數。您應該分層不同的政策類型,以建立 defense-in-depth和限制使用者的整體許可。您還可以限制在什麼條件下,可以授予哪些許可。例如,您可以允許應用程式團隊為其建置的系統建立自己的IAM政策,但也必須套用許可界限
實作步驟
-
實作最低權限政策 :將IAM具有最低權限的存取政策指派給群組和角色,以反映您定義的使用者角色或函數。
-
根據API用量 的基本政策:判斷所需許可的一種方法是檢閱 AWS CloudTrail 日誌。此檢閱可讓您建立針對使用者在 中實際執行的動作量身打造的許可 AWS。IAM Access Analyzer 可以根據活動 自動產生IAM政策
。 https://aws.amazon.com/blogs/security/delegate-permission-management-to-developers-using-iam-permissions-boundaries/ 您可以使用組織或帳戶層級的 IAM Access Advisor 來追蹤特定政策 的上次存取資訊。
-
-
考慮使用適用於各工作職能的AWS 受管政策。開始建立精細的許可政策時,可能很難知道要從何處開始。 AWS 具有常見任務角色的受管政策,例如帳單、資料庫管理員和資料科學家。這些政策可協助縮小使用者的存取權,同時決定如何實施最低權限政策。
-
移除不需要的許可:移除不需要的許可,並削減過於寬鬆的政策。IAM Access Analyzer 政策產生可協助微調許可政策。
-
確保使用者對生產環境具有有限的存取權:使用者應只能存取具有有效使用案例的生產環境。在使用者執行完需要生產存取權的特定任務後,就應撤銷存取權。限制對生產環境的存取,有助於防止發生會影響生產的意外事件,也能降低意外存取的影響範圍。
-
考慮許可界限:許可界限是使用受管政策的功能,可設定身分型政策可授予IAM實體的最大許可。實體的許可界限可讓其只執行由身分類型政策和其許可界限同時允許的動作。
-
考慮許可的資源標籤:使用資源標籤的屬性型存取控制模型,可讓您根據資源用途、擁有者、環境或其他條件來授予存取許可。例如,您可以使用資源標籤來區分開發環境和生產環境。使用這些標籤,您可以將開發人員限制在開發環境中。結合標記和許可政策,您可以實現精細的資源存取,無需為每個工作性質定義複雜的自訂政策。
-
使用 的服務控制政策 AWS Organizations。服務控制政策可集中控制組織中成員帳戶的最大可用許可。重要的是,服務控制政策還能讓您限制成員帳戶中的根使用者許可。另請考慮使用 AWS Control Tower,其提供豐富 的規範性受管控制 AWS Organizations。您也可以在 Control Tower 中定義自己的控制。
-
為您的組織建立使用者生命週期政策:使用者生命週期政策定義使用者加入 時要執行的任務 AWS、變更任務角色或範圍,或不再需要存取 AWS。應在使用者生命週期的每個步驟中進行許可審查,以驗證許可是否受到適當限制並避免許可滲透的問題。
-
建立定期排程來檢閱許可並移除任何不需要的許可:您應該定期檢閱使用者存取權,以確認使用者沒有過度允許存取。 AWS Config
和 IAM Access Analyzer 可以在稽核使用者許可時提供協助。 -
建立任務角色矩陣:任務角色矩陣可視覺化您的 AWS 足跡內所需的各種角色和存取層級。使用職務矩陣,您可以根據組織內的使用者職責定義和區分許可。使用群組,而不是將許可直接套用至個別使用者或角色。
資源
相關文件:
相關影片:
相關範例: