Identity and Access Management

从aws cloudwatch读取日志时,只使用角色需要什么凭证?

我们想使用aws sdk从ec2机器上读取日志组事件,我们想只使用role_arn而不使用秘密/访问密钥,这个角色需要的最低权限是什么? 目前它与CloudWatchLogsFullAccess和STS:full一起工作,但我们认为它是多余的。

你好!这里有一些最低权限日志读取权限的示例。没有创建和放置操作的示例 3 应该可以满足您的需求:https ://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html




Hi AWS-User-1046823,

您可以使用 Open ID Connect (OIDC) 提供商(如 Amazon Cognito)向您的 SDK 客户端颁发令牌,然后使用 WebIdentity 担任角色。该角色的信任策略如下所示:

"Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::11112222333:oidc-provider/token.actions.githubusercontent.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "token.actions.githubusercontent.com:aud": "audience.value.configured.on.idp"
        }
      }
    }
  ]

在最低权限方面,我将从 AWS 管理的策略 CloudWatchLogsReadOnlyAccess 开始,附加到上面的角色。然后对角色使用IAM 访问分析器策略生成器。将您的用例运行一两天,然后策略生成器将根据 CloudTrail 事件创建一个最低权限策略,您可以使用它来替换 CloudWatchLogsReadOnlyAccess。