跳至内容

如何在 OpenSearch Service 中激活审计日志?

2 分钟阅读
0

我想在 Amazon OpenSearch Service 中激活审计日志。

简短描述

要激活审计日志,首先将您的域配置为向 Amazon CloudWatch Logs 发布审计日志。然后,在 OpenSearch Dashboards 中激活和配置审计日志。

有关详细信息,请参阅监控 Amazon OpenSearch Service 中的审计日志

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

在启用审计日志之前,必须对集群启用精细访问控制

在 OpenSearch Service 中激活审计日志

要在 OpenSearch Service 中激活审计日志并创建访问策略,请完成以下步骤:

  1. 打开 OpenSearch Service 控制台

  2. 在导航窗格中,选择 Domains(域),然后选择您的域。

  3. 选择 Logs(日志)选项卡,选择 Audit logs(审计日志),然后选择 Enable(启用)。

  4. 选择 Setup error logs(设置错误日志),然后选择 Create new policy(创建新策略)或 Select existing policy(选择现有策略)。
    要创建新策略,请在 New policy name(新策略名称)中输入策略名称,然后使用类似于以下示例的访问策略更新该策略:

    {  "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "es.amazonaws.com"
          },
          "Action": [
            "logs:PutLogEvents",
            "logs:CreateLogStream"
          ],
          "Resource": "cw_log_group_arn"
        }
      ]
    }
  5. 选择 Enable(启用)。

在 OpenSearch Dashboards 中激活审计日志

完成以下步骤:

  1. 打开 OpenSearch Dashboards
  2. 选择 Security(安全)。
    **注意:**要启用审计日志,必须将用户角色映射到 security_manager 角色。否则,将无法在 OpenSearch Dashboards 中看到 Security(安全)选项卡。
  3. 选择 Audit logs(审计日志)。
  4. 选择 Enable audit logging(启用审计日志记录)。

有关示例配置,请参阅审计日志示例

对审计日志错误进行故障排除

您没有配置高级安全选项

当您激活审计日志,但您的域未激活精细访问控制时,您会收到以下错误:

“UpdateDomainConfig: {"message":"audit log publishing cannot be enabled as you do not have advanced security options configured."}”

要解决此错误,请启用精细访问控制

已超过资源限制

当您达到每个 AWS 区域的 CloudWatch Logs 资源策略的最大数量时,您会收到以下错误:

“PutResourcePolicy: {"__type":"LimitExceededException","message":"Resource limit exceeded."}”

每个区域、每个账户最多可以有 10 个 CloudWatch Logs 资源策略。您无法更改此限额。有关详细信息,请参阅 CloudWatch Logs 限额

要激活多个域的日志,您可以重复使用包含多个日志组的策略。

要检查您账户中每个区域的资源策略,请运行 describe-resource-policies AWS CLI 命令:

aws logs describe-resource-policies --region region-name

**注意:**请将 region-name 替换为您的区域。

要更新您的资源策略以涵盖多个日志组,请添加通配符 *。您还可以为所有日志组配置来自不同资源策略的多个语句,并删除旧策略。

例如,如果您的日志组名称以 /aws/OpenSearchService/domains/ 开头,则可以创建应用于 /aws/OpenSearchService/domains/* 的资源策略。

以下示例资源策略将为所有以 /aws/OpenSearchService/domains/* 开头的日志组创建单个资源策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",

      "Principal": {

        "Service": "es.amazonaws.com"
      },
      "Action": [

        "logs:PutLogEvents",

        "logs:CreateLogStream"
      ],
      "Resource": "arn:aws:logs:REGION:AccountID:log-group:/aws/OpenSearchService/domains/*:*"
    }
  ]
}

**注意:**请将 Region 替换为您的区域。将 AccountID 替换为您的账户 ID。

要应用合并策略,请在 CloudShell 上运行以下命令:

aws logs put-resource-policy \
    --policy-name yourPolicyName \
    --policy-document file://policy.json

**注意:**请将 yourPolicyName 替换为您自己的策略名称。

现在,您可以在激活审计日志时选择此更新后的策略。

要删除不必要或重复的策略,请运行 delete-resource-policy 命令:

aws logs delete-resource-policy --policy-name PolicyName

**注意:**请将 PolicyName 替换为要删除的策略的名称。

CloudWatch Logs 中日志组的访问策略未授予足够的权限

当您尝试激活审计日志发布时,您可能会收到以下错误:

“The Resource Access Policy specified for the CloudWatch Logs log group does not grant sufficient permissions for Amazon OpenSearch Service to create a log stream.请查看资源访问策略。”

要解决此错误,请验证策略的资源元素是否包含正确的日志组 ARN

相关信息

如何解决 OpenSearch Service 集群中的精细访问控制问题?

Amazon OpenSearch Service 故障排除

AWS 官方已更新 3 个月前