我最初尝试使用以下链接中的所有json策略。 https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html#customer-managed-policies-cwl
我终于得到了一个解决方案,通过使用下面的 JSON 策略,为 IAM 用户的一个特定日志组授予"列表、读取、写入"访问权限。但它也能够看到其他日志组的列表。根据下面的JSON策略,我也厌倦了限制列出的资源。它没有用。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"logs:GetLogRecord",
"logs:DescribeLogGroups"
],
"Resource": "*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"logs:Describe*",
"logs:FilterLogEvents",
"logs:GetLogEvents"
],
"Resource": "arn:aws:logs:us-east-1:XXXXXXXXXXXX:log-group:/aws/lambda/XXXX:log-stream:*"
}
]
}
但后来我发现标记是一种解决方案,并尝试使用相同的标签标记日志组和用户,并尝试在 JSON 策略下。那也没用。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"logs:*"
],
"Effect": "Allow",
"Resource": "*",
"Condition": {
"StringLike": {
"logs:ResourceTag/Team": "Green"
}
}
}
]
}
请有人提出一种方法,我可以只为一个组向一个特定的IAM用户授予访问权限,列出和读取或列出,读写。但该用户不应能够看到其他日志组。
也能够看到其他日志组的列表
这不是您在 AWS 中通常可以执行的操作。通常,IAM 权限不会影响 API 操作的结果。它无法过滤它以仅显示特定内容。这是 AWS 建议使用不同账户隔离工作负载的原因之一,因为 API 调用的范围仅限于一个账户。
在这种情况下,您可以根本不授予访问权限或授予列出所有内容的访问权限。