我最初尝试使用以下链接中的所有 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 调用仅限于一个账户。
在这种情况下,您可以完全不授予访问权限,也可以授予列出所有内容的权限。