IAM 用户仅对一个特定日志组进行 Cloud Watch 日志访问

Raj*_*nth 5 amazon-web-services amazon-iam amazon-cloudwatch amazon-cloudwatchlogs

我最初尝试使用以下链接中的所有 json 策略。 https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html#customer-management-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:*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但后来我找到了标记作为解决方案,并尝试使用相同的标记标记日志组和用户,并尝试了以下 JSON 策略。那也没用。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "logs:*"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "logs:ResourceTag/Team": "Green"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

请有人建议一种方法,让我可以向一个特定的 IAM 用户授予仅一个组的访问权限,即列出和读取或列出、读取和写入。但该用户不应该能够看到其他日志组。

Far*_*hat 0

但它也可以看到其他日志组的列表

这不是您通常可以在 AWS 中执行的操作。一般来说,IAM 权限不会影响 API 操作的结果。它无法过滤它以仅显示特定的内容。这就是 AWS 建议使用不同账户隔离工作负载的原因之一,因为 API 调用仅限于一个账户。

在这种情况下,您可以根本不授予访问权限,也可以授予列出所有内容的访问权限。