在 Security Lake AWS 服務 中從 收集資料 - Amazon Security Lake

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

在 Security Lake AWS 服務 中從 收集資料

Amazon Security Lake 可以從下列原生支援的 收集日誌和事件 AWS 服務:

  • AWS CloudTrail 管理和資料事件 (S3、Lambda)

  • Amazon Elastic Kubernetes Service (Amazon EKS) 稽核日誌

  • Amazon Route 53 Resolver 查詢日誌

  • AWS Security Hub 問題清單

  • Amazon Virtual Private Cloud (Amazon VPC) 流程日誌

  • AWS WAF v2 日誌

Security Lake 會自動將此資料轉換為 Security Lake 中的開放式網路安全結構描述架構 (OCSF)和 Apache Parquet 格式。

提示

若要在 Security Lake 中新增一個或多個上述服務做為日誌來源,您不需要分別設定這些服務中的記錄,CloudTrail 管理事件除外。如果您在這些服務中已設定記錄,則不需要變更記錄組態,即可在 Security Lake 中將其新增為日誌來源。Security Lake 透過獨立且重複的事件串流,直接從這些服務提取資料。

先決條件:驗證許可

若要在 Security Lake 中新增 AWS 服務 做為來源,您必須擁有必要的許可。確認連接至您用來新增來源之角色的 AWS Identity and Access Management (IAM) 政策具有執行下列動作的許可:

  • glue:CreateDatabase

  • glue:CreateTable

  • glue:GetDatabase

  • glue:GetTable

  • glue:UpdateTable

  • iam:CreateServiceLinkedRole

  • s3:GetObject

  • s3:PutObject

建議角色具有 和 S3:getObjects3:PutObject許可的下列條件和資源範圍。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUpdatingSecurityLakeS3Buckets", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::aws-security-data-lake*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

這些動作可讓您從 收集日誌和事件 AWS 服務 ,並將其傳送至正確的 AWS Glue 資料庫和資料表。

如果您使用 AWS KMS 金鑰進行資料湖的伺服器端加密,您也需要 的許可kms:DescribeKey

新增 AWS 服務 做為來源

將 新增 AWS 服務 做為來源後,Security Lake 會自動開始從中收集安全日誌和事件。這些指示說明如何在 Security Lake 中新增原生支援的 AWS 服務 來源。如需新增自訂來源的說明,請參閱 從 Security Lake 中的自訂來源收集資料

Console
新增 AWS 日誌來源 (主控台)
  1. 在 https://https://console.aws.amazon.com/securitylake/ 開啟 Security Lake 主控台。

  2. 從導覽窗格中選擇來源

  3. 選取您要從中收集資料 AWS 服務 的 ,然後選擇設定

  4. 來源設定區段中,啟用來源,然後選取您要用於資料擷取的資料來源版本。根據預設,Security Lake 會擷取最新版本的資料來源。

    重要

    如果您沒有在指定區域中啟用新版本 AWS 日誌來源所需的角色許可,請聯絡您的 Security Lake 管理員。如需詳細資訊,請參閱更新角色許可

    若要讓訂閱者擷取選取的資料來源版本,您也必須更新訂閱者設定。如需如何編輯訂閱者的詳細資訊,請參閱 Amazon Security Lake 中的訂閱者管理

    或者,您可以選擇僅擷取最新版本,並停用用於資料擷取的所有先前來源版本。

  5. 區域區段中,選取您要收集來源資料的區域。Security Lake 將從來源收集所選區域中所有帳戶的資料。

  6. 選擇 啟用

API

新增 AWS 日誌來源 (API)

若要以程式設計方式新增 AWS 服務 做為來源,請使用 Security Lake API 的 CreateAwsLogSource 操作。如果您使用的是 AWS Command Line Interface (AWS CLI),請執行 create-aws-log-source 命令。sourceNameregions 是必要參數。或者,您可以將來源的範圍限制為特定 accounts或特定 sourceVersion

重要

當您未在命令中提供參數時,Security Lake 會假設缺少的參數會參照整個集。例如,如果您不提供 accounts 參數 ,則 命令會套用至組織中的整個帳戶集。

下列範例新增 VPC 流程日誌做為指定帳戶和區域中的來源。此範例已針對 Linux、macOS 或 Unix 格式化,並使用反斜線 (\) 行接續字元來改善可讀性。

注意

如果您將此請求套用至您尚未啟用 Security Lake 的區域,您將會收到錯誤。您可以在該區域中啟用 Security Lake 來解決錯誤,或使用 regions 參數來指定您已啟用 Security Lake 的區域。

$ aws securitylake create-aws-log-source \ --sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions=["us-east-2"],sourceVersion="2.0"

取得來源集合的狀態

選擇您的存取方法,並依照步驟取得目前區域中已啟用日誌收集的帳戶和來源快照。

Console
取得目前區域中日誌集合的狀態
  1. 開啟位於 https://https://console.aws.amazon.com/securitylake/ 的 Security Lake 主控台。

  2. 在導覽窗格中,選擇帳戶

  3. 將游標停留在來源欄中的數字上,以查看為所選帳戶啟用哪些日誌。

API

若要取得目前區域中日誌集合的狀態,請使用 Security Lake API 的 GetDataLakeSources 操作。如果您使用的是 AWS CLI,請執行 get-data-lake-sources 命令。對於 accounts 參數,您可以將一或多個 AWS 帳戶 IDs 指定為清單。如果您的請求成功,Security Lake 會傳回目前區域中這些帳戶的快照,包括 Security Lake 正在從哪個 AWS 來源收集資料,以及每個來源的狀態。如果您未包含 accounts 參數,則回應會包含目前區域中設定 Security Lake 之所有帳戶的日誌收集狀態。

例如,下列 AWS CLI 命令會擷取目前區域中指定帳戶的日誌收集狀態。此範例已針對 Linux、macOS 或 Unix 格式化,並使用反斜線 (\) 行接續字元來改善可讀性。

$ aws securitylake get-data-lake-sources \ --accounts "123456789012" "111122223333"

移除 AWS 服務 做為來源

選擇您的存取方法,並依照下列步驟移除原生支援的 AWS 服務 Security Lake 來源。您可以移除一或多個區域的來源。當您移除來源時,Security Lake 會停止從指定區域和帳戶中的來源收集資料,訂閱者無法再從來源取用新資料。不過,訂閱者仍然可以使用 Security Lake 在移除之前從來源收集的資料。您只能使用這些指示來移除原生支援的 AWS 服務 來源。如需移除自訂來源的相關資訊,請參閱從 Security Lake 中的自訂來源收集資料

Console
  1. 開啟位於 https://https://console.aws.amazon.com/securitylake/ 的 Security Lake 主控台。

  2. 從導覽窗格中選擇來源

  3. 選取來源,然後選擇停用

  4. 選取您要停止從此來源收集資料的 區域。Security Lake 將停止從來源收集來自所選區域中所有帳戶的資料。

API

若要以程式設計方式移除 AWS 服務 做為來源,請使用 Security Lake API 的 DeleteAwsLogSource 操作。如果您使用的是 AWS Command Line Interface (AWS CLI),請執行 delete-aws-log-source 命令。sourceNameregions 是必要參數。或者,您可以將移除的範圍限制為特定 accounts或特定 sourceVersion

重要

當您未在命令中提供參數時,Security Lake 會假設缺少的參數會參照整個集。例如,如果您不提供 accounts 參數 ,則 命令會套用至組織中的整個帳戶集。

下列範例會移除 VPC 流程日誌,做為指定帳戶和區域中的來源。

$ aws securitylake delete-aws-log-source \ --sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"

下列範例會移除 Route 53 做為指定帳戶和區域中的來源。

$ aws securitylake delete-aws-log-source \ --sources sourceName=ROUTE53,accounts='["123456789012"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"

上述範例已針對 Linux、macOS 或 Unix 進行格式化,並使用反斜線 (\) 換行字元來改善可讀性。