用于将流日志发布到 CloudWatch Logs 的 IAM 角色 - Amazon Virtual Private Cloud

用于将流日志发布到 CloudWatch Logs 的 IAM 角色

与您的流日志关联的 IAM 角色必须具有足够的权限,以便将流日志发布到 CloudWatch Logs 中的指定日志组。IAM 角色必须属于您的 AWS 账户。

附加到您的 IAM 角色的 IAM policy 必须至少包括以下权限。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "*" } ] }

确保您的角色具有以下信任策略,允许流日志服务代入该角色。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vpc-flow-logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

建议您使用 aws:SourceAccountaws:SourceArn 条件键来防止出现混淆代理人问题。例如,您可以将以下条件块添加到以前的信任策略。源帐户是流日志的所有者,并且源 ARN 是流日志 ARN。如果您不知道流日志 ID,则可以用通配符(*)替换 ARN 的该部分,然后在创建流日志后更新策略。

"Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:ec2:region:account_id:vpc-flow-log/flow-log-id" } }

为流日志创建 IAM 角色

如上所述,您可以更新现有角色。或者,您可以使用以下步骤创建用于流日志的新角色。您将在创建流日志时指定该角色。

为流日志创建 IAM 角色
  1. 打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择策略

  3. 选择创建策略

  4. 创建策略页面上,执行以下操作:

    1. 选择 JSON

    2. 将此窗口的内容替换为此部分开头的权限策略。

    3. 选择下一步

    4. 输入您的策略名称以及可选的描述和标签,然后选择创建策略

  5. 在导航窗格中,选择角色

  6. 选择 Create role(创建角色)。

  7. 对于 Trusted entity type(可信实体类型),选择 Custom trust policy(自定义信任策略)。对于 Custom trust policy(自定义信任策略),将 "Principal": {}, 替换为以下内容,然后选择 Next(下一步)。

    "Principal": { "Service": "vpc-flow-logs.amazonaws.com" },
  8. Add permissions(添加权限)页面上,选中您在此过程中先前创建的策略复选框,然后选择 Next(下一步)。

  9. 输入您的角色的名称,并且可以选择提供描述。

  10. 选择Create role(创建角色)