本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Security Lake 中创建具有数据访问权限的订户
选择以下访问方法之一来创建可以访问当前数据的订阅者 AWS 区域。
- Console
-
在上打开 Security Lake 控制台https://console.aws.amazon.com/securitylake/。
-
使用页面右上角的 AWS 区域 选择器,选择要在其中创建订阅者的区域。
-
在导航窗格中选择订阅用户。
-
在订阅用户页面上,选择创建订阅用户。
-
对于订阅用户详细信息,输入订阅用户名称和可选的描述。
该区域将自动填充为您当前选择的区域 AWS 区域 ,并且无法修改。
-
对于日志源和事件来源,选择订阅用户有权使用的来源。
-
对于数据访问方法,选择 S3,以便为订阅用户设置数据访问权限。
-
对于订阅者凭证,请提供订阅者的 AWS 账户 ID 和外部 ID。
-
(可选)要了解通知详情,如果您希望 Security Lake 创建订阅者可以轮询对象通知的 Amazon 队SQS列,请选择SQS队列。如果您希望 Security Lake 将通知发送 EventBridge 到HTTPS终端节点,请选择订阅终端节点。
如果选择订阅端点,您还要执行以下操作:
-
输入订阅端点。有效端点格式的示例为 http://example.com
。或者,您也可以提供HTTPS密钥名称和HTTPS密钥值。
-
对于 S ervice Acces s,创建一个新IAMIAM角色或使用现有角色来 EventBridge授予调用API目的地和向正确端点发送对象通知的权限。
有关创建新IAM角色的信息,请参阅创建IAM角色以调用 EventBridge API目标。
-
(可选)对于标签,最多输入 50 个要分配给订阅用户的标签。
标签是您可以为某些类型的 AWS 资源定义和分配的标签。每个标签都包含一个必需的标签键和一个可选的标签值。标签可以帮助您以不同的方式识别、分类和管理各种资源。要了解更多信息,请参阅标记安全湖资源。
-
选择创建。
- API
-
要以编程方式创建具有数据访问权限的订阅者,请使用 Security Lake API 的CreateSubscriber操作。如果你使用的是 AWS Command Line Interface (AWS CLI),请运行 create-subscriber 命令。
在您的请求中,使用这些参数为订阅者指定以下设置:
-
对于 sources
,请指定您希望订阅用户访问的每个来源。
-
对于subscriberIdentity
,请指定订阅者用于访问源数据的 AWS 帐户 ID 和外部 ID。
-
对于subscriber-name
,请指定订阅者的名称。
-
对于 accessTypes
,请指定 S3
。
示例 1
以下示例创建了一个订阅者,该订阅者可以访问当前 AWS 区域中针对某个 AWS
源的指定订阅者身份的数据。
$
aws securitylake create-subscriber \
--subscriber-identity {"accountID": 1293456789123
,"externalId": 123456789012
} \
--sources [{"awsLogSource": {"sourceName": VPC_FLOW
, "sourceVersion": 2.0
}}] \
--subscriber-name subscriber name
\
--access-types S3
示例 2
以下示例创建了一个订阅者,该订阅者可以访问当前 AWS 区域中自定义来源的指定订阅者身份。
$
aws securitylake create-subscriber \
--subscriber-identity {"accountID": 1293456789123
,"externalId": 123456789012
} \
--sources [{"customLogSource": {"sourceName": custom-source-name
, "sourceVersion": 2.0
}}] \
--subscriber-name subscriber name
--access-types S3
前面的示例是针对 Linux、macOS 或 Unix 进行格式化的,它们使用反斜杠 (\) 行继续符来提高可读性。
(可选)创建订阅者后,使用CreateSubscriberNotification操作来指定当您希望订阅者访问的源有新数据写入数据湖时,如何通知订阅者。如果您使用的是 AWS Command Line Interface (AWS CLI),请运行该create-subscriber-notification命令。
-
要覆盖默认通知方法(HTTPS终端节点)并创建 Amazon SQS 队列,请为sqsNotificationConfiguration
参数指定值。
-
如果您更喜欢使用HTTPS终端节点进行通知,请为httpsNotificationConfiguration
参数指定值。
-
在该targetRoleArn
字段中,指定您为调用 EventBridge API目标而创建的IAM角色。ARN
$
aws securitylake create-subscriber-notification \
--subscriber-id "12345ab8-1a34-1c34-1bd4-12345ab9012
" \
--configuration httpsNotificationConfiguration={"targetRoleArn"="arn:aws:iam::XXX:role/service-role/RoleName
", "endpoint"="https://account-management.$3.$2.securitylake.aws.dev/v1/datalake
"}
要获取subscriberID
,请使用安全湖的ListSubscribers操作API。如果你使用的是 AWS Command Line Interface (AWS CLI),请运行 list-subscriber 命令。
$
aws securitylake list-subscribers
要随后更改订阅者的通知方式(Amazon SQS 队列或HTTPS终端节点),请使用UpdateSubscriberNotification操作,或者,如果您使用的是 AWS CLI,则运行update-subscriber-notification命令。您也可以使用 Security Lake 控制台更改通知方式:在订阅用户页面上选择订阅用户,然后选择编辑。
对象通知消息示例
{
"source": "aws.s3",
"time": "2021-11-12T00:00:00Z",
"account": "123456789012",
"region": "ca-central-1",
"resources": [
"arn:aws:s3:::amzn-s3-demo-bucket"
],
"detail": {
"bucket": {
"name": "amzn-s3-demo-bucket"
},
"object": {
"key": "example-key",
"size": 5,
"etag": "b57f9512698f4b09e608f4f2a65852e5"
},
"request-id": "N4N7GDK58NMKJ12R",
"requester": "securitylake.amazonaws.com"
}
}