本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
以程式設計方式啟用 Security Lake
本教學課程說明如何以程式設計方式啟用和開始使用 Security Lake。Amazon Security Lake API可讓您全面、程式設計地存取 Security Lake 帳戶、資料和資源。或者,您可以使用 AWS 命令列工具 — AWS Command Line Interface或 AWS 工具 — PowerShell 或 AWS SDKs
步驟 1:建立IAM角色
如果您以程式設計方式存取 Security Lake,則必須建立某些 AWS Identity and Access Management (IAM) 角色,才能設定您的資料湖。
重要
如果您使用 Security Lake 主控台來啟用和設定 Security Lake,則不需要建立這些IAM角色。
IAM 如果您要採取下列一或多個動作,您必須在 中建立角色 (選擇連結以查看每個動作IAM角色的詳細資訊):
-
建立自訂來源 – 自訂來源是原生支援以外的來源 AWS 服務 ,可將資料傳送至 Security Lake。
-
建立具有資料存取權的訂閱者 – 具有許可的訂閱者可以直接從您的資料湖存取 S3 物件。
-
建立具有查詢存取權的訂閱者 – 具有 許可的訂閱者可以使用 Amazon Athena 等服務從 Security Lake 查詢資料。
-
設定彙總區域 – 彙總區域會合併來自多個 的資料 AWS 區域。
建立上述角色後,請連接 AmazonSecurityLakeAdministrator AWS 為您用來啟用 Security Lake 的角色管理政策。此政策會授予管理許可,允許主體加入 Security Lake 並存取所有 Security Lake 動作。
連接 AmazonSecurityLakeMetaStoreManager AWS 管理政策,以建立您的資料湖或從 Security Lake 查詢資料。Security Lake 需要此政策,才能支援擷取、轉換和載入從來源接收的原始日誌和事件資料上的 (ETL) 任務。
步驟 2:啟用 Amazon Security Lake
若要以程式設計方式啟用 Security Lake,請使用 CreateDataLake Security Lake 的操作API。如果您使用的是 AWS CLI,請執行 create-data-lakeconfigurations
物件region
的欄位來指定要啟用 Security Lake 的區域的 區域代碼。如需區域代碼清單,請參閱中的 Amazon Security Lake 端點AWS 一般參考。
範例 1
下列範例命令會啟用 us-east-1
和 us-east-2
區域中的安全湖。在這兩個區域中,此資料湖都會使用 Amazon S3 受管金鑰加密。物件會在 365 天後過期,而物件會在 60 天後轉換為 ONEZONE_IA
S3 儲存類別。此範例已針對 Linux、macOS 或 Unix 格式化,並使用反斜線 (\) 行接續字元來改善可讀性。
$
aws securitylake create-data-lake \ --configurations '[{"encryptionConfiguration": {"kmsKeyId":"
S3_MANAGED_KEY
"},"region":"us-east-1
","lifecycleConfiguration": {"expiration":{"days":365
},"transitions":[{"days":60
,"storageClass":"ONEZONE_IA
"}]}}, {"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY
"},"region":"us-east-2
","lifecycleConfiguration": {"expiration":{"days":365
},"transitions":[{"days":60
,"storageClass":"ONEZONE_IA
"}]}}]' \ --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager
"
範例 2
下列範例命令會啟用us-east-2
區域中的安全湖。此資料湖會使用在 AWS Key Management Service () 中建立的客戶受管金鑰加密AWS KMS。物件會在 500 天後過期,而物件會在 30 天後轉換為 GLACIER
S3 儲存類別。此範例已針對 Linux、macOS 或 Unix 格式化,並使用反斜線 (\) 行接續字元來改善可讀性。
$
aws securitylake create-data-lake \ --configurations '[{"encryptionConfiguration": {"kmsKeyId":"
1234abcd-12ab-34cd-56ef-1234567890ab
"},"region":"us-east-2
","lifecycleConfiguration": {"expiration":{"days":500
},"transitions":[{"days":30
,"storageClass":"GLACIER
"}]}}]' \ --meta-store-manager-role-arn "arn:aws:iam:us-east-1:123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager
"
注意
如果您已啟用 Security Lake,並想要更新區域或來源的組態設定,請使用 UpdateDataLake 操作,或者如果使用 AWS CLI,則為 update-data-lakeCreateDataLake
操作。
步驟 3:設定來源
Security Lake 會從各種來源以及您的 和 收集日誌 AWS 帳戶 和事件資料 AWS 區域。請依照這些指示來識別您希望 Security Lake 收集的資料。您只能使用這些指示來新增原生支援的 AWS 服務 來源。如需有關新增自訂來源的資訊,請參閱 從 Security Lake 中的自訂來源收集資料。
若要以程式設計方式定義一或多個集合來源,請使用 Security Lake CreateAwsLogSource的操作API。針對每個來源,指定 sourceName
參數的區域唯一值。選擇性地使用其他參數,將來源的範圍限制為特定帳戶 (accounts
) 或特定版本 ()sourceVersion
。
注意
如果您未在請求中包含選用參數,Security Lake 會根據您排除的參數,將您的請求套用至指定來源的所有帳戶或所有版本。例如,如果您是組織的委派 Security Lake 管理員,並且排除 accounts
參數,Security Lake 會將您的請求套用至組織中的所有帳戶。同樣地,如果您排除 sourceVersion
參數,Security Lake 會將您的請求套用至指定來源的所有版本。
如果您的請求指定您尚未啟用 Security Lake 的區域,則會發生錯誤。若要解決此錯誤,請確定regions
陣列僅指定您已啟用 Security Lake 的區域。或者,您可以在 區域中啟用 Security Lake,然後再次提交您的請求。
當您第一次在帳戶中啟用 Security Lake 時,所有選取的日誌和事件來源都將成為 15 天免費試用期的一部分。如需用量統計資料的詳細資訊,請參閱 檢閱用量和預估成本。
步驟 4:設定儲存體設定和彙總區域 (選用)
您可以指定您希望 Security Lake 將資料存放於其中的 Amazon S3 儲存類別,以及存放時間長度。您也可以指定彙總區域來合併來自多個區域的資料。這些是選用步驟。如需詳細資訊,請參閱安全湖中的生命週期管理。
若要在啟用 Security Lake 時以程式設計方式定義目標目標,請使用 CreateDataLake Security Lake 的操作API。如果您已啟用 Security Lake 並想要定義目標目標,請使用 UpdateDataLake 操作,而不是 CreateDataLake
操作。
對於任一操作,請使用支援的參數來指定您想要的組態設定:
-
若要指定彙總區域,請使用
region
欄位來指定您要將資料貢獻至彙總區域的區域。在replicationConfiguration
物件regions
陣列中,指定每個彙總區域的區域代碼。如需區域代碼清單,請參閱中的 Amazon Security Lake 端點AWS 一般參考。 -
若要指定資料的保留設定,請使用
lifecycleConfiguration
參數:-
對於
transitions
,指定您要將 S3 物件存放在特定 Amazon S3 儲存類別 (days
) 中的天數總計 (storageClass
)。 -
針對
expiration
,指定建立物件後,使用任何儲存類別,在 Amazon S3 中儲存物件的總天數。當此保留期結束時,物件會過期,Amazon S3 會將其刪除。
Security Lake 會將指定的保留設定套用至您在
configurations
物件region
欄位中指定的區域。 -
例如,下列命令會使用 建立資料湖ap-northeast-2
作為彙總區域。us-east-1
區域會將資料貢獻至 ap-northeast-2
區域。此範例也會為新增至資料湖的物件建立 10 天的過期期。
$
aws securitylake create-data-lake \ --configurations '[{"encryptionConfiguration": {"kmsKeyId":"
S3_MANAGED_KEY
"},"region":"us-east-1
","replicationConfiguration": {"regions": ["ap-northeast-2
"],"roleArn":"arn:aws:iam::123456789012:role/service-role/AmazonSecurityLakeS3ReplicationRole
"},"lifecycleConfiguration": {"expiration":{"days":10
}}}]' \ --meta-store-manager-role-arn "arn:aws:iam::123456789012:role/service-role/AmazonSecurityLakeMetaStoreManager
"
您現在已建立您的資料湖。使用 ListDataLakes Security Lake 的操作API,以驗證每個區域中啟用 Security Lake 和您的資料湖設定。
如果在建立資料湖時發生問題或錯誤,您可以使用 來檢視例外清單 ListDataLakeExceptions 操作,並使用 通知使用者例外狀況 CreateDataLakeExceptionSubscription 操作。如需詳細資訊,請參閱對資料湖狀態進行故障診斷。
步驟 5:檢視和查詢您自己的資料
建立資料湖之後,您可以使用 Amazon Athena 或類似服務來檢視和查詢 AWS Lake Formation 資料庫和資料表中的資料。當您以程式設計方式啟用 Security Lake 時,不會自動授予資料庫檢視許可。中的資料湖管理員帳戶 AWS Lake Formation 必須將SELECT
許可授予您要用來查詢相關資料庫和資料表IAM的角色。角色至少必須具有資料分析師許可。如需許可層級的詳細資訊,請參閱 Lake Formation 角色和IAM許可參考 。如需授予SELECT
許可的指示,請參閱 AWS Lake Formation 開發人員指南 中的使用具名資源方法授予資料目錄許可。
步驟 6:建立訂閱者
建立資料湖之後,您可以新增訂閱者以取用資料。訂閱者可以透過直接存取 Amazon S3 儲存貯體中的物件或查詢資料湖來取用資料。如需訂閱者的詳細資訊,請參閱 Security Lake 中的訂閱者管理。