

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

# 在 Security Lake 中创建具有查询权限的订阅者
<a name="create-query-subscriber-procedures"></a>

选择您的首选方法来创建当前具有查询访问权限的订阅者 AWS 区域。订阅者只能从中 AWS 区域 创建的数据中查询数据。要创建订阅者，您需要拥有订阅者的 AWS 账户 ID 和外部 ID。外部 ID 是订阅用户提供给您的唯一标识符。有关外部的更多信息 IDs，请参阅 *IAM 用户指南*中的[如何在向第三方授予 AWS 资源访问权限时使用外部 ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)。

**注意**  
Security Lake 不支持 Lake Formation 跨账户数据共享版本 1。您必须将 Lake Formation 跨账户数据共享更新到版本 2 或版本 3。有关通过 AWS Lake Formation 控制台或 AWS CLI 更新**跨账户版本设置**的步骤[，请参阅*AWS Lake Formation 开发者指南*中的启用新版本](https://docs.aws.amazon.com/lake-formation/latest/dg/optimize-ram.html#version-update-steps)。

------
#### [ Console ]

1. 在上打开 Security Lake 控制台[https://console.aws.amazon.com/securitylake/](https://console.aws.amazon.com/securitylake/)。

   登录委托管理员账户。

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

1. 在导航窗格中选择**订阅用户**。

1. 在**订阅用户**页面上，选择**创建订阅用户**。

1. 对于**订阅用户详细信息**，请输入**订阅用户名称**和可选**描述**。

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

1. 对于**日志和事件源**，请选择您希望 Security Lake 在返回查询结果时包含哪些来源。

1. 对于**数据访问方法**，请选择 **Lake Formation**，以便为订阅用户创建查询访问权限。

1. 对于**订阅者凭证**，请提供订阅者的 AWS 账户 ID 和[外部 ID](https://docs.aws.amazon.com//security-lake/latest/userguide/prereqs-creating-subscriber.html#subscriber-external-id)。

1. （可选）对于**标签**，最多输入 50 个要分配给订阅用户的标签。

   *标签*是您可以为某些类型的 AWS 资源定义和分配的标签。每个标签都包含一个必需的标签键和一个可选的标签值。标签可以帮助您以不同的方式识别、分类和管理各种资源。要了解更多信息，请参阅[为安全湖资源添加标签](tagging-resources.md)。

1. 选择**创建**。

------
#### [ API ]

要以编程方式创建具有查询访问权限的订阅者，请使用 Security Lake API 的[CreateSubscriber](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateSubscriber.html)操作。如果你使用的是 AWS Command Line Interface (AWS CLI)，请运行 [create-subscriber 命令。](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/create-subscriber.html)

在您的请求中，使用这些参数为订阅者指定以下设置：
+ 对于 `accessTypes`，请指定 `LAKEFORMATION`。
+ 对于 `sources`，请指定您希望 Security Lake 在返回查询结果时包含的每个来源。
+ 对于`subscriberIdentity`，请指定订阅者用于查询源数据的 AWS 身份和外部 ID。

以下示例为指定的订阅者身份创建了在当前 AWS 区域具有查询访问权限的订阅者。此示例是针对 Linux、macOS 或 Unix 进行格式化的，它使用反斜杠（\$1）行继续符来提高可读性。

```
$ aws securitylake create-subscriber \ 
--subscriber-identity {"accountID": 129345678912,"externalId": 123456789012} \
--sources [{"awsLogSource": {"sourceName": VPC_FLOW, "sourceVersion": 2.0}}] \
--subscriber-name subscriber name \
--access-types LAKEFORMATION
```

------

## 设置跨账户表共享（订阅用户步骤）
<a name="grant-query-access-subscriber"></a>

Security Lake 使用 Lake Formation 跨账户表共享来支持订阅用户的查询访问权限。当您在 Security Lake 控制台、API 或 AWS CLI中创建具有查询权限的订阅者时，Security Lake 会通过在 AWS Resource Access Manager (AWS RAM) 中创建[资源共享来与订阅者共享](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-terms-and-concepts.html#term-resource-share)有关相关 Lake Formation 表的信息。

当您对具有查询访问权限的订阅用户进行某些类型的编辑时，Security Lake 会创建一个新的资源共享。有关更多信息，请参阅 [在 Security Lake 中编辑具有查询权限的订阅者](editing-query-access-subscriber.md)。

订阅用户应按照以下步骤使用您的 Lake Formation 表中的数据：

1. **接受资源共享** – 订阅用户必须接受在您创建或编辑订阅用户时生成的 `resourceShareArn` 和 `resourceShareName` 资源共享。选择以下访问方法之一：
   + 有关控制台和 AWS CLI，请参阅[接受来自的资源共享邀请 AWS RAM](https://docs.aws.amazon.com/lake-formation/latest/dg/accepting-ram-invite.html)。
   + 对于 API，请调用 [GetResourceShareInvitations](https://docs.aws.amazon.com/ram/latest/APIReference/API_GetResourceShareInvitations.html)API。按 `resourceShareArn` 和 `resourceShareName` 进行筛选，以找到正确的资源共享。[AcceptResourceShareInvitation](https://docs.aws.amazon.com/ram/latest/APIReference/API_AcceptResourceShareInvitation.html)通过 API 接受邀请。

   资源共享邀请会在 12 小时后过期，因此您必须在 12 小时内验证并接受邀请。如果邀请过期，您会看到它处于 `PENDING` 状态，但此时即使您接受邀请也无法访问共享资源。超过 12 小时后，请删除 Lake Formation 订阅用户并重新创建订阅用户，以获得新的资源共享邀请。

1. **创建共享数据库的资源链接**-订阅者必须在（如果使用控制台）或 AWS Lake Formation AWS Glue （如果使用 API/AWS CLI）中创建指向共享 Lake Formation 数据库的资源链接。此资源链接将订阅者的账户指向共享数据库。选择以下访问方法之一：
   + 有关控制台和的信息 AWS CLI，[请参阅创建指向共享数据目录数据库的资源链接。](https://docs.aws.amazon.com/lake-formation/latest/dg/create-resource-link-database.html) 在《*AWS Lake Formation 开发人员指南》*中。
   + 我们建议订阅者还使用 [CreateDatabase](https://docs.aws.amazon.com/glue/latest/webapi/API_CreateDatabase.html)API 创建唯一的数据库，用于存储资源链接表。

1. **查询共享表** – Amazon Athena 等服务可以直接引用这些表，而 Security Lake 收集的新数据将自动可供查询。查询在订阅者处运行 AWS 账户，查询产生的费用由订阅者计费。您可以在自己的 Security Lake 账户中控制对资源的读取权限。

有关授予跨账户权限的更多信息，请参阅 *AWS Lake Formation 开发人员指南*中的 [Lake Formation 中的跨账户数据共享](https://docs.aws.amazon.com/lake-formation/latest/dg/cross-account-permissions.html)。