本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
實作 Lambda 安全性與合規性的可觀測性
AWS Config 是尋找和修正不符合標準的 AWS 無伺服器資源的有用工具。您對無伺服器資源所做的每項變更都會記錄在中 AWS Config。此外,還 AWS Config 可讓您將組態快照資料存放在 S3 上。您可以使用 Amazon Athena 和 Amazon 製 QuickSight 作儀表板並查看 AWS Config 數據。在 偵測不合規的 Lambda 部署和組態 AWS Config 中,我們討論了如何視覺化 Lambda 層等特定組態。本主題將展開介紹這些概念。
Lambda 組態的可見性
您可以使用查詢來提取重要的配置,例如 AWS 帳戶 ID,區域, AWS X-Ray 跟踪配VPC置,配置,內存大小,運行時和標籤。以下是您可以用來從 Athena 提取這些資訊的範例查詢:
WITH unnested AS ( SELECT item.awsaccountid AS account_id, item.awsregion AS region, item.configuration AS lambda_configuration, item.resourceid AS resourceid, item.resourcename AS resourcename, item.configuration AS configuration, json_parse(item.configuration) AS lambda_json FROM default.aws_config_configuration_snapshot, UNNEST(configurationitems) as t(item) WHERE "dt" = 'latest' AND item.resourcetype = 'AWS::Lambda::Function' ) SELECT DISTINCT account_id, tags, region as Region, resourcename as FunctionName, json_extract_scalar(lambda_json, '$.memorySize') AS memory_size, json_extract_scalar(lambda_json, '$.timeout') AS timeout, json_extract_scalar(lambda_json, '$.runtime') AS version json_extract_scalar(lambda_json, '$.vpcConfig.SubnetIds') AS vpcConfig json_extract_scalar(lambda_json, '$.tracingConfig.mode') AS tracingConfig FROM unnested
您可以使用查詢建立 Amazon QuickSight 儀表板並視覺化資料。若要彙總 AWS
資源組態資料、在 Athena 建立表格,並在 Athena 的資料上建立 Amazon QuickSight 儀表板,請參閱 AWS 雲端營運和管理部落格 QuickSight上的使用 Athena 和 Amazon 將資 AWS Config 料視覺化
如需有關可採取之動作的詳細資訊,請參閱本主題稍後的 處理可觀測性調查結果 區段。
Lambda 合規可見性
使用由產生的資料 AWS Config,您可以建立組織層級儀表板以監控合規性。這允許您一致地追蹤與監控:
-
依合規分數劃分的合規性套件
-
依不合規資源劃分的規則
-
合規狀態
檢查每條規則,以便為該規則識別不合規的資源。例如,如果您的組織要求所有 Lambda 函數都必須與一個關聯,VPC而且如果您已部署 AWS Config 規則來識別合規性,lambda-inside-vpc
則可以在上面的清單中選取規則。
如需有關可採取之動作的詳細資訊,請參閱下方的 處理可觀測性調查結果 區段。
使用 Security Hub 的 Lambda 函數邊界可見性
為了確保安全地使用包括 Lambda 在內的 AWS 服務,請 AWS 引入基礎安全性最佳實務 v1.0.0。這組最佳實務提供了清晰的指導方針,以保護 AWS 環境中的資源和數據,強調維持強大的安全狀態的重要性。透過提供統一的安全性與合規中心,藉此 AWS Security Hub 補充這一點。它彙總、組織和優先處理來自 Amazon Inspector 和 Amazon 等多個 AWS 服務的安全發現結果。 AWS Identity and Access Management Access Analyzer GuardDuty
如果您有安全中樞、Amazon Inspector、IAM存取分析器,並在 AWS 組織內 GuardDuty 啟用,Security Hub 會自動彙總這些服務的發現項目。例如,我們來考慮一下 Amazon Inspector。使用 Security Hub,您可以有效地識別 Lambda 函數中的程式碼和套件漏洞。在 Security Hub 主控台中,瀏覽至標示為「 AWS 整合中最新發現項目」的底部區段。您可以在此檢視和分析來自各種整合 AWS 服務的發現結果。
若要查看詳細資訊,請選擇第二欄中的查看調查結果連結。這會顯示依產品 (如 Amazon Inspector) 篩選的調查結果清單。若要將搜尋限定於 Lambda 函數,請將 ResourceType
設為 AwsLambdaFunction
。這會顯示 Amazon Inspector 中與 Lambda 函數相關的調查結果。
對於 GuardDuty,您可以識別可疑的網路流量模式。此類異常可能表明 Lambda 函數中存在潛在的惡意程式碼。
IAM使用 Access Analyzer,您可以檢查策略,尤其是那些具有將函數訪問權限授予外部實體的條件語句的策略。此外,IAM存取分析器會評估使用 Lambda 中的AddPermission作業時所設定API的權限EventSourceToken
。
處理可觀測性調查結果
考慮到 Lambda 函數可能的廣泛組態及其獨特要求,一種標準化的自動修補解決方案可能不適用於所有情況。此外,在各種環境中,變更的實作方式也存在差異。如果您遇到任何看似不合規的組態,請考慮下列指導方針:
-
標記策略
我們建議實作全面的標記策略。每個 Lambda 函數都應使用關鍵資訊進行標記,例如:
-
擁有者:對函數負責的人員或團隊。
-
環境:生產、整備、開發或沙盒。
-
應用程式:此函數所屬的更廣泛上下文 (如果適用)。
-
-
擁有者外展
與其自動化重大變更 (例如VPC組態調整),而是主動聯絡不合規功能的擁有者 (由擁有者標籤識別),為他們提供足夠的時間來執行下列任一項作業:
-
調整 Lambda 函數的不合規組態。
-
提供說明並請求例外狀況,或完善合規標準。
-
-
維護組態管理資料庫 (CMDB)
雖然標籤可以提供即時上下文,但維護集中式CMDB可以提供更深入的見解。它可以保留有關每個 Lambda 函數的更精細資訊、它的相依性和其他關鍵中繼資料。A CMDB 是稽核、符合性檢查和識別功能擁有者的寶貴資源。
隨著無伺服器基礎設施的不斷演進,採用主動的監控策略變得至關重要。使用 Security Hub 和 Amazon Inspector 等 AWS Config工具,可以快速識別潛在的異常或不合規的組態。然而,單純使用工具無法確保完全的合規性或最佳化組態。將這些工具與妥善記載的程序及最佳實務進行配對至關重要。
-
回饋迴圈:一旦執行修補步驟,務必確保有回饋迴圈。這意味著定期重新檢視不合規的資源,以確定它們是否已更新或仍存在相同的問題。
-
記錄:始終記錄可觀測性、所執行的動作以及任何授予的例外狀況。適當記錄不僅有助於稽核,還可協助強化該程序以便在未來提高合規性與安全性。
-
培訓和認知:確保所有利害關係人,尤其是 Lambda 函數擁有者,定期接受培訓並了解最佳實務、組織政策以及合規性要求。定期舉辦研討會、網路研討會或提供培訓課程,可進一步確保每個人在安全性和合規性方面取得共識。
總之,儘管工具和技術提供了強大的偵測與標記潛在問題的功能,但人的因素 (理解、溝通、培訓和記錄) 仍然是關鍵。它們共同構成一個強效的組合,可確保您的 Lambda 函數和更廣泛的基礎設施保持合規、安全並針對您的商業需求提供最佳化。