SEC03-BP09 安全地與第三方共用資源 - 安全支柱

SEC03-BP09 安全地與第三方共用資源

您雲端環境的安全並不止於您的組織。您的組織可能仰賴第三方來管理您的部分資料。針對第三方管理的系統的許可管理應該遵循即時存取的做法,採用最低權限的原則搭配臨時憑證。透過與第三方密切合作,您可以同時減少影響範圍以及意外存取的風險。

預期成果:只要憑證有效且作用中,任何人都可以使用與使用者相關聯的長期 AWS Identity and Access Management (IAM) 憑證、IAM 存取金鑰和機密金鑰。使用 IAM 角色和臨時憑證可透過減輕維護長期憑證的工作 (包括管理這些敏感詳細資料的營運負擔),協助改善您的整體安全態勢。透過在 IAM 信任政策中針對外部 ID 使用通用唯一識別符,以及控制附加到 IAM 角色的 IAM 政策,您可以稽核並確認授予第三方的存取權未過於寬鬆。如需有關分析外部共用的資源的規範指引,請參閱SEC03-BP07 分析公有和跨帳戶存取權

常見的反模式:

  • 無條件地使用預設 IAM 信任政策。

  • 使用 IAM 憑證和存取金鑰。

  • 重複使用外部 ID。

未建立此最佳實務時的風險暴露等級:

實作指引

您可能會想要允許在 AWS Organizations 之外共用資源或將帳戶存取權授予第三方。例如,第三方可能提供監控解決方案,而該解決方案需要存取您帳戶中的資源。在該些情況下,僅以第三方需要的權限來建立 IAM 跨帳戶角色。此外,請使用外部 ID 條件定義信任政策。當使用外部 ID 時,您或第三方可以為每個客戶、第三方或租用戶產生唯一 ID。在建立唯一 ID 後,其不應該受除了您之外的任何人控制。第三方必須實作程序,以安全、可稽核且可重新產生的方式將外部 ID 與客戶關聯。

您還可以使用 IAM Roles Anywhere 為 AWS 之外使用 AWS API 的應用程式管理 IAM 角色。

如果第三方不再需要存取您的環境,請移除該角色。避免為第三方提供長期憑證。掌握對其他支援共用的 AWS 服務的狀態。例如,AWS Well-Architected Tool 允許與其他 AWS 帳戶 共用工作負載,而 AWS Resource Access Manager 有助您安全地與其他帳戶共用您擁有的 AWS 資源。

實作步驟

  1. 使用跨帳戶角色提供存取權給外部帳戶。

    跨帳戶角色可減少外部帳戶和第三方為了服務客戶所儲存的敏感資訊量。跨帳戶角色允許您在帳戶中將 AWS 資源的存取權安全地授予第三方,例如 AWS Partner 或組織內的其他帳戶,同時維持管理和稽核該存取權的能力。

    第三方可能從混合式基礎設施為您提供服務,或將資料提取至異地。IAM Roles Anywhere 可幫助您啟用第三方工作負載,以安全地與您的 AWS 工作負載進行互動,並進一步減少使用長期憑證的需要。

    您不應該使用與使用者相關聯的長期憑證或存取金鑰來提供外部帳戶存取權。反而應該使用跨帳戶角色來提供跨帳戶存取權。

  2. 對第三方使用外部 ID。

    使用外部 ID 可讓您指定誰可以擔任在 IAM 信任政策中的角色。信任政策可以要求擔任該角色的使用者聲明他們操作的條件和目標,還提供方法讓客戶擁有者允許只能在特定情況下擔任角色。外部 ID 的主要功能是解決和防止混淆代理人問題。

    如果您是 AWS 帳戶 擁有者並且已為存取您的帳戶以及其他 AWS 帳戶 的第三方設定角色,或是當您代表不同客戶擔任角色時,請使用外部 ID。與您的第三方或 AWS Partner 合作建立要納入 IAM 信任政策中的外部 ID 條件。

  3. 使用通用唯一外部 ID。

    實作為外部 ID 產生隨機唯一值的程序,例如通用唯一識別符 (UUID)。在不同客戶間重複使用外部 ID 的第三方並不會解決混淆代理人的問題,因為客戶 A 可能能夠使用客戶 B 的角色 ARN 搭配重複的外部 ID 來檢視客戶 B 的資料。在多租用戶環境中,第三方支援使用不同 AWS 帳戶 的多個客戶,因此第三方必須為各個 AWS 帳戶 使用不同的唯一 ID 作為外部 ID。第三方負責偵測重複的外部 ID 並安全地將各個客戶對應到其個別的外部 ID。第三方應該測試以確認他們只能在指定外部 ID 時擔任該角色。在要求使用外部 ID 之前,第三方不應該儲存客戶角色 ARN 和外部 ID。

    外部 ID 不會被視為機密,但外部 ID 不能是容易猜測的值,例如電話號碼、名稱或帳戶 ID。將外部 ID 設為唯讀欄位,而使外部 ID 不能為了冒充設定的目的而遭到變更。

    您或第三方可以產生外部 ID。定義程序以決定由誰負責產生 ID。無論建立外部 ID 的實體為何,第三方都要在客戶間一致地強制唯一性和格式。

  4. 棄用客戶提供的長期憑證。

    棄用長期憑證並使用跨帳戶角色或 IAM Roles Anywhere。如果您必須使用長期憑證,請制定計畫以遷移至角色型存取。如需有關管理金鑰的詳細資訊,請參閱身分管理。另外也與您的 AWS 帳戶 團隊和第三方合作建立風險緩解執行手冊。如需有關回應和緩解潛在安全事件的衝擊的規範指引,請參閱事件回應

  5. 確認該設定具有規範指引且已自動化。

    您的帳戶中為跨帳戶存取權建立的政策必須遵循最低權限原則。第三方必須提供角色政策文件,或使用 AWS CloudFormation 範本或對您來說同等的自動設定機制。這可減少發生與手動政策建立相關聯之錯誤的機率,並提供可稽核的記錄。如需有關使用 AWS CloudFormation 範本來建立跨帳戶角色的詳細資訊,請參閱跨帳戶角色

    第三方應該提供自動化、可稽核的設定機制。然而,透過使用概述所需存取權的角色政策文件,您應該可自動設定角色。使用 AWS CloudFormation 範本或同等項目,您應該透過偏移偵測來監控變更,以作為稽核實務的一部份。

  6. 將變更列入考量。

    您的帳戶結構、對第三方的需求或他們提供的服務方案可能發生變更。您應該預期變更和失敗,並透過合適的人員、程序和技術相應進行規劃。定期稽核您提供的存取層級,並實作偵測方法以在發生意外變更時通知您。監控和稽核角色和外部 ID 資料儲存的使用。您應該準備好在發生意外變更或存取模式時撤銷第三方存取權,無論是暫時或永久撤銷。另外,衡量撤銷作業的衝擊,包括執行所花的時間、牽涉的人員、成本,以及對其他資源的衝擊。

    如需有關偵測方法的規範指引,請參閱偵測最佳實務

資源

相關的最佳實務:

相關文件:

相關影片:

相關範例: