

# 用于将流日志发布到 CloudWatch Logs 的 IAM 角色
<a name="flow-logs-iam-role"></a>

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

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

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

****  

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

------

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

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

****  

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

------

建议您使用 `aws:SourceAccount` 和 `aws:SourceArn` 条件键来防止出现[混淆代理人问题](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)。例如，您可以将以下条件块添加到以前的信任策略。源账户是流日志的所有者，并且源 ARN 是流日志 ARN。如果您不知道流日志 ID，则可以用通配符（\$1）替换 ARN 的该部分，然后在创建流日志后更新策略。

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

## 为流日志创建 IAM 角色
<a name="create-flow-logs-role"></a>

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

**为流日志创建 IAM 角色**

1. 打开 IAM 控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**策略**。

1. 选择**创建策略**。

1. 在**创建策略**页面上，执行以下操作：

   1. 选择 **JSON**。

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

   1. 选择**下一步**。

   1. 输入您的策略名称以及可选的描述和标签，然后选择**创建策略**。

1. 在导航窗格中，选择**角色**。

1. 选择**创建角色**。

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

   ```
   "Principal": {
      "Service": "vpc-flow-logs.amazonaws.com"
   },
   ```

1. 在 **Add permissions**（添加权限）页面上，选中您在此过程中先前创建的策略复选框，然后选择 **Next**（下一步）。

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

1. 选择**Create role（创建角色）**。