

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

# 对安全湖中的问题进行故障排除
<a name="security-lake-troubleshoot"></a>

如果您在使用 Amazon Security Lake 时遇到问题，请使用以下疑难解答资源。

以下主题为您可能遇到的与数据湖状态、Lake Formation、在 Amazon Athena AWS Organizations 中查询和 IAM 相关的错误和问题提供了疑难解答建议。如果您发现此处未列出的问题，则可以使用此页面上的`Feedback`按钮进行举报。

如果在使用 Security Lake 时遇到问题，请参考以下主题。

**Topics**
+ [对数据湖状态进行故障排除](securitylake-data-lake-troubleshoot.md)
+ [Lake Formation 故障排除](securitylake-lf-troubleshoot.md)
+ [对亚马逊 Athena 中的查询进行疑难解答](querying-troubleshoot.md)
+ [Orgations 故障排除](securitylake-orgs-troubleshoot.md)
+ [Amazon Security Lake 身份和访问故障排除](security_iam_troubleshoot.md)

# 对数据湖状态进行故障排除
<a name="securitylake-data-lake-troubleshoot"></a>

S **ec** urity Lake 控制台的 “问题” 页面显示了影响您的数据湖的问题摘要。例如，如果您尚未为组织创建跟 CloudTrail 踪，Security Lake 将无法为 AWS CloudTrail 管理事件启用日志收集。**问题**页面涵盖了过去 14 天内发生的问题。您可以看到每个问题的描述和建议的补救步骤。

要以编程方式访问问题摘要，你可以使用 Security Lake API 的[https://docs.aws.amazon.com/security-lake/latest/APIReference/API_ListDataLakeExceptions.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_ListDataLakeExceptions.html)操作。如果您使用的是 AWS CLI，请运行[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/list-data-lake-exceptions.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/securitylake/list-data-lake-exceptions.html)命令。对于`regions`参数，您可以指定一个或多个区域代码（`us-east-1`例如，美国东部（弗吉尼亚北部）地区，以查看影响这些区域的问题。如果您不包含`regions`参数，则会返回影响所有区域的问题。有关区域代码的列表，请参阅 *AWS 一般参考* 中的 [Amazon Security Lake 端点](https://docs.aws.amazon.com/general/latest/gr/securitylake.html)。

例如，以下 AWS CLI 命令列出了影响`us-east-1`和`eu-west-3`区域的问题。此示例是针对 Linux、macOS 或 Unix 进行格式化的，它使用反斜杠（\$1）行继续符来提高可读性。

```
$ aws securitylake list-data-lake-exceptions \
--regions "us-east-1" "eu-west-3"
```

要将问题或错误通知安全湖用户，请使用 Security Lake API 的[https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLakeExceptionSubscription.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLakeExceptionSubscription.html)操作。可以通过电子邮件、发送到亚马逊简单队列服务 (Amazon SQS) 队列、向函数传送或其他支持的协议来 AWS Lambda 通知用户。

例如，以下 AWS CLI 命令通过短信发送向指定账户发送有关 Security Lake 异常的通知。此示例是针对 Linux、macOS 或 Unix 进行格式化的，它使用反斜杠（\$1）行继续符来提高可读性。

```
$ aws securitylake create-data-lake-exception-subscription \
--notification-endpoint "123456789012" \
--exception-time-to-live 30 \
--subscription-protocol "sms"
```

要查看有关异常订阅的详细信息，您可以使用[https://docs.aws.amazon.com/security-lake/latest/APIReference/API_GetDataLakeExceptionSubscription.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_GetDataLakeExceptionSubscription.html)操作。要更新异常订阅，您可以使用[https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateDataLakeExceptionSubscription.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_UpdateDataLakeExceptionSubscription.html)操作。要删除异常订阅并停止通知，您可以使用该[https://docs.aws.amazon.com/security-lake/latest/APIReference/API_DeleteDataLakeExceptionSubscription.html](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_DeleteDataLakeExceptionSubscription.html)操作。

# Lake Formation 故障排除
<a name="securitylake-lf-troubleshoot"></a>

使用以下信息来帮助您诊断和修复在使用 Security Lake 和 AWS Lake Formation 数据库或表时可能遇到的常见问题。有关更多 Lake Formation 故障排除主题，请参阅 *AWS Lake Formation 开发人员指南*的[故障排除](https://docs.aws.amazon.com/lake-formation/latest/dg/troubleshooting.html)部分。

## 未找到表
<a name="securitylake-lf-table-not-found"></a>

尝试创建订阅用户时可能会遇到此错误。

要纠正此错误，请确保您已在区域中添加来源。如果您在 Security Lake 服务处于预览版时添加了来源，则必须在创建订阅用户之前重新添加这些来源。有关添加来源的更多信息，请参阅 [安全湖中的源代码管理](source-management.md)。

## 400 AccessDenied
<a name="securitylake-lf-access-denied"></a>

[添加自定义来源](adding-custom-sources.md)并调用 `CreateCustomLogSource` API 时可能会遇到此错误。

要纠正此错误，请查看您的 Lake Formation 权限。调用 API 的 IAM 角色应具有 Security Lake 数据库的**创建表**权限。有关更多信息，请参阅 *AWS Lake Formation 开发人员指南*中的[使用 Lake Formation 控制台和指定的资源方法授予数据库权限](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-database-permissions.html)。

## SYNTAX\$1ERROR: line 1:8: SELECT \$1 不允许用于没有列的关系
<a name="securitylake-lf-syntax-error-select"></a>

首次在 Lake Formation 中查询来源表时，您可能会遇到此错误。

要纠正错误，请向登录时使用的 IAM 角色授予`SELECT`权限 AWS 账户。有关授予 `SELECT` 权限的说明，请参阅 *AWS Lake Formation 开发人员指南*中的[使用 Lake Formation 控制台和指定的资源方法授予表权限](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-table-permissions.html)。

## Security Lake 未能将调用者的主体 ARN 添加到 Lake Formation 数据湖管理员。当前的数据湖管理员可能包含已不存在的无效主体。
<a name="securitylake-lf-admin-invalid-principals"></a>

在启用 Security Lake 或添加 AWS 服务 为日志源时，您可能会收到此错误。

要纠正此错误，请按照以下步骤操作：

1. 打开 Lake Formation 控制台，网址为[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)。

1. 以管理用户的身份登录。

1. 在导航窗格的**权限**下，选择**管理角色和任务**。

1. 在**数据湖管理员**部分，选择**选择管理员**。

1. 清除被标记为**在 IAM 中未找到**的主体，然后选择**保存**。

1. 重试 Security Lake 操作。

## Security L CreateSubscriber ake with Lake Formation 没有创建新的 RAM 资源共享邀请供接受
<a name="securitylake-lf-ram-resource-share"></a>

如果您在 Security Lake 中创建 Lake Formation 订阅用户之前，、使用 [Lake Formation 版本 2 或版本 3 跨账户数据共享](https://docs.aws.amazon.com/lake-formation/latest/dg/optimize-ram.html)来共享资源，则可能会看到此错误。这是因为 Lake Formation 版本 2 和版本 3 跨账户共享通过将多个跨账户权限授予映射到一个 AWS RAM 资源共享来优化 AWS RAM 资源共享的数量。

请务必检查资源共享名称是否具有您在创建订阅用户时指定的外部 ID，以及资源共享 ARN 是否与 `CreateSubscriber` 响应中的 ARN 相匹配。

# 对亚马逊 Athena 中的查询进行疑难解答
<a name="querying-troubleshoot"></a>

使用以下信息可帮助您诊断和修复您在使用 Athena 查询存储在 Security Lake S3 存储桶中的对象时可能遇到的常见问题。有关更多 Athena 故障排除主题，请参阅 *Amazon Athena 用户指南*的[在 Athena 中进行故障排除](https://docs.aws.amazon.com/athena/latest/ug/troubleshooting-athena.html)部分。

## 查询未返回数据湖中的新对象
<a name="query-not-returning-objects"></a>

即使 Security Lake 的 S3 存储桶中包含新对象，您的 Athena 查询也可能不会返回数据湖中的这些对象。如果您禁用了 Security Lake 然后又将其启用，则可能会发生这种情况。因此， AWS Glue 分区可能无法正确注册新对象。

要纠正此错误，请按照以下步骤操作：

1. 打开 AWS Lambda 控制台，网址为[https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/)。

1. 在导航栏的“区域”选择器上，选择已启用 Security Lake 但 Athena 查询未返回结果的区域。

1. **从导航窗格中选择 Functions，然后根据源版本从以下列表中选择函数：**
   + `Source version 1 (OCSF 1.0.0-rc.2) `— **SecurityLake\$1glue\$1Partition\$1Updater\$1 *≪region>*** Lambda\$1 函数。
   + `Source version 2 (OCSF 1.1.0)`— **AmazonSecurityLakeMetastoreManager\$1 *≪region>*** 函数。

1. 在**配置**选项卡中，选择**触发器**。

1. 选择函数旁边的选项，然后选择**编辑**。

1. 选择**激活触发器**，然后选择**保存**。函数状态会变为**已启用**。

## 无法访问 AWS Glue 表
<a name="access-glue-tables"></a>

查询访问订阅者可能无法访问包含 Security Lake 数据的 AWS Glue 表。

首先，请确保您已执行[设置跨账户表共享（订阅用户步骤）](create-query-subscriber-procedures.md#grant-query-access-subscriber)中的步骤。

如果订阅用户仍然无法访问，请按照以下步骤操作：

1. 打开 AWS Glue 控制台，网址为[https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)。

1. 在导航窗格中选择**数据目录**，然后选择**目录设置**。

1. 使用基于资源的策略向订阅者授予访问 AWS Glue 表的权限。有关创建基于资源的策略的更多信息，请参阅 *AWS Glue 开发人员指南*中的[适用于 AWS Glue的基于资源的策略示例](https://docs.aws.amazon.com/glue/latest/dg/security_iam_resource-based-policy-examples.html)。

# Orgations 故障排除
<a name="securitylake-orgs-troubleshoot"></a>

使用以下信息可帮助您诊断和修复您在使用 Security Lake 和 AWS Organizations时可能遇到的常见问题。有关更多 Organizations 故障排除主题，请参阅 *AWS Organizations 用户指南*的[故障排除](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_troubleshoot.html)部分。

## 调用 CreateDataLake 操作时出现拒绝访问错误：您的账户必须是组织的委托管理员账户或独立账户。
<a name="securitylake-orgs-delegated-admin-invalid"></a>

如果您删除委托管理员账户所属的组织，然后尝试使用该账户通过 Security Lake 控制台或 [CreateDataLake](https://docs.aws.amazon.com/security-lake/latest/APIReference/API_CreateDataLake.html)API 来设置 Security Lake，则可能会收到此错误。

要纠正此错误，请使用来自其他组织的委托管理员账户或独立账户。

# Amazon Security Lake 身份和访问故障排除
<a name="security_iam_troubleshoot"></a>

使用以下信息可帮助您诊断和修复您在使用 Security Lake 和 IAM 时可能遇到的常见问题。

## 我无权在 Security Lake 中执行某项操作
<a name="security_iam_troubleshoot-no-permissions"></a>

如果 AWS 管理控制台 告诉您您无权执行某项操作，则必须联系管理员寻求帮助。管理员是向您提供凭证的人员。

当 `mateojackson` IAM 用户尝试使用控制台查看有关虚构 `subscriber` 资源的详细信息，但不拥有虚构 `SecurityLake:GetSubscriber` 权限时，就会发生以下示例错误。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: YOURSERVICEPREFIX:GetWidget on resource: my-example-widget
```

在这种情况下，Mateo 请求他的管理员更新其策略，以允许他使用 `SecurityLake:GetSubscriber` 操作访问 `subscriber` 信息。

## 我想将权限扩展到托管策略之外
<a name="security_iam_troubleshoot-mutating"></a>

订阅者或自定义日志源创建的所有 IAM 角色 APIs 都受`AmazonSecurityLakePermissionsBoundary`托管策略的约束。如果要将权限扩展到托管策略之外，可以将托管策略从角色的权限边界中移除。但是，在与变更 DataLak APIs es 和订阅者的 Security Lake 交互时，必须附加权限边界，IAM 才能更改 IAM 角色。

## 我无权执行 iam：PassRole
<a name="security_iam_troubleshoot-passrole"></a>

如果您遇到一个错误，表明您无权执行 `iam:PassRole` 操作，则必须更新策略以允许您将角色传递给 Security Lake。

有些 AWS 服务 允许您将现有角色传递给该服务，而不是创建新的服务角色或服务相关角色。为此，您必须具有将角色传递到服务的权限。

当名为 `marymajor` 的 IAM 用户尝试使用控制台在 Security Lake 中执行操作时，就会发生以下示例错误。但是，服务必须具有服务角色所授予的权限才可执行此操作。Mary 不具有将角色传递到服务的权限。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

在这种情况下，必须更新 Mary 的策略以允许她执行 `iam:PassRole` 操作。

如果您需要帮助，请联系您的 AWS 管理员。您的管理员是提供登录凭证的人。

## 我想允许我以外的人访问我 AWS 账户 的 Security Lake 资源
<a name="security_iam_troubleshoot-cross-account-access"></a>

您可以创建一个角色，以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖，可以代入角色。对于支持基于资源的策略或访问控制列表 (ACLs) 的服务，您可以使用这些策略向人们授予访问您的资源的权限。

要了解更多信息，请参阅以下内容：
+ 要了解 Security Lake 是否支持这些功能，请参阅[安全湖如何与 IAM 配合使用](security_iam_service-with-iam.md)。
+ 要了解如何提供对您拥有的资源的访问权限 AWS 账户 ，请参阅 [IAM 用户*指南中的向您拥有 AWS 账户 的另一个 IAM 用户*提供访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)权限。
+ 要了解如何向第三方提供对您的资源的访问[权限 AWS 账户，请参阅 *IAM 用户指南*中的向第三方提供](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)访问权限。 AWS 账户 
+ 要了解如何通过身份联合验证提供访问权限，请参阅《IAM 用户指南》**中的[为经过外部身份验证的用户（身份联合验证）提供访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)。
+ 要了解使用角色和基于资源的策略进行跨账户访问之间的差别，请参阅《IAM 用户指南》**中的 [IAM 中的跨账户资源访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。