我想在 Amazon OpenSearch Service 中激活审计日志。
简短描述
要激活审计日志,首先将您的域配置为向 Amazon CloudWatch Logs 发布审计日志。然后,在 OpenSearch Dashboards 中激活和配置审计日志。
有关详细信息,请参阅监控 Amazon OpenSearch Service 中的审计日志。
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
在启用审计日志之前,必须对集群启用精细访问控制。
在 OpenSearch Service 中激活审计日志
要在 OpenSearch Service 中激活审计日志并创建访问策略,请完成以下步骤:
-
打开 OpenSearch Service 控制台。
-
在导航窗格中,选择 Domains(域),然后选择您的域。
-
选择 Logs(日志)选项卡,选择 Audit logs(审计日志),然后选择 Enable(启用)。
-
选择 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"
}
]
}
-
选择 Enable(启用)。
在 OpenSearch Dashboards 中激活审计日志
完成以下步骤:
- 打开 OpenSearch Dashboards。
- 选择 Security(安全)。
**注意:**要启用审计日志,必须将用户角色映射到 security_manager 角色。否则,将无法在 OpenSearch Dashboards 中看到 Security(安全)选项卡。
- 选择 Audit logs(审计日志)。
- 选择 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 故障排除