在 Security Lake 中创建具有数据访问权限的订户 - Amazon Security Lake

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Security Lake 中创建具有数据访问权限的订户

选择以下访问方法之一来创建可以访问当前数据的订阅者 AWS 区域。

Console
  1. 在上打开 Security Lake 控制台https://console.aws.amazon.com/securitylake/

  2. 使用页面右上角的 AWS 区域 选择器,选择要在其中创建订阅者的区域。

  3. 在导航窗格中选择订阅用户

  4. 订阅用户页面上,选择创建订阅用户

  5. 对于订阅用户详细信息,输入订阅用户名称和可选的描述

    区域将自动填充为您当前选择的区域 AWS 区域 ,并且无法修改。

  6. 对于日志源和事件来源,选择订阅用户有权使用的来源。

  7. 对于数据访问方法,选择 S3,以便为订阅用户设置数据访问权限。

  8. 对于订阅者凭证,请提供订阅者的 AWS 账户 ID 和外部 ID

  9. (可选)要了解通知详情,如果您希望 Security Lake 创建订阅者可以轮询对象通知的 Amazon 队SQS列,请选择SQS队列。如果您希望 Security Lake 将通知发送 EventBridge 到HTTPS终端节点,请选择订阅终端节点

    如果选择订阅端点,您还要执行以下操作:

    1. 输入订阅端点。有效端点格式的示例为 http://example.com。或者,您也可以提供HTTPS密钥名称HTTPS密钥值

    2. 对于 S ervice Acces s,创建一个新IAMIAM角色或使用现有角色来 EventBridge授予调用API目的地和向正确端点发送对象通知的权限。

      有关创建新IAM角色的信息,请参阅创建IAM角色以调用 EventBridge API目标

  10. (可选)对于标签,最多输入 50 个要分配给订阅用户的标签。

    标签是您可以为某些类型的 AWS 资源定义和分配的标签。每个标签都包含一个必需的标签键和一个可选的标签值。标签可以帮助您以不同的方式识别、分类和管理各种资源。要了解更多信息,请参阅标记安全湖资源

  11. 选择创建

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" } }