AWSSupport-EnableVPCFlowLogs - AWS Systems Manager 自动化运行手册参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWSSupport-EnableVPCFlowLogs

描述

AWSSupport-EnableVPCFlowLogs 运行手册为 AWS 账户中的子网、网络接口和 VPC 创建 Amazon Virtual Private Cloud (Amazon VPC)流日志。如果您为子网或 VPC 创建流日志,则会监控该子网或 Amazon VPC 中的每个网络接口。流日志数据将发布到亚马逊 CloudWatch 日志组或您指定的亚马逊简单存储服务 (Amazon S3) 存储桶。有关流日志的更多信息,请参阅《Amazon VPC 用户指南》中的 VPC 流日志

重要

当您将流日志发布到 Logs 或 Amazon S3 时,会收取已售日志的数据摄取 CloudWatch 和存档费用。有关更多信息,请参阅流日志定价

运行此自动化(控制台)

注意

选择s3作为日志目标时,请确保存储桶策略允许日志传输服务访问存储桶。有关更多信息,请参阅流日志的 Amazon S3 存储桶权限

文档类型

自动化

所有者

Amazon

平台

Linux、macOS、Windows

参数

  • AutomationAssumeRole

    类型:字符串

    描述:(可选)允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称(ARN)。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。

  • DeliverLogsPermissionArn

    类型:字符串

    描述:(可选)允许亚马逊弹性计算云 (Amazon EC2) 将流日志发布到您账户中的日志组的 IAM 角色的 ARN。 CloudWatch 如果您为 LogDestinationType 参数指定了 s3,则不要为该参数提供值。有关更多信息,请参阅 Amazon VPC 用户指南中的向 CloudWatch 日志发布流日志。

  • LogDestinationARN

    类型:字符串

    描述:(可选)要向其发布流日志数据的资源的 ARN。如果cloud-watch-logsLogDestinationType参数指定,请提供要向其发布流 CloudWatch 日志数据的日志组的 ARN。或者,改用 LogGroupName。如果为 LogDestinationType 参数指定了 s3,则必须为此参数指定您要向其发布流日志数据的 Amazon S3 存储桶的 ARN。您还可以指定存储桶中的文件夹。

    重要

    选择s3作为时,LogDestinationType您应确保所选存储段遵循 Amazon S3 存储桶安全最佳实践,并遵守您所在组织和地理区域的数据隐私法。

  • LogDestinationType

    类型:字符串

    有效值: cloud-watch-logs | s3

    描述:(必需)确定流日志数据的发布位置。如果将 LogDestinationType 指定为 s3,则不要指定 DeliverLogsPermissionArnLogGroupName

  • LogFormat

    类型:字符串

    描述:(可选)要包含在流日志中的字段,以及它们在记录中出现的顺序。有关可用字段的列表,请参阅《Amazon VPC 用户指南》中的流日志记录。如果不为该参数指定值,则使用默认的格式创建流日志。如果指定此参数,则必须至少指定一个字段。

  • LogGroupName

    类型:字符串

    描述:(可选)发布流 CloudWatch 日志数据的日志日志组的名称。如果您为 LogDestinationType 参数指定了 s3,则不要为该参数提供值。

  • ResourceIds

    类型: StringList

    描述:(必需)要为其创建流日志的子网、弹性网络接口或 VPC 的 ID 列表(以逗号分隔)。

  • TrafficType

    类型:字符串

    有效值:ACCEPT | REJECT | ALL

    描述:(必需)要记录的流量的类型。您可以记录资源接受或拒绝的流量,或者记录所有流量。

所需的 IAM 权限

AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。

  • ssm:StartAutomationExecution

  • ssm:GetAutomationExecution

  • ec2:CreateFlowLogs

  • ec2:DeleteFlowLogs

  • ec2:DescribeFlowLogs

  • iam:AttachRolePolicy

  • iam:CreateRole

  • iam:CreatePolicy

  • iam:DeletePolicy

  • iam:DeleteRole

  • iam:DeleteRolePolicy

  • iam:GetPolicy

  • iam:GetRole

  • iam:TagRole

  • iam:PassRole

  • iam:PutRolePolicy

  • iam:UpdateRole

  • logs:CreateLogDelivery

  • logs:CreateLogGroup

  • logs:DeleteLogDelivery

  • logs:DeleteLogGroup

  • logs:DescribeLogGroups

  • logs:DescribeLogStreams

  • s3:GetBucketLocation

  • s3:GetBucketAcl

  • s3:GetBucketPublicAccessBlock

  • s3:GetBucketPolicyStatus

  • s3:GetBucketAcl

  • s3:ListBucket

  • s3:PutObject

政策示例

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SSM Execution Permissions", "Effect": "Allow", "Action": [ "ssm:StartAutomationExecution", "ssm:GetAutomationExecution" ], "Resource": "*" }, { "Sid": "EC2 FlowLogs Permissions", "Effect": "Allow", "Action": [ "ec2:CreateFlowLogs", "ec2:DeleteFlowLogs", "ec2:DescribeFlowLogs" ], "Resource": "arn:{partition}:ec2:{region}:{account-id}:{instance|subnet|vpc|transit-gateway|transit-gateway-attachment}/{resource ID}" }, { "Sid": "IAM CreateRole Permissions", "Effect": "Allow", "Action": [ "iam:AttachRolePolicy", "iam:CreateRole", "iam:CreatePolicy", "iam:DeletePolicy", "iam:DeleteRole", "iam:DeleteRolePolicy", "iam:GetPolicy", "iam:GetRole", "iam:TagRole", "iam:PassRole", "iam:PutRolePolicy", "iam:UpdateRole" ], "Resource": [ "arn:{partition}:iam::{account-id}:role/{role name}", "arn:{partition}:iam::{account-id}:role/AWSSupportCreateFlowLogsRole" ] }, { "Sid": "CloudWatch Logs Permissions", "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:DeleteLogDelivery", "logs:DeleteLogGroup", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": [ "arn:{partition}:logs:{region}:{account-id}:log-group:{log group name}", "arn:{partition}:logs:{region}:{account-id}:log-group:{log group name}:*" ] }, { "Sid": "S3 Permissions", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketPublicAccessBlock", "s3:GetAccountPublicAccessBlock", "s3:GetBucketPolicyStatus", "s3:GetBucketAcl", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:{partition}:s3:::{bucket name}", "arn:{partition}:s3:::{bucket name}/*" ] } ] }

文档步骤

  • aws:branch - 根据为 LogDestinationType 参数指定的值进行分支。

  • aws:executeScript-检查目标亚马逊简单存储服务 (Amazon S3) Simple Storage Service 是否有可能授予对其对象的读取public写入权限。

  • aws:executeScript - 在没有为 LogDestinationARN 参数指定任何值但为 LogDestinationType 参数指定了 cloud-watch-logs 时创建一个日志组值。

  • aws:executeScript - 根据运行手册参数中指定的值创建流日志。