

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

# `AWSSupport-EnableVPCFlowLogs`
<a name="automation-aws-enable-vpc-flowlogs"></a>

 **描述** 

 该`AWSSupport-EnableVPCFlowLogs `运行手册为子网、网络接口以及您的子网、网络接口创建亚马逊虚拟私有云（Amazon VPC）流日志。 VPCs AWS 账户如果您为子网或 VPC 创建流日志，则会监控该子网或 Amazon VPC 中的每个网络接口。流日志数据将发布到亚马逊 CloudWatch 日志组或您指定的亚马逊简单存储服务 (Amazon S3) 存储桶。有关流日志的更多信息，请参阅*《Amazon VPC 用户指南》*中的 [VPC 流日志](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)。

**重要**  
 当您将流日志发布到 Logs 或 Amazon S3 时，会收取已售日志的数据摄取 CloudWatch 和存档费用。有关更多信息，请参阅[流日志定价](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-logs-pricing) 

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-EnableVPCFlowLogs) 

**注意**  
选择`s3`作为日志目标时，请确保存储桶策略允许日志传输服务访问存储桶。有关更多信息，请参阅[流日志的 Amazon S3 存储桶权限](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs-s3.html#flow-logs-s3-permissions)

**文档类型**

自动化

**所有者**

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 日志发布流](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs-cwl.html)日志。
+ LogDestinationARN

  类型：字符串

   描述：（可选）要向其发布流日志数据的资源的 ARN。如果`cloud-watch-logs`为`LogDestinationType`参数指定，请提供要向其发布流 CloudWatch 日志数据的日志组的 ARN。或者，改用 `LogGroupName`。如果为 `LogDestinationType` 参数指定了 `s3`，则必须为此参数指定您要向其发布流日志数据的 Amazon S3 存储桶的 ARN。您还可以指定存储桶中的文件夹。
**重要**  
 选择`s3`作为时，`LogDestinationType`您应确保所选存储桶遵循 [Amazon S3 存储桶安全最佳实践](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)，并遵守您所在组织和地理区域的数据隐私法。
+ LogDestinationType

  类型：字符串

  有效值： cloud-watch-logs\$1 s3

   描述：（必需）确定流日志数据的发布位置。如果将 `LogDestinationType` 指定为 `s3`，则不要指定 `DeliverLogsPermissionArn` 或 `LogGroupName`。
+ LogFormat

  类型：字符串

   描述：（可选）要包含在流日志中的字段，以及它们在记录中出现的顺序。有关可用字段的列表，请参阅*《Amazon VPC 用户指南》*中的[流日志记录](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records)。如果不为该参数指定值，则使用默认的格式创建流日志。如果指定此参数，则必须至少指定一个字段。
+ LogGroupName

  类型：字符串

   描述：（可选）发布流 CloudWatch 日志数据的日志日志组的名称。如果您为 `LogDestinationType` 参数指定了 `s3`，则不要为该参数提供值。
+ ResourceIds

  类型： StringList

  描述：（必填）要 IDs 为其创建流日志的子网、弹性网络接口或 VPC 的以逗号分隔的列表。
+ TrafficType

  类型：字符串

  有效值：ACCEPT \$1 REJECT \$1 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` 

政策示例

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "SSMExecutionPermissions",
            "Effect": "Allow",
            "Action": [
                "ssm:StartAutomationExecution",
                "ssm:GetAutomationExecution"
            ],
            "Resource": "*"
        },
        {
            "Sid": "EC2FlowLogsPermissions",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateFlowLogs",
                "ec2:DeleteFlowLogs",
                "ec2:DescribeFlowLogs"
            ],
            "Resource": [
            "arn:aws:ec2:us-east-1:111122223333:instance/resource-id",
            "arn:aws:ec2:us-east-1:111122223333:subnet/resource-id",
            "arn:aws:ec2:us-east-1:111122223333:vpc/resource-id",
            "arn:aws:ec2:us-east-1:111122223333:transit-gateway/resource-id",
            "arn:aws:ec2:us-east-1:111122223333:transit-gateway-attachment/resource-id"
          ]
        },
        {
            "Sid": "IAMCreateRolePermissions",
            "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:aws:iam::111122223333:role/role-name",
                "arn:aws:iam::111122223333:role/AWSSupportCreateFlowLogsRole"
            ]
        },
        {
            "Sid": "CloudWatchLogsPermissions",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:CreateLogGroup",
                "logs:DeleteLogDelivery",
                "logs:DeleteLogGroup",
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:111122223333:log-group:log-group-name",
                "arn:aws:logs:us-east-1:111122223333:log-group:log-group-name:*"
            ]
        },
        {
            "Sid": "S3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetBucketPublicAccessBlock",
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketAcl",
                "s3:ListBucket",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

 **文档步骤** 
+  `aws:branch` - 根据为 `LogDestinationType` 参数指定的值进行分支。
+  `aws:executeScript`-检查目标亚马逊简单存储服务 (Amazon S3) Simple Storage Service 是否有可能**授予对其**对象的读取**或**`public`写入权限。
+  `aws:executeScript` - 在没有为 `LogDestinationARN` 参数指定任何值但为 `LogDestinationType` 参数指定了 `cloud-watch-logs` 时创建一个日志组值。
+  `aws:executeScript` - 根据运行手册参数中指定的值创建流日志。