本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Security Lake 中設定彙總區域
彙總區域會合併來自一或多個貢獻區域的資料。指定彙總區域可協助您符合區域合規要求。
由於 Amazon S3 的限制,不支援從客戶受管金鑰 (CMK) 加密區域資料湖複寫到 S3 受管加密 (預設加密) 區域資料湖。
如果您建立了自訂來源,為了確保自訂來源資料正確複寫至目的地,Security Lake 建議遵循擷取自訂來源的最佳實務中所述的最佳實務。複寫無法在未遵循 S3 分割區資料路徑格式的資料上執行,如 頁面所述。
在新增彙總區域之前,您必須先在 AWS Identity and Access Management (IAM) 中建立兩個不同的角色:
當您使用 Security Lake 主控台時,Security Lake 會代表您建立這些 IAM 角色或使用現有的角色。不過,在使用 Security Lake API 或 時,您必須建立這些角色 AWS CLI。
資料複寫的 IAM 角色
此 IAM 角色授予許可給 Amazon S3,以跨多個區域複寫來源日誌和事件。
若要授予這些許可,請建立開頭為字首 的 IAM 角色SecurityLake,並將下列範例政策連接至角色。在 Security Lake 中建立彙總區域時,您將需要角色的 Amazon Resource Name (ARN)。在此政策中, sourceRegions 正在貢獻區域, destinationRegions是彙總區域。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "AllowReadS3ReplicationSetting",
"Action": [
"s3:ListBucket",
"s3:GetReplicationConfiguration",
"s3:GetObjectVersionForReplication",
"s3:GetObjectVersion",
"s3:GetObjectVersionAcl",
"s3:GetObjectVersionTagging",
"s3:GetObjectRetention",
"s3:GetObjectLegalHold"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::aws-security-data-lake-[[sourceRegions]]*",
"arn:aws:s3:::aws-security-data-lake-[[sourceRegions]]*/*"
],
"Condition": {
"StringEquals": {
"s3:ResourceAccount": [
"{{bucketOwnerAccountId}}"
]
}
}
},
{
"Sid": "AllowS3Replication",
"Action": [
"s3:ReplicateObject",
"s3:ReplicateDelete",
"s3:ReplicateTags",
"s3:GetObjectVersionTagging"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::aws-security-data-lake-[[destinationRegions]]*/*"
],
"Condition": {
"StringEquals": {
"s3:ResourceAccount": [
"{{bucketOwnerAccountId}}"
]
}
}
}
]
}
將下列信任政策連接至您的角色,以允許 Amazon S3 擔任該角色:
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "AllowS3ToAssume",
"Effect": "Allow",
"Principal": {
"Service": "s3.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
如果您使用來自 AWS Key Management Service (AWS KMS) 的客戶受管金鑰來加密 Security Lake 資料湖,除了資料複寫政策中的許可之外,還必須授予下列許可。
{
"Action": [
"kms:Decrypt"
],
"Effect": "Allow",
"Condition": {
"StringLike": {
"kms:ViaService": [
"s3.{sourceRegion1}.amazonaws.com",
"s3.{sourceRegion2}.amazonaws.com"
],
"kms:EncryptionContext:aws:s3:arn": [
"arn:aws:s3:::aws-security-data-lake-{sourceRegion1}*",
"arn:aws:s3:::aws-security-data-lake-{sourceRegion2}*"
]
}
},
"Resource": [
"{sourceRegion1KmsKeyArn}",
"{sourceRegion2KmsKeyArn}"
]
},
{
"Action": [
"kms:Encrypt"
],
"Effect": "Allow",
"Condition": {
"StringLike": {
"kms:ViaService": [
"s3.{destinationRegion1}.amazonaws.com",
],
"kms:EncryptionContext:aws:s3:arn": [
"arn:aws:s3:::aws-security-data-lake-{destinationRegion1}*",
]
}
},
"Resource": [
"{destinationRegionKmsKeyArn}"
]
}
如需複寫角色的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的設定許可。
用於註冊 AWS Glue 分割區的 IAM 角色
此 IAM 角色會授予 Security Lake 使用之分割區更新程式 AWS Lambda 函數的許可,以註冊從其他區域複寫之 S3 物件的 AWS Glue 分割區。如果不建立此角色,訂閱者就無法從這些物件查詢事件。
若要授予這些許可,請建立名為 的角色 AmazonSecurityLakeMetaStoreManager(您可能已在加入 Security Lake 時建立此角色)。如需此角色的詳細資訊,包括範例政策,請參閱 步驟 1:建立 IAM 角色。
在 Lake Formation 主控台中,您還必須依照下列步驟,以資料湖管理員身分授予AmazonSecurityLakeMetaStoreManager許可:
開啟 Lake Formation 主控台,網址為 https://console.aws.amazon.com/lakeformation/。
以管理使用者身分登入。
如果出現歡迎使用 Lake Formation 視窗,請選擇您在步驟 1 中建立或選取的使用者,然後選擇開始使用。
如果您沒有看到歡迎使用 Lake Formation 視窗,請執行下列步驟來設定 Lake Formation 管理員。
在導覽窗格的許可下,選擇管理角色和任務。在主控台頁面的資料湖管理員區段中,選擇選擇管理員。
在管理資料湖管理員對話方塊中,針對 IAM 使用者和角色,選擇您建立的 AmazonSecurityLakeMetaStoreManager IAM 角色,然後選擇儲存。
如需變更資料湖管理員許可的詳細資訊,請參閱《 AWS Lake Formation 開發人員指南》中的建立資料湖管理員。
新增彙總區域
選擇您偏好的存取方法,並依照下列步驟新增彙總區域。
區域可以將資料貢獻至多個彙總區域。不過,彙總區域不能是另一個彙總區域的貢獻區域。
- Console
-
您也可以在加入 Security Lake 時新增彙總區域。如需詳細資訊,請參閱Amazon Security Lake 入門。
- API
-
若要以程式設計方式新增彙總區域,請使用 Security Lake API UpdateDataLake的操作。如果您使用的是 AWS CLI,請執行 update-data-lake命令。在您的請求中,使用 region 欄位指定您要將資料貢獻至彙總區域的區域。在 replicationConfiguration 參數regions陣列中,指定每個彙總區域的區域代碼。如需區域代碼清單,請參閱《》中的 Amazon Security Lake 端點AWS 一般參考。
例如,下列命令會ap-northeast-2設定為彙總區域。us-east-1 區域會將資料貢獻至 ap-northeast-2區域。此範例也會為新增至資料湖的物件建立 365 天的過期期間。此範例已針對 Linux、macOS 或 Unix 格式化,並使用反斜線 (\) 行接續字元來改善可讀性。
$ aws securitylake update-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":365}}}]'
您也可以在加入 Security Lake 時新增彙總區域。若要這樣做,請使用 CreateDataLake操作 (或者,如果使用 AWS CLI,則為 create-data-lake 命令)。如需在加入期間設定彙總區域的詳細資訊,請參閱 Amazon Security Lake 入門。
更新或移除彙總區域
選擇您偏好的存取方法,並依照下列步驟更新或移除 Security Lake 中的彙總區域。
- Console
-
- API
-
若要以程式設計方式設定彙總區域,請使用 Security Lake API UpdateDataLake的操作。如果您使用的是 AWS CLI,請執行 update-data-lake命令。在您的請求中,使用支援的參數來指定彙總設定:
-
若要新增貢獻區域,請使用 region 欄位指定要新增區域的區域代碼。在 replicationConfiguration 物件的regions陣列中,指定每個彙總區域的區域代碼,以貢獻資料。如需區域代碼清單,請參閱《》中的 Amazon Security Lake 端點AWS 一般參考。
-
若要移除貢獻區域,請使用 region 欄位指定要移除區域的區域代碼。對於 replicationConfiguration 參數,請勿指定任何值。
例如,下列命令會將 us-east-1和 us-east-2 同時設定為貢獻區域。兩個區域都會將資料貢獻至ap-northeast-3彙總區域。此範例已針對 Linux、macOS 或 Unix 格式化,並使用反斜線 (\) 行接續字元來改善可讀性。
$ aws securitylake update-data-lake \
--configurations '[{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-1","replicationConfiguration": {"regions": ["ap-northeast-3"],"roleArn":"arn:aws:iam::123456789012:role/service-role/AmazonSecurityLakeS3ReplicationRole"},"lifecycleConfiguration": {"expiration":{"days":365}}},
{"encryptionConfiguration": {"kmsKeyId":"S3_MANAGED_KEY"},"region":"us-east-2","replicationConfiguration": {"regions": ["ap-northeast-3"],"roleArn":"arn:aws:iam::123456789012:role/service-role/AmazonSecurityLakeS3ReplicationRole"}, "lifecycleConfiguration": {"expiration":{"days":500},"transitions":[{"days":60,"storageClass":"ONEZONE_IA"}]}}]'