使用 boto3 对 Amazon Cloudwatch 进行只读访问

问题描述 投票:0回答:1

我对 Amazon Cloudwatch 具有只读访问权限。我有 aws_access_key_id 和 aws_secret_access_key 凭证。我尝试运行下面的代码,但它抛出 AccessDenied 错误。我做错了什么?另外,我可以通过对 Amazon Cloudwatch 的只读访问来探索哪些服务或方法? 代码:

import boto3

cloudwatch = boto3.client('cloudwatch')
# List alarms of insufficient data through the pagination interface
paginator = cloudwatch.get_paginator('describe_alarms')
for response in paginator.paginate(StateValue='INSUFFICIENT_DATA'):
    print(response['MetricAlarms'])

错误:

botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the DescribeAlarms operation: User: arn:aws:iam::996323886532:user/XxxXx is not authorized to perform: cloudwatch:DescribeAlarms on resource: arn:aws:cloudwatch:eu-central-1:996323886532:alarm:* because no identity-based policy allows the cloudwatch:DescribeAlarms action
amazon-web-services amazon-s3 amazon-ec2 boto3 amazon-cloudwatch
1个回答
0
投票

错误消息是不言自明的。您在附加的政策中没有

cloudwatch:DescribeAlarms
权限。

关于您可以执行哪些操作,如果您使用托管策略cloudwatch 只读,请检查此链接中列出的相应权限。

例如,aws cloudwatch readOnly 策略具有

cloudwatch:List*"
,因此您可以执行 ListMetrics 或 ListMetricStreams。

如果您使用自定义策略/角色,您可以检查账户的 IAM 部分中的权限。

© www.soinside.com 2019 - 2024. All rights reserved.